Skip to content
← Back to blog

A year of vibe coding with Claude Code

A year ago I didn't trust AI to write my code. Now I let it do almost everything. What changed, what I gained, what I lost, and how I work now.

A year ago, I didn’t trust AI to write my code. Now, I let it do almost everything.

When I first started vibe coding with Claude Code, I was skeptical. AI-generated code had issues: mistakes, odd logic, and that unmistakable “code smell.” I’d write my own code and use the AI only for reviews.

But over the past year, that changed. Through rigorous testing, I built trust in the agent. Now, it handles the bulk of my coding while I act as prompt-engineer, decision-maker, and reviewer.

The benefits

Claude Code has improved my planning and system design. Instead of jumping right into implementation, I now map out each feature or bug fix before any code is written.

I design the system alongside the agent, defining contracts, data models, and how data flows through it. This is where I spend most of my time “developing.” Once the contracts, policies, and data models are set, implementation follows.

I juggle multiple parts of a feature, or multiple projects, in parallel.

My delivery speed has increased by 5x or more.

The trade-offs

But this shift comes with trade-offs. My hands-on coding abilities have atrophied. Sometimes I see a syntax I barely recognize at first. Moving from coder to overseer is a real transition.

There are also new constraints. The agent often presents binary choices, option A or option B, when neither is quite right. If I rush past these, I end up on the wrong path and have to backtrack.

So I lean heavily on tests. I review tests more than code, following a strict, iterative TDD approach. Solid test coverage gives me more confidence than code I wrote by hand.

What I miss, what I don’t

I sometimes miss the flow of coding myself. But thinking at the level of systems and decisions, rather than syntax and semicolons, is compelling in its own way. I’m shipping more, thinking more, and tackling problems I wouldn’t have had time for a year ago.


If you want to dig into the actual technical process I follow once coding starts — commit discipline, how I review, how I keep the agent honest — that’s in the follow-up post: The TDD-with-agents rule.