I built an entire application last month. Backend infrastructure, microservices, three client apps, an admin portal, CI/CD, the works. The kind of project that would have taken a team months. I did it in weeks, mostly by talking to a machine. And when I say last month, I don’t mean 5 days a week, 8 hours a day for the month. I mean probably an hour or two a night talking to Claude, my new BFF and get-shit-done buddy.
And I don’t know how to feel about that.
The building part is incredible
I’m not going to pretend otherwise. Working with AI as a development tool is the most fun I’ve had building software in years. The feedback loop is instant. You describe what you want, you iterate, you ship. Things that used to require context-switching across five different domains now flow together in a single session.
I stood up cloud infrastructure, wrote service layers, built out a full API, created a web app, a mobile app, and an ops dashboard. I set up monitoring, wrote tests, configured deployments. Not toy versions. Real, production-grade systems.
The part that gets me is the breadth. I’m a security person. I can write code, but I’m not a frontend engineer. I’m not a DevOps specialist. I’m not a designer. And yet the output looked like it came from a team that included all of those people. That’s new. That’s different from anything we’ve had before.
It didn’t all just work though
I want to be real about this because the “AI built my whole app” narrative glosses over the messy parts. AI is an incredibly powerful tool. It is not a reliable one.
At one point I was debugging an issue in one of the three client apps. Pretty routine stuff. Something wasn’t rendering right. Instead of fixing the app, Claude decided the real problem was the backend microservices and rewrote them. Which broke the other two apps. That’s like taking your car in for a squeaky brake and the mechanic rebuilds the engine and now nothing works. I fixed it with one command and a follow-up PR that also wrote a new rule: work on the thing I asked you to work on, not everything connected to it.
Another time I asked it to sync up the UIs between the Android and iOS apps. It told me it was done. I pulled up both emulators and they looked nothing alike. Not “slightly different.” Drastically different. It took about an hour of me going view by view, pointing out every mismatch, and having it fix each one. It was confident it had nailed it. It had not nailed it.
There was a bug where Android house markers weren’t showing up on a map. Claude spent an entire PR replacing emoji markers with geometric shapes, reordering overlays, resizing things. A whole visual redesign. Didn’t fix the actual bug. The real problem turned out to be that the Android model was deserializing a nested field that was always null instead of the flat lat/lng fields the server actually sends. A data mapping issue, not a rendering issue. Claude treated the symptom elaborately and missed the cause entirely.
My favorite category of failure: Claude kept trying to get me to test on an iPhone 16 simulator. Every time. I don’t have an iPhone 16 simulator. It doesn’t exist in my Xcode. I’d tell it, it would acknowledge, and then next session it would try again. Some things just don’t stick.
Then there was a security fix. An IDOR vulnerability where I added a required auth header to an internal service endpoint. Good fix. But Claude didn’t update the gateway client that calls that endpoint on every single workspace request. So every workspace endpoint (houses, members, contacts) started returning 502s. Non-workspace stuff worked fine, which made it look like a weird partial outage. Took a P1 hotfix and a set of regression tests to clean up.
The best one: an AI-generated web app PR got merged without anyone building it first. It had multiple build failures, including fundamentally incompatible architecture choices. We had to disable auto-deploy until it was sorted out.
None of it ultimately mattered though
Every one of those problems? I fixed them in minutes or hours. Not days. Not weeks. The backend rewrite that broke two apps? One command, one PR. The UI mismatch? An hour of review. The web app that wouldn’t build? One PR debugging, one PR having Claude write and run tests. That’s the part that makes this complicated. The failures are real but the recovery is fast, and the net productivity is still wildly positive compared to doing it all by hand.
AI doesn’t replace the need to know what you’re doing. It replaces the need to do all the typing yourself. You need to know a lot of things to have it build all this. But you don’t have to know everything, and what you don’t know, you can have it explain to you. Talk through different approaches. Compare tradeoffs. Walk you through best practices and what you’d need to understand to make the decision. Then you know one more thing than you did before. One more piece of the puzzle. You still have to catch the mistakes, understand the architecture, know when something looks wrong. It’s more like having a very fast, very confident junior developer who occasionally makes baffling decisions and needs supervision. But one that works at 3 AM, never gets tired, and can teach you things while it works.
The worry part is also real
If I can do the work of a team, even accounting for the cleanup, what happens to that team? And let’s be honest, at this point it’s not a small team. The project is up to 160,000 lines of code across infrastructure, microservices, three client apps, and an admin portal. Yes, lines of code is a horrible measurement. But it’s a lot of output for one person.
I keep running the math. If AI makes a single engineer 5x more productive (and honestly, for certain categories of work, that’s conservative) then a company that needed ten engineers needs two. Maybe three if you’re being generous. The other seven aren’t “freed up to do higher-value work.” They’re just… not needed.
And it’s not just junior engineers. The mid-level developer who’s really good at gluing services together, the frontend specialist who knows exactly how to build a responsive dashboard, the DevOps person who writes solid Terraform. AI can do a credible version of all of that right now. Not a perfect version. But good enough that one person with AI can replace the need for those specializations on a lot of projects.
We’re in this weird window where the people building with AI are having the time of their lives and the economic implications haven’t fully landed yet. It feels like being in the blast radius of something and watching the shockwave approach in slow motion.
What I think is actually happening
AI is compressing the skill stack. Things that used to require years of specialized experience are becoming accessible to anyone who can describe what they want clearly. That’s democratizing in the best case and devastating in the worst case, and it’s probably going to be both simultaneously.
The optimistic take is that this unlocks a massive wave of building. More people can make more things. Ideas that died because you couldn’t find a cofounder with the right technical skills can now just… get built. That’s genuinely exciting.
The pessimistic take is that we’re automating the entry points. The junior roles, the apprenticeship positions, the “boring but necessary” work that teaches you how systems actually behave. If AI eats those, where does the next generation of senior engineers come from? You can’t skip the reps.
Where I’ve landed (for now)
I don’t have a tidy conclusion. I’m building with these tools every day because they’re genuinely powerful and I’d be foolish not to. But I’m doing it with a knot in my stomach, because I’ve seen what “one person can now do this” means when you multiply it across an industry.
The technology is extraordinary. The transition is going to be rough. Both of those things are true, and I don’t think we’re being honest enough about the second one.
I wrote more about what I think we actually need to do about it in OK So Now What.