Whispering to the Machine: A Snapshot of AI-Powered Development in 2025

I had a conversation with another developer recently that left me feeling energized. We were kicking off a new project, and as we started talking about process, it became clear we were both arriving at similar conclusions about how to actually work with AI in software development. It was one of those moments that validates the path you’ve been on — making you realize you’re not just shouting into the void.

The landscape is evolving at a breakneck pace. It’s no exaggeration to say it changes daily. This year alone, I’ve worked with two major new series of models from Anthropic, and the difference between them is palpable. What works today might be obsolete tomorrow. That’s why I feel it’s so important to share these experiences — to learn and evolve in public. Consider this a snapshot, a journal entry of what my process for collaborating with agentic AI looked like in the summer of 2025.

My thinking was crystallized by a side project: a pretty big app I’d built years ago, running on an old version of Rails with a Bootstrap 3 front-end. It was the kind of technical debt you just learn to live with. But as AI tools grew more powerful, I started to think, “I could actually tackle this now.” That project — migrating the app to a modern stack using Tailwind CSS and daisyUI — became my crucible for figuring out a workflow that works.

The process I landed on boils down to five core ideas:


1. Plan Meticulously

Before writing a single line of code — or asking an AI to — I invest significant time crafting a plan. A detailed document that outlines the objective, the approach, how we’re going to leverage AI, and what kind of prompting we’ll need. You can’t just tell the AI to “go migrate the app.” You have to give it a deliberate, audited plan to execute against. It’s the difference between a helpful assistant and a chaotic mess.

2. Work Iteratively

With a plan in hand, break it down into the smallest possible chunks. The goal is small, atomic git commits that are easy to review and, more importantly, easy to understand. This iterative approach acts as a series of checkpoints. It keeps the project from spiraling out of control and allows for course correction without unraveling a massive, tangled set of changes.

3. Use the Right Tool for the Job

Not all models are created equal. During my migration project, I was stuck on a particularly tricky asset pipeline issue for hours. I was using a powerful, capable model, but it was caught in the same loops I was. On a whim, I switched to Claude Opus, which people had said was exceptional at complex problem-solving. It figured out the issue in about thirty minutes. The lesson: develop an intuition for which model to bring in for a specific kind of problem. Have a toolbox, not a single hammer.

4. Embrace Collaboration

I’ve started to feel like a “model whisperer.” It’s more than giving commands; it’s about navigating the quirks of your new collaborator. Some models get stuck in apologetic loops. Others are confidently wrong. You’re in a partnership with a brilliant but sometimes fickle collaborator. You have to guide it, supervise its work, and be ready to jump in. The agentic features in tools like Cursor are powerful, but they work best when you’re right there with them, not when you set it and forget it.

5. Don’t Be Afraid to Start Fresh

This was my biggest breakthrough. My initial approach was to have the AI refactor views in-place. It was a disaster — a rat’s nest of legacy styles, broken JavaScript, and endless bugs. Then we switched tactics: the AI would study the old file, then generate a brand new file from scratch. The difference was night and day. Sure, it would sometimes forget functionality, and I’d have to add things back piecemeal, but that was infinitely easier than debugging hundreds of errors from in-place refactoring.


Where This Leaves Us

This is a workflow built on planning, patience, and partnership. It’s about leveraging these tools not as replacements, but as powerful collaborators that, with the right guidance, can help tackle challenges we might have previously written off as impossible.

I’m sure in six months this process will look different again. And that’s the point — the developers who treat their AI workflow as a living, evolving practice are the ones who’ll keep compounding their advantage.

This post was originally written in June 2025. A follow-up reflecting on how much the landscape has changed since then is in the works.