Apparently you can build an entire app with AI in a weekend. I must be doing it wrong.
If you’ve had that thought, this one’s for you.
There’s been a flood of optimism and hype about large language models (LLMs) writing production code, testing apps, and even generating entire front ends with a single prompt. And yes—some people really are doing impressive things fast. But for most developers, the day-to-day experience is messier. Frustrating. Sometimes slower, not faster.
Here’s the truth: you’re not doing it wrong. You’re just not doing it yet.
Why the hype feels disconnected from reality
LLMs like ChatGPT, Copilot, Cursor, and Claude are brilliant at getting you some of the way. They’re helpful for boilerplate, quick scaffolding, and even creative problem-solving. But they also:
- Hallucinate (confidently give you the wrong answer)
- Ignore instructions (no, I didn’t say rewrite the whole file, thank you)
- Duplicate logic (especially when writing UI code)
- Struggle with consistency (ask it to do something twice, get two different answers)
- Break version control workflows (say goodbye to your beautiful `git diff`)
Sound familiar?
The promise of AI-assisted development is speed, but the trade-off is control. Without the right techniques, you’ll spend more time undoing, reformatting, and cleaning up than actually building anything useful.
So how *are* people building apps with AI?
The short answer: practice, and process.
It’s possible to use LLMs effectively, but it takes a shift in how you work. You’re not delegating to a super-genius—you’re collaborating with the world’s fastest, most literal junior dev.
Some tips that actually help:
- Use clear, repeatable prompts
LLMs thrive on specifics. The more concrete your request, the better. If you’d be vague with a human colleague, expect AI to guess wrong.
- Give examples and context
Paste in sample input and expected output. Show it the shape of your existing code. You wouldn’t hire a freelancer without onboarding—they need the same.
- Guard your work
LLMs will overwrite your files. Use branches. Commit often. Protect your state.
- Expect to iterate
The first response is rarely the best. Treat it like scaffolding and refine it through cycles.
- Know when to stop
If you’re spending more than a few minutes wrangling a prompt, it might be faster to just write the function yourself. And that’s okay.
The developer mindset shift
There’s a quiet anxiety bubbling in tech circles. If others are racing ahead with AI and you’re not, are you falling behind?
Here’s the reality: this is all new. LLMs don’t just automate code—they shift how we think about software creation. We’re still figuring out the boundaries of what to trust, when to intervene, and how to build maintainable code when the code itself is… disposable?
The way forward isn’t about pretending the tools are better than they are. It’s about getting better at using them.
—
“Think of it not as a super-intelligence, but as a junior developer that’s very (very) fast but needs very clear guidance.”
— Nik at Versantus
—
Want help figuring it out?
We’ve been experimenting with LLMs in real-world production environments for over 18 months—building prototypes, writing production code, teaching our team, and learning what works (and what absolutely doesn’t).
If you’re a developer trying to get your head around this brave new world, we’re happy to share what we’ve learned. Get in touch or check out our Vibe Coaching sessions to learn how to collaborate better with your AI colleagues. A good next read is our post on moving from prototype to polished: the art of vibe coding