← Back to Writings

Rethinking my Software Stack

I've always spent more time picking software than most people. For years that was just a quirk of mine, the kind of thing my wife would tease me about when I spent another evening comparing note-taking apps. Since AI started to take over my digital life, it has stopped being a quirk and turned into an actual problem.

There is more software available than ever, all of it is moving fast, and the tools I've trusted for years are suddenly being challenged by tools I hadn't even heard of six months ago. The volume alone is exhausting. I'm picking software for a completely different reason now than I used to.

I used to choose tools based on how they felt to use, how nicely they synced across my devices, how well they fit into my existing setup. Those things are all still nice. But the question I lead with now is whether the tool I'm considering can give my AI the right context.

Everything else has become secondary. If a tool is beautiful, fast, and beloved, but it keeps my data away from my AI, it's out. If a tool is ugly and a bit irritating but pipes my context straight into the assistant doing real work for me, it's in. That sounds like a small shift on paper. In practice, it has reshaped almost every choice in my digital life over the last few months. This post is the story of that reshaping.

Context is the product

Modern AI is essentially a context engine with a language model strapped on top. The model itself is mostly a commodity at this point - they're all good enough for what I need them to do. The real differentiator is whether the AI can actually see my world. Which got me thinking about where my world actually lives.

When I sat down to audit it, I realized it lives in three important places. My email, which is Gmail, and which thankfully integrates with everything. My notes, which mostly live in Notion these days. And my calendar, which until recently lived on Apple's servers - and which turned out to be the first real problem I had to solve.

The calendar migration that started it all

I loved Apple Calendar for a long time. The app is great, family sharing works, the integration with Reminders and the rest of the Apple stuff is seamless. For years I had no reason to leave it. And then I asked an AI assistant to organize my week for me, and discovered I couldn't.

Apple's calendar is essentially a walled garden. Almost nothing outside of Apple's own apps can read or write to it in any useful way, which means any AI assistant I picked would simply be blind to my schedule. That was the first time it really sank in for me how far my own criteria had shifted. The thing that had always been a strength - Apple's tight, beautiful ecosystem - had become the exact thing standing in my way.

So I moved the whole family to Google Calendar. The actual mechanics were almost embarrassingly easy: export an ICS file from each Apple Calendar, import it into Google Calendar, add the Google account back into the Apple Calendar app on my Mac and iPhone. From my day-to-day perspective, nothing visible changed. Same app on my phone, same views, same notifications. Underneath, my calendar now lives in a place every AI tool I care about can read from and write to.

That was the first real-life decision I made purely on the new criterion. It will not be the last.

Why no AI assistant wins outright

Once the context layer was sorted, the obvious next question was which AI gets to sit on top of it. I went about that the way I tend to go about most things: I wrote down what I actually cared about, and then I held each option up against the same short list. Integration breadth. Voice. Coding. EU availability. Family sharing. And how productized the thing actually feels, which sounds like a soft factor until you've spent a weekend trying to keep a self-hosted agent alive.

Every contender failed at least one of these, which is itself a useful piece of information.

Gemini

Gemini was the most attractive option on paper. The models are strong, the entire Google ecosystem sits behind it, and the AI subscription comes with family sharing - meaning I'd pay once and the whole family would benefit. That last part is a much bigger deal than it sounds when you're trying to make a stack work for more than one person.

Two things ruled it out, at least for now. The first is integrations. Gemini talks beautifully to Google's own services and to almost nothing else. MCP support is supposed to land later this year, but "later this year" isn't a feature I can plan around. The second is that I live in the EU. The personal agent they announced at Google I/O is US-only at launch, and Google's track record under the Digital Markets Act is to roll things out late here, if at all. I'm still bullish on Gemini long-term, especially once it shows up properly inside their smart speakers. I just can't bet my daily workflow on a roadmap that may or may not reach my country.

ChatGPT

ChatGPT is everybody's default, and not without reason. The plugin ecosystem is solid, voice input is great, and since GPT-5.4 it has been my coding AI of choice. With 5.5 it only got better.

Where it falls down for me is exactly the same place Gemini did. My task manager is Todoist. Todoist ships an MCP server and Claude offers a pre-packaged integration on top of it, and the same simply doesn't exist for ChatGPT. I could add the MCP server manually, but that forces me into developer mode, and developer mode comes with a list of downsides I don't want to live with every day. So Codex stays my coding AI, and I kept looking.

Self-hosted agents

The most exciting category on paper, and the most disappointing in practice. There are platforms like OpenClaw and Hermes that can integrate with everything, can be customized to any workflow, and on paper would tick every box on my list. I've tried multiple of them. I'm genuinely impressed by what's possible.

What I had to admit to myself, eventually, is that I don't want to host my own AI. I don't want to manage it. I don't want to keep it alive on a Sunday evening when something breaks. These platforms are not products, they are kits - and the experience around a tool matters as much as the tool itself. Maybe more, when the tool is supposed to be sitting at the center of your day.

Notion AI

This one was closer than I expected, once I sat down and actually evaluated it against my own criteria. I already live in Notion. I've onboarded my wife to Notion too, which means we can collaborate on content and share agents - and nobody else offers anything like that for families today.

What kept it out of the main slot is two things. Online research is still weaker than the dedicated AI tools, and skills don't yet fold naturally into a conversation - I still have to invoke them by name, which breaks my flow every single time I try to actually get something done. Both of these feel fixable. The day they are fixed, I'll happily revisit this.

Claude

Which leaves me with Claude. I'll be honest about my history with it: Claude was always a favorite, then I fell out of love with it for a while, and now I'm back. Opus 4.7 felt like a real step backwards when it launched, probably a casualty of the scaling pressure Anthropic was under as demand exploded. They've quietly recovered, and the model is ok again.

I also don't love the way Anthropic talks about AI in the world. The framing leans hard into job loss, security risk, and downside scenarios. I understand the institutional reasons for that posture. It's still not the voice I particularly want narrating my daily plans.

And yet. Claude wins, by some distance, when I hold it up against my criteria. The voice integration they shipped last week finally let me talk to it directly inside the Claude app, without third-party tools in the middle, and it actually understands me. It has MCP support for everything that exposes one, a skills system on top, and it lives on every device I use. It's the only tool that ticks the criteria I actually care about, even with the asterisks attached. So that's what I'm using.

A day in the life: what "daily driver" actually means

The word "assistant" gets thrown around so much that it has more or less lost its meaning. So let me make it concrete with something that happened today.

I'm taking part in a sports event next weekend. I had a placeholder in my calendar - I knew the day, I didn't know the start time, and I hadn't bothered to look up the logistics yet. The old version of me would have spent five minutes jumping between Gmail, Google Maps, and the calendar app. The current version of me opened Claude and said one sentence.

Claude looked up the event online, found my start time, and moved the placeholder in my calendar to the correct slot. Then it checked the drive time from my home to the venue, added a block for the drive there before the event, and another block for the drive back afterwards. By the time I'd finished the small task I'd switched to, my calendar reflected reality.

That's the entire story. And that's exactly the point.

This is what "daily driver" means to me. Not a chatbot I open when I have a question, but an assistant that sits on top of my actual context - calendar, notes, tasks, email - and stitches small useful sequences together without me having to do the stitching. A year ago I couldn't have told that story with any tool I owned. Now I tell a version of it most days. That's the shift I've been chasing, and that's the criterion I'm choosing software against from now on.

The stack I landed on

Apply the criterion consistently and this is what falls out.

Notion and Notion AI keep their place for notes and collaboration, especially for everything I share with my wife. Claude is my daily driver, talking to Notion, Todoist, Gmail, and Google Calendar over MCP. Todoist is more important than ever now that I'm building software again - its Kanban boards have been the only reliable way I've found to keep myself from losing the plot on ideas and projects. And ChatGPT Codex remains my coding AI, because Claude's coding still feels like it's a year behind GPT-5.5, and I'm not going to pretend otherwise.

This is a snapshot in time. I have never lived through a stretch where my tool choices changed this often, and I don't expect that to slow down. Some week soon, somebody will ship an integration that flips half of these decisions on their head, and I'll write that post when it does. That's the world we're in. Honestly, I kind of enjoy it.

The gap: ambient computing still isn't there

The honest weakness in this whole setup is voice in the home.

I have HomePods in the living room and the bathroom. They're great for music and the occasional timer. They know nothing about Notion, Todoist, or anything else in my stack. They're also not really AI in any modern sense of the word, no matter how Apple wants to spin it. That may change later this year. I'll believe it when I see it.

I tried Amazon's new Echo devices with displays, running Alexa Plus, hoping they would close the gap. As a glimpse of what ambient AI could feel like, they're promising. As a product I'd rely on today, they aren't there - the software is buggy, the integrations are limited, and the edges are still clunky. What I actually want from Amazon is openness: let the thing talk to MCP servers, let me build my own skills, let developers ship real apps for it. None of that exists yet.

My favorite absurd example is in my kitchen. I have a beautiful display sitting on top of a smart speaker, and to watch a YouTube video on it I have to open a browser. In 2026. That has to change before the smart speaker becomes a real part of any AI-first stack.

Until then, my stack lives on my laptop and in my pocket. Which is fine. It's also clearly not the end state — and that's the part I'm most curious to watch.