There’s a lot of excitement around the new wave of coding agents, and for good reason. The first time you ask an agent to refactor some old code or construct up a web app, and it comes back with a clean, working solution in minutes, complete with test functions you never even mentioned, is a moment of genuine excitement. Suddenly, all those ambitious projects you’ve dreamed about but never had the time or resources for start to feel within reach.
But can you really build large-scale engineering projects this way?
I decided to find out. And the answer turned out to be a journey: not at first, but eventually, yes.
The problem I set out to solve was one we already knew well. Our AI data platform exposes an MCP server that allows agentic AI solutions to query data. It already works beautifully. Connect Claude or ChatGPT to the MCP server, ask it to build a sales dashboard, and it will, in seconds. The catch? You end up with a static web page, with the data baked in.
So, I thought, surely it’s not a huge step to take this further. What if we built a chat driven dashboard designer, that used the same models to build a dashboards that dynamically loads live data instead, keeping everything up to date automatically?
I described the entire project in a markdown file, opened Claude Code in a terminal, and let it get to work. The first attempt kind of worked. I’d asked Claude to create two agents: one for planning and one for implementation.
The planning agent’s job was to talk to the user, query the data, and create a plan for the dashboard. The implementation agent would then take that plan and build it. The planning agent came together quickly, it even generated mock-ups of the dashboard in the right-hand panel after just a few tweaks. The implementation agent, on the other hand, struggled. It kept looping endlessly or would just hang, and stop processing altogether.
It took me hours to work out why. Most of that time was spent just reading and understanding the code Claude had written. But oddly enough, that time didn’t feel wasted. I learned a lot about how Claude Code approached the problem and about where my own design could be improved. The code itself was messy, but the process was educational.
Next, I asked Claude to write up a summary of the project in a markdown file so I could hand it off to another developer. Then I edited that file, capturing everything I’d learned and refining the design decisions along the way. With that improved brief, I started a clean Claude Code session and kicked off a new build from scratch.
I repeated that cycle three times, build, learn, throw it away, start again. By the end, the project had naturally broken into four smaller, self-contained tasks that could be developed and tested independently.
So, what did I take away from all this?
Yes, you can build complete engineering solutions with coding agents, but the real shift isn’t just about speed, it’s about how we approach building software in the first place. Coding agents make writing code cheap, which makes iteration affordable.
In the old world, where every hour of development time was costly, you had to plan everything meticulously before writing a single line. With coding agents, that’s no longer true. You can explore, experiment, make mistakes, and learn by doing. You can iterate until the design feels right rather than trying to predict perfection in advance.
The trick is not to rush anything into production too soon. Keep iterating until you have a detailed, end-to-end plan that feels solid.
Is it faster overall? Definitely. But for me, the real win was the freedom to experiment, to fail safely, and to start again, each time getting closer to something genuinely better.
In the old coding world, that kind of freedom was just too expensive. Some things you can only learn by trying, and with coding agents, trying has never been easier.