Why My Coffee Maker Led Me to Build an AI Task Assistant (Part 1)

• by Tobias Schäfer • 5 min read

Why My Coffee Maker Led Me to Build an AI Task Assistant (Part 1)

It feels like every time I walk into my kitchen and want to get a quick cup of coffee, my coffee maker needs something. “Hey, my beans are empty,” “I need water to brew, fill me up,” “The discard bowl is full, clean it or I’ll get filthy.” Something always needs to be done.

Last week, I had a deadline approaching and just wanted a fresh coffee so I could get on with my work. But no—the machine needed all three of its issues solved first.

While waiting for the water tank to fill up, I wondered: are the tasks I have to do here really so different from the rest of life? Why does this annoy me more than other regular tasks I do on a daily or weekly basis?

When everything was done and I got back to my desk, I realized that the same thing happens in my work. “Look at this email and do something with it,” “A new ticket was assigned to you,” “Incoming call from boss.” Just like the coffee maker, my work environment constantly demands attention before I can do what I actually sat down to do. I have to handle all these interruptions before focusing on my real work: the programming and projects that actually move things forward.

What Can I Do About It?

For the coffee maker, I can’t do much in the short term. Better, more independent machines exist, but I have no room in the kitchen for another appliance.

But while thinking about my daily routines and my desire to automate them, I came across a rather simple idea that had been simmering in my head for a while.

The Problem

Work in an agency can be quite unpredictable. Long projects need urgent care, but smaller everyday tasks, last-minute changes, and emergencies keep interrupting. Colleagues and stakeholders constantly need information or guidance. A lot happens in 8 hours, and the biggest casualty is my own schedule—I lose oversight of what’s actually important right now.

In times like that, I struggle with losing track of all my todos and the important communication surrounding them.

My Solution

In my line of work, AI takes on growing importance every day. A quick Claude Code session to optimize a query here, a question to ChatGPT there to better understand an email. With all these capabilities growing, I started thinking about how to use them to my advantage.

My idea: create a simple assistant that can read my tickets and emails, suggest timelines, and—most importantly—keep track of changes, my thoughts, and the relationships between tasks, customers, stakeholders, and the ever-changing work landscape.

My requirements were:

  • Markdown-based: So I can make manual changes to all content and put it on Git for easy transfer
  • Complete control: Local LLMs for sensitive data, internal notes, etc.
  • Easy to use: I want to send a quick message to the assistant and get my current tasks, important notes, or schedule advice

Implementation

I used Claude Code to create a simple project structure for all these files and notes, along with simple scripts to download and convert my open tickets from our ticket system’s API and load my emails using IMAP.

After everything was created and tested, I switched to a local LLM—I used the qwen3:8b model, which was the best performing model (timing-wise) on my machine—with Claude Router.

Why Claude Router?

I use Claude Router because I want the flexibility to switch between Anthropic’s models and others depending on the task. For daily programming or personal projects that don’t require data to be local or private, I can use cloud-based models. But for work data, I need everything to stay local.

You might wonder why this matters—surely there won’t be anything compromising in the data? But our customers expect their data not to be shared outside our premises. Sometimes credentials even get sent to us via tickets (this shouldn’t happen, but it does), and in these cases, I don’t want to be responsible for that data being sent somewhere and potentially used in training data or, even worse, hallucinated by an LLM later on.

I don’t remember exactly when or where, but I recall seeing a post about ChatGPT sending analysis of medical charts to a user who hadn’t submitted them. There’s no solid proof those were real or that the person described even existed, but it seemed that way. I really don’t want to be responsible for a privacy error like that.

That’s the simple reason why I took this approach.

Results

After importing my latest emails and current open tickets and answering a bunch of questions in the terminal, my assistant was ready.

My first prompt: “What should I focus on today?”

The answer:

Focus on these 5 tasks today: [list of the tasks] The customer has been waiting a long time, and these seem doable in one working day.

It was a little off, but overall it worked.

Over the next few days, I added new features like an “end day” command that finalizes all daily tasks, answers questions about unfinished work, and plans the next day. I started noticing improved focus on my work and more clarity about schedules, which made me more productive overall.

Then came Thursday—the “big test.” Many things went wrong and I needed to focus on three things at the same time. I told my assistant about it, and we came up with a plan to schedule everything, split it into smaller tasks, and determine how to communicate to customers about how we’d proceed.

And it worked! Like a charm, in fact. By the end of the week, all tasks were neatly packaged and scheduled, everyone was on the same page, and most importantly, I knew what to work on to get the fastest results without hurting other projects—something I’d always struggled with and previously solved with todo lists and long searches through them.

Outlook

In the next part, I’ll share the details: the scripts the AI and I wrote, and how you can use this in your daily workflow as well.

Until then, take your time, take a deep breath, and get coding!