16 May 2026 · 6 min read

My AI dev workflow timeline — from cancelling Cursor to multi-model routing

A chronology of how I started using Claude Code: cancelling Cursor in December 2024, discovering it through TLDR, and what eleven months of daily use turned the workflow into.

My AI dev workflow timeline — from cancelling Cursor to multi-model routing
Disclosure: This post contains affiliate links. We earn commissions when you shop through the links below.

This post is a chronology, not a pitch. People ask me often enough how I started using Claude Code and what the workflow looks like now, so it's worth writing down once.

If you want the philosophy, my Claude Code workflow post covers how I use it day-to-day. This one is the chronology behind that workflow.

A note on timing: the AI tooling space moves fast. The tools, models, and setup here are a snapshot of where things were at each point, not a fixed recipe, and some details will date quickly. I keep these posts updated as my workflow shifts.

THE ARC

From cancelling Cursor to multi-model routing.

  1. Dec 1, 2024

    Cancelled Cursor, moved to Zed

    No remote SSH in Cursor at the time. Zed had it baked in. Switched the same day.

  2. Mar 24, 2025

    Personal dev VPS comes online

    Within 24 hours a cryptominer was running. Postgres in Docker, published straight past UFW.

  3. Apr 21, 2025

    Claude Code through TLDR

    Saved the link. Free tier. Tried it on a personal repo and closed the terminal.

  4. May 20, 2025

    The SDK lands

    The tool stops being a chat assistant and becomes a programmable agent.

  5. Jun 20, 2025

    A Bangkok Starbucks conversation

    Watched a 22-year-old vibe-code with Claude + MCP + n8n. Caught the pace gap.

  6. Jun 22, 2025

    First paid month

    The point I committed to the tool.

  7. Jul 2025 → Mar 2026

    Eight months of stable Pro tier

    The workhorse phase. Skills, sub-agents, MCP all settled.

  8. Apr–May 2026

    Usage doubles

    The cost story flips from "tool I pay for" to "tool I build with".

I'd tried Cursor a few times. Useful for what it did, but tied to local development. Most of my client work that year happened on remote machines over SSH, and Cursor didn't support remote SSH the way VS Code did. By late November I was already reading about Zed — remote SSH baked in, not Electron, fast. On December 1 I cancelled the Cursor Pro plan and moved over.

That's the first dated entry in the daily-note trail. It's why "December 2024" is the start of the timeline rather than something more vague like "early 2025".

In late March I spun up a DigitalOcean droplet, connected it to my Tailscale network, and started using it as a personal dev box. I was running Postgres in a Docker container, and within roughly 24 hours of bringing it online the load average was strange. A process I didn't recognise was pegging the CPU. The catch that bit me is one a lot of people hit: Docker publishes container ports by writing iptables rules directly, which bypasses UFW. So even with firewall rules in place, binding Postgres to 0.0.0.0 had quietly left it open on the public internet. Someone found it, brute-forced in, and the box was mining cryptocurrency on my behalf.

I'm writing the full version of this story as a separate post (the locked-down VPS upgrade path that came out of it) so I won't relitigate it here. The relevant beat for this timeline is that the security incident drove the Tailscale-only lockdown that made the box safe enough to run AI agents on, which mattered later when Claude Code arrived.

I subscribe to the TLDR developer newsletter. On April 21 they ran a short blurb about Claude Code. I clicked through, read the docs, ran the install command, tried it on a small refactor in a personal repo, and then closed the terminal and didn't think about it again for about a month.

That gap is honest. I wasn't an early evangelist. I wasn't even an enthusiast. I tried the tool, found it interesting, and went back to my normal workflow. Most adoption arcs look like this and most people skip past the indifferent middle when they retell them.

On May 20 Anthropic announced the Claude Code SDK. That was the moment I went from "interesting tool" to "I should pay attention to this". The SDK reframed Claude Code from a chat assistant into a programmable agent: filesystem access, command execution, custom skills, the ability to extend it for specific workflows.

I still didn't pay. But I started using it more, and the daily-note entries from late May read differently — more "Claude did X today" and less "I was thinking about trying Claude for X".

I was in Bangkok in mid-June. On the morning of June 20 I was working from a Starbucks and got talking to the person at the next table. He was twenty-two, vibe-coding aggressively: Claude Code in one terminal, MCP servers in another, an n8n outbound rig firing off in the background. He'd been doing this full-time for months, building a small product with a workflow that looked completely different from anything I'd seen at agencies.

The pace was what stuck. He treated the agent as the default tool and let it run in parallel across multiple problems. I'd been treating it as an interesting toy I'd get round to using properly.

Two days later, on June 22, I started paying for the Pro tier. The subscription has been continuous from that date.

I don't think the catalyst was anything the person in Bangkok said. It was watching someone who took the tool more seriously than I did, and noticing the gap.

For the next eight months the setup stayed stable. That's the phase where the workflow consolidated: I built out custom skills, settled on a small set of MCP servers, started writing posts about the setup, and integrated Claude Code into client engagements.

If you want the operational details from this phase, they're in the Claude Code workflow post and the skills setup post. What matters for this timeline is that for eight months the tool didn't change much. I changed how I used it, but the platform stayed put.

In April the way I used the tool changed. Nothing about Claude Code itself changed; what changed was that I started building visualisation components and editorial atoms through it (the components rendering this very post are an example) and it flipped from "tool I pay for" to "tool I build with".

When an AI tool stops being something you consume and starts being something you produce with, it stops feeling like a cost.

The honest summary is that "AI dev workflow" is now a routing problem. Claude Opus and Sonnet for the bulk of the work. Haiku for fast triage. OpenAI Codex for second opinions on the same diff. OpenCode CLI when I want a different harness. z.ai (GLM) for batch tasks where cost dominates. GitHub Copilot handles inline completion, the one tool I have stuck with for years. Planning stays in markdown workstreams rather than Linear or an MCP integration, and the HTML session visualisations are generated straight from those.

Different models for different shapes of work. Different harnesses for different session lengths. The skill is choosing the right one for the task in front of you.

What this isn't

A few things this post is deliberately not.

It's not a recommendation to switch to Claude Code. It's a chronology of how I got there. Your starting point and constraints will be different.

It's not a "Claude Code did everything" pitch. There's a real journaling gap between April (free-tier discovery) and June (first payment) that I haven't filled in cleanly even now. The remote-versus-local question — running Claude Code on the dev VPS versus on the laptop — is unresolved enough that I'm writing a separate post about it.

It's not the most important development of the last two years for the industry. It might be for me individually. The honest distinction matters.

If you're another developer reading it, the version of this story that matters for you is probably the one you're already six months into and haven't bothered to write down yet. Write it down. The chronology is the post.

James Donnelly, freelance developer in Manchester

The pitch

I write the code, talk to your team, and ship what we agreed. No agencies. No PMs. No surprises.

James Donnelly

Freelance developer · Manchester