Gus spent an entire Saturday building two screens.
Not two apps, two screens: a welcome page and a permissions page. And he almost didn't get those.
This is the part of AI app building nobody posts about: vibe coding debugging. The error loop. The moment your screenshots folder is nothing but red text and you genuinely cannot tell if you're one prompt away from a working app or three restarts away from quitting.
Gus is the producer at Starter Story. Complete beginner. Never built anything in his life. He's doing the $1 Challenge: build a mobile app with nothing but AI coding tools (ChatGPT and Cursor) and get one stranger to pay one dollar.
Episode 2 of that challenge, from June 2025, is the most honest 26 minutes of vibe coding footage I've seen. Because it's the episode where nothing works.
Here's the full episode:
Walking Buddy 3 (Yes, Three)
The project in Cursor is literally named "walking buddy 3".
Because versions one and two died in error loops.
Gus's app idea is a step tracker called Walking Buddy. Three big numbers (daily, weekly, monthly steps) plus a Habit Kit style grid that fills in a green square every day you hit 10,000 steps. Simple concept. I covered how he picked it in the origin episode breakdown.
The build was another story. His workflow in the first episode was: hit an error, paste it into Cursor, get a fix, hit a new error, repeat. He showed his screenshots folder on camera. Error, error, error, error. His words: "I honestly don't even know what they all meant."
Eventually he asked ChatGPT the question every stuck beginner asks: "I feel like I need to start over."
And ChatGPT agreed. Some native dependency was crashing silently, and the cleanest path was a fresh project.
Restarting feels like defeat. But when you've burned three sessions feeding errors into an AI and you're further from a working app than when you started, the restart is the fix.
The $200 Fix: Start With a Plan, Not a Prompt
Before attempt three, Gus changed one thing. He stopped opening Cursor with a blank chat.
He found a tool called Code Guide (built by a founder he'd seen on the Starter Story channel, and he's clear it's not sponsored). He paid the yearly price, about $200. You fill out a questionnaire about your app and it generates full product requirement documents: components, screens, a flowchart of how the app launches and handles.
Then he dragged those documents into Cursor and said: these are the project requirements, build from these, and explain everything as we go.
The difference was immediate. Cursor stopped freestyling and started working in phases. Phase one: set up the Expo project. Phase two: front-end development. One step at a time, with an explanation at each step.
Two takeaways worth stealing here:
→ AI coding tools are dramatically better at executing a written plan than at inventing one mid-conversation. The requirements doc is the difference between a contractor with blueprints and a contractor you're describing a house to over the phone.
→ Tell the AI you're a beginner. Gus literally prompts "I'm a beginner, so explain everything as we're going." So it does. That one line turns a code generator into a tutor.
(Also, he says thanks to the AI after every step. "I don't know why I say thanks to the AI." We all do it, man.)
Two AIs Are Better Than One
The workflow that finally got him unstuck is the one thing I'd copy from this episode.
Cursor builds. ChatGPT debugs.
Gus opened a separate ChatGPT conversation, fed it the same product requirement documents, and told it: you're my coding co-pilot, I'm a complete beginner.
Then, every time Cursor produced an error, he didn't just paste it back into Cursor. He pasted it into ChatGPT first and asked two questions: what does this mean, and how do we fix it?
ChatGPT would explain the error in plain English, then write a Cursor-friendly prompt he could paste straight in.
Why does this work? Because the tool that wrote the broken code is often the worst tool to judge it. Cursor kept confidently "fixing" things and generating new errors. ChatGPT, sitting outside the codebase, caught the actual problem: Gus's app was importing a package called expo-health that isn't maintained anymore. The code referenced a dependency that no longer existed. No amount of accept-all in Cursor was going to fix that.
The fix ChatGPT proposed was almost embarrassingly simple: uninstall the dead packages, comment out the health-data code, drop in a placeholder, restart the server.
Gus reloaded Expo Go on his phone. "And boom. Okay, we are in."
Two screens after hours of work. But he was in.
What He Actually Shipped by 4:30pm
Once the error loop broke, progress got fast. By the time he wrapped (4:30pm, brain fried, errands waiting), Walking Buddy 3 had:
→ A welcome screen with real copy: "Track your steps, build healthy habits, and achieve your fitness goals."
→ A health data permissions flow.
→ A dashboard with daily, weekly, and monthly step counts. First version split them across three screens; one prompt ("stack them vertically on one page") merged them.
→ The habit tracker: a 7x5 GitHub-style grid, one square per day, green when you hit your 10,000 step goal. He then prompted in weekday column labels, a month header, and a one-line legend: each square equals one day.
Even ChatGPT's review was fair: "clean, minimal, better than a lot of shipped fitness apps."
Then the two unsexy moves that separate this episode from most vibe coding content.
First, he asked how to stop working without losing everything. Kill the dev server, initialize git, run git add, make your first commit. It was the first commit of his life. His GitHub was basically empty before this.
Second, he posted the messy middle publicly. His X update that day: "Now I'm just in debugging purgatory lol. It still feels like I'm crawling, but today I was 1% better." Labeled Day 0.03.
The first episode's posts had already pulled in DMs and new followers. People trust day 0.03 a lot more than they trust "I shipped an app in 24 hours."
Why the Ugly Middle Is the Whole Game
Mid-episode, deep in the loop, Gus says the quiet part out loud: "Sometimes I feel just so insane because all I did was create two screens. There's got to be an easier way, but I truly don't know yet."
And then, a beat later: "If I take a step back, this is something I just would have never done before."
Both things are true. That's the actual experience of vibe coding as a beginner in one afternoon: banging your head against the wall AND accessing a part of your brain you've never used.
Here's the context that makes this episode worth 26 minutes of your time. This app eventually launched. It made real money. Not much ($40 in three months, 14 sales in launch week), but real strangers paid real dollars for an app built by a guy whose episode 2 was titled "I'm in debugging hell!"
Every launch story you envy has an episode 2. Most founders just delete the footage.
The Beginner's Debugging Playbook
Steal the system, skip some of the pain:
1. Generate product requirement docs before writing a line of code. Code Guide works; so does prompting any strong model to interview you and produce a PRD plus a screen flowchart for free.
2. Feed the docs to Cursor and ask for phases. Gus's build only got smooth once Cursor worked step by step and explained each move.
3. Run a second AI as your debugger. Paste every error into ChatGPT with "what does this mean and how do I fix it" before you let Cursor touch the code again.
4. Say you're a beginner in the prompt. Explanations compound into actual understanding.
5. If the same category of error survives three rounds of fixes, stop patching. Ask "should I start over?" and take yes for an answer.
6. Commit to git the moment anything works. If attempt four ever happens, Gus now starts from a working dashboard instead of zero.
7. Post the ugly day anyway. Gus's follow-along X posts are half the reason people kept watching the challenge at all.
FAQ
What is vibe coding debugging?
Vibe coding debugging is fixing errors in code you didn't write and don't fully understand, because an AI tool generated it from your prompts. For beginners it usually means pasting error messages back into the AI, applying fixes you can't evaluate, and judging progress by whether the app runs. The skill is less about reading code and more about giving the AI enough context to diagnose the real problem.
Why do AI coding tools get stuck in error loops?
Because they fix symptoms one at a time without questioning the foundation. In Gus's case, Cursor kept patching import errors while the actual problem was a dead dependency (expo-health) that should have been removed entirely. A fresh conversation, or a second model looking at the same error, breaks the loop by re-diagnosing instead of re-patching.
Should you restart a vibe-coded project or keep fixing errors?
Restart when fixes stop converging. If three or more sessions of error-pasting have left you further from a running app, a clean project built from a written requirements doc is usually faster than untangling the mess. Gus restarted twice; attempt three, backed by PRDs, produced a working dashboard and habit tracker in one afternoon.
Is a mobile app harder to vibe code than a web app?
Generally, yes. Gus wondered this mid-episode, and he's right: mobile adds Expo, device permissions, health data APIs, and app store constraints that web apps skip. If your idea works in a browser, a web app will give you a faster first win. If it has to live on a phone (like a step tracker), expect more debugging hell and budget for it.
Hear the Full Stories, Numbers Included
I interview bootstrapped founders every week on the Profitable Founder Podcast. Real revenue numbers, failed launches included, and plenty of debugging hell between idea and MRR.