Home / AI Development & Coding / I Asked ChatGPT and Claude to Plan My App. One Tried to Build Me a Company.
AI Development & Coding #0710 6 min read 6 views

I Asked ChatGPT and Claude to Plan My App. One Tried to Build Me a Company.

ChatGPT tried to turn a one-person app into a nineteen-volume software design document. Here's what actually happens when you ask ChatGPT or Claude to plan before vibe coding, and what real scoping looks like instead.

share

I wanted a simple chatbot I could run on my own computer, no subscription, no monthly fee. So I did what everyone does now. I opened ChatGPT and described what I wanted.

Thirty seconds later it started planning. Not the app I asked for. A company. Architecture diagrams, a nineteen-section engineering document, a testing strategy, a roadmap through version two. For an app one person was going to use. That’s when I realized the thing nobody tells you before you start vibe coding: ChatGPT will build exactly what you describe, including the parts you didn’t mean to describe, and it has no idea when to stop.

Why I Wanted Off ChatGPT and Claude in the First Place

The honest reason wasn’t ambition. It was money and timing. A ChatGPT Plus or Claude Pro subscription costs something every month, and the moment funds get tight, that’s the first thing that goes. Even when you can afford it, session limits cut you off mid-task, and losing your train of thought to a Claude timeout costs more than the subscription does.

So the plan was simple: build something local, running on Ollama, that could keep up with writing, coding, and daily tasks without a monthly bill attached. I’ve laid out the full case for going local, including which models actually hold up, in my breakdown of local alternatives to ChatGPT. A local model like Qwen 2.5 running through Ollama will not match ChatGPT or Claude on raw output, and accepting that upfront changes how you plan around it. You’re not just deciding what to build. You’re deciding what a smaller model can actually be trusted to do.

FRONTIER SUBSCRIPTION Working fine. Paying monthly. Funds get tight. Subscription cut first. Access stops LOCAL, OLLAMA + QWEN 2.5 Working fine. No bill. Funds get tight. Nothing to cut. Still runs Not better output. Just still there.

The Nineteen-Volume Problem

Here’s what actually happened. I asked ChatGPT to help me plan the project. Instead of a plan, it gave me a full software design document. Nineteen volumes. High-level architecture, component responsibility matrices, a testing strategy, a roadmap two versions ahead of anything I’d built yet. None of it was technically wrong. All of it was solving a problem I didn’t have. I’m one person building a tool for myself, not a team shipping to a thousand users.

I said as much. ChatGPT scaled down to five or six pages. Still too much. When I asked directly what the actual minimum was to start coding, it finally produced something useful, a single page, after three rounds of me pulling it back.

That’s the part that should worry anyone using ChatGPT or Claude to plan a project, not just people building software. Neither one knows when a plan is finished any more than you do. If you don’t already know what “done enough to start” looks like, ChatGPT will happily keep generating documentation for a project that will never need it, and it will sound completely confident the whole time.

What Happens When You Skip This Step

If you go straight from idea to code in Cursor or Claude, which is what most vibe coding actually looks like, you don’t get a nineteen-volume document. You get code that runs, looks finished, and breaks the first time you hit a scenario nobody planned for. I’ve documented exactly how that shows up in real projects in what actually breaks when vibe coding meets production. The nineteen-volume spec and the app that quietly falls apart later are the same root problem wearing two different outfits. Nobody decided in advance what the tool actually needed to do.

What Real Planning Looks Like

Every generic guide says write a requirements doc first. That’s not wrong, it’s just not enough. A written plan tells ChatGPT or Claude what you want built. It doesn’t surface the situations you haven’t thought of yet, and those are exactly the situations that break things later.

My scope kept shifting because I kept pushing past the first answer that sounded complete. I moved the conversation from ChatGPT to Claude on purpose. A fresh Claude session with no memory of my earlier assumptions forced me to explain the idea again from scratch, and re-explaining it is usually where the real gaps show up.

A software team does something similar before writing a line of code, they just call it discovery and it takes weeks, because more people and more risk are involved. I did a smaller version of the same discipline alone, over three days, by treating ChatGPT and Claude as reviewers of my own thinking instead of code generators. One would propose something. I’d push back on whatever felt off. The other would catch what the first one missed. That’s not a shortcut around a real planning process. It’s the same instinct, sized for a project where I’m the only person who has to live with the result.

The rule I held myself to: a plan isn’t finished when it sounds complete. It’s finished when you can say exactly how it breaks.

What Actually Changed by the End

The plan didn’t hold steady from the first version to the last. It kept breaking in ways that would have become real bugs if I’d started coding in Ollama early.

My first instinct was to make the user pick a mode before every conversation, content mode, coding mode, research mode. It made sense on paper and no sense in practice, because I don’t think in modes when I’m actually talking to Claude or ChatGPT, I just talk. That only got caught because I kept describing how I’d really use the thing instead of accepting a structure that looked tidy.

Something as small as stopping a bad response mid-generation needed real thought too. A phone losing signal, a person deliberately cutting off a wrong answer from Qwen 2.5, and the whole app crashing outright are three different situations. Treating them as one generic error would have meant losing work that didn’t need to be lost.

01 / PLAN Sounds complete. 02 / NAME HOW IT BREAKS Push until it changes. 03 / BUILD Now it’s ready. If it hasn’t changed once, you haven’t finished planning. You’ve just stopped early.

The Actual Point

Vibe coding doesn’t fail because ChatGPT or Claude writes bad code. It fails because people start prompting before they’ve found the situations that break their own assumptions, and neither tool has any way of knowing what you never told it. Ask ChatGPT or Claude to plan something for you, and you’ll either get a nineteen-volume document for a problem you don’t have, or a plan that sounds finished and isn’t. Either way, the fix is the same. Keep asking how it breaks until you run out of new answers. That’s when you’re actually ready to build, whether you’re building in Ollama or paying for Claude the whole way through.

Share this
Jaren Cudilla
Jaren Cudilla
// chaos engineer · anti-hype practitioner

A QA engineer who spent three days pressure-testing an AI-generated project plan across ChatGPT and Claude before writing a line of code, and writes about what that process actually catches that a single planning session misses.

// stay in the loop
Get EngineeredAI posts in your inbox
Workflow experiments, tool breakdowns, field notes. No hype. Subscribe free.
subscribe →
// Leave a Comment

What is I Asked ChatGPT and Claude to Plan My App. One Tried to Build Me a Company.?

I wanted a simple chatbot I could run on my own computer, no subscription, no monthly fee.