Your First Vibe Coding Project: How Small an MVP Must Be to Survive
Nine of ten first vibe-coding projects die of scope creep. The cautionary tale of "the AI Notion+Slack" archived in week three, the "demoable in a week" rule, four knives for cutting features, and five stall-warning signals: the goal isn't big, it's done.

In the vibe coding era, the chance that your first project dies unfinished is frighteningly high. I've seen the script too many times: day one, full of energy, thinking "AI is so strong, let's build something big," with a 40-item feature list; week one, scaffolding, picking stacks, arguing architecture with the AI; week three, enthusiasm exhausted, repo archived, gathering dust. When people postmortem it, they say "AI just isn't strong enough." Wrong. The AI is strong enough — your scope was too big. Nine out of ten first vibe-coding projects die of "scope creep"; only one dies of "tech failure."
This guide is about how to cut an MVP: a cautionary tale showing how "bigness" kills projects, a "demoable in a week" rule as your hard standard, four knives for cutting features, and five stall-warning signals. One goal only: make your first project finished, not big.
Cautionary Tale: Week Three of "The AI Notion + Slack"
Xiao Lin (a pseudonym), a friend I met in a vibe coding community and a programmer by trade, was building his first AI product as an indie maker. His idea: team knowledge base + AI Q&A + task management, three in one — in his words, "Notion is too heavy, Slack is too scattered, I'll build an AI-native all-in-one." The feature list ran to 42 items: multi-workspace, permissions, real-time collaboration, AI summaries, full-text search, mobile support…
Week one, he had the AI scaffold Next.js + database + auth. Just "login, signup, forgot password, email verification, OAuth" took four rework rounds — not because the AI wrote it wrong, but because he kept changing requirements mid-build. Week two went to permissions: roles, groups, share-link expirations… halfway through he realized the core "AI Q&A" feature had zero lines written. Week three, he opened the project, stared at 60+ files and a broken local environment, and quietly archived it. His words: "I spent three weeks doing three weeks of labor for the AI, and ended up with nothing I could show anyone."
Interestingly, programmers are more prone to the "too big" mistake. Why? The illusion of "I can build that" — login, I can do; permissions, I can do; real-time collaboration, probably. So every feature looks like "while I'm at it." But in vibe coding, "can build" doesn't mean "worth building." Your time (and the agent's context) is the MVP's scarcest resource — bet it all on the one thing users would pay for. Non-programmers don't carry this baggage — they only care "can it demo," which happens to be exactly the right instinct.
Look at typical entries in Xiao Lin's 42-item list and you'll see the problem: "dark mode," "i18n (EN/ZH)," "operation log auditing," "open API platform," "mobile PWA." Note: none of them are wrong — they're all correct "laters" and wrong "nows." In a first project's list, every "nice to have" is a scope assassin. The test: imagine demoing tomorrow — would the demo collapse without this feature? If not, it goes on the "later" list. Of Xiao Lin's 42 items, no more than 5 would pass.
Contrast that with A-Zhe from the same community. His idea: "one-click resume formatting" — upload a Word resume, AI polishes the wording and fits it into a beautiful template, export PDF. One feature, that's it. Day one: upload page scaffolded by AI. Day two: resume parsing tuned. Day four: template rendering wired up. Day six: shipped. No user accounts (link = access), no payments (free at first), no mobile support (desktop first). Launch day, posted to two communities: 200+ signups, 30 of whom left emails saying "I'd pay for this." A-Zhe's summary was one sentence: "Xiao Lin spent three weeks building a 'product'; I spent six days building a 'demo' — but my demo had users, and his product only had code."
The "Demoable in a Week" Rule: Your MVP's Hard Standard
From these two stories I distill one hard standard — the "demoable in a week" rule: your MVP scope must be small enough to produce a demoable version within 7 days. Definitions matter —
- Demoable means "a non-technical friend can click through the core flow with their own hands." Not "let me tell you what it'll do someday," but "click this button — see, it actually did the thing." Xiao Lin's week-three artifact couldn't be explained; A-Zhe's day-six artifact needed no explaining.
- Seven days is the half-life of enthusiasm — and the starting line of feedback. The biggest enemy of a first project isn't competitors, it's your own decaying motivation. No positive feedback within 7 days (someone uses it, praises it, requests something), and your willingness to open the editor on day 8 falls off a cliff. But once someone uses it, feedback pulls you through the rest of the journey.
- If it can't be done in 7 days, cut the scope in half — then in half again. This is the most counterintuitive line in the rule. Most people's reaction: "what would even be left?" The answer: only the core action that makes a user's eyes light up. A-Zhe cut accounts, payments, and mobile — and the remaining three steps, "upload → beautify → export," were the entire value.
How do you know "demoable" is met? Three checks: first, explainable in a 60-second screen recording. Hit record, go from landing page to core action — done in 60 seconds or the path is too long. Second, disconnect yourself. Send the link to a friend with zero explanation and watch whether they complete the flow alone — a demo that needs you narrating isn't demoable. Third, a "wow" moment. The demo needs one eye-lighting instant (A-Zhe's: "Word doc in, beautifully typeset PDF out"). An MVP with no wow moment may have fine scope but the wrong direction.
There's a technical reason for the rule too: the agent's context window and your attention are both finite. The bigger the scope, the more the agent struggles between "remembering the whole" and "writing the part well," and rework grows exponentially. Small scope = agent fully online = far better odds of nailing it in one pass. Cutting scope isn't compromise — it's giving the AI a battlefield it can win on.
Four Knives for Cutting Features
Principles are nice — here's how to actually cut. Four knives, fastest first:
- Knife one: keep exactly one user path. Draw your core flow: where the user enters, what they click, what they get. Keep only the features on that path; everything else goes on the "later" list. Login? If the demo doesn't need it, cut it — use "link = access" instead. Profile page? Cut. Settings? Cut. A-Zhe's path was "upload → format → export" — nothing existed outside those three steps.
- Knife two: cut every "while we're at it." "While we're at it, let's add an admin panel" / "…dark mode" / "…an English version" — each "while we're at it" is one to three days, and three of them eat a week. The test: if I cut this, does the core demo still hold? If yes, cut. Remember, an MVP's enemy isn't "too few features," it's "a dim core."
- Knife three: buy instead of build. Auth via Clerk or Auth0, payments via Stripe Checkout (hosted page, zero code), database via Supabase, deploy on Vercel. In the vibe coding era, "write it yourself" is the last resort. Every hand-rolled piece is context burden on the agent and debug burden on you. Buy what you can, rent what you can — your first project's goal is validating the idea, not practicing technique.
- Knife four: fake it first (Wizard of Oz). For the demo, plenty of "backend logic" can be hardcoded: recommendations as three fixed results, AI summaries as one pre-computed cached response, complex reports as a static image. Users click on the "effect," not the "architecture." Once someone will pay for the effect, replace the fake with the real. Prove "someone wants it" before proving "I can build it" — the order is non-negotiable.
Bonus knife five: timeboxing. Give every feature a deadline: "login gets 4 hours max." Time's up and it's not done? Cut it or swap in a cruder solution — magic links instead of password systems, single-file SQLite instead of Postgres. Timeboxing forces scope decisions through a time budget, killing the "just two more days" bottomless pit. Remember: in a first project there are no "almost done" features, only "shouldn't exist" features.
Stall Warnings: Five Signals That Mean Stop and Cut Scope Now
Mid-project, if any of these appear, scope has already slipped — stopping to cut scope matters ten times more than writing more code:
- Signal one: it's day three and you're still scaffolding with no UI in sight. A healthy MVP has a UI on day one (ugly is fine). Three days of environment setup, library picking, and config files means you're "preparing to work" instead of working — have the AI spit out a runnable ugly UI first; tidy the scaffolding later.
- Signal two: the feature list exceeds 10 items. Count your todo list — over 10 items basically means "not finishing this month." Re-rank by "does the demo still hold if I cut this?" and keep only the top 3.
- Signal three: you need to "pick up" a new technology along the way. "Might as well learn WebSockets" / "this needs a vector database" — a first project's stack must be your comfort zone plus the AI's comfort zone. Any "learning cost" is scope creep in disguise.
- Signal four: you're arguing architecture with the AI. Spending half an hour debating "REST vs tRPC" with the agent means the project is complex enough to be worth debating — and an MVP should never be worth debating. If it runs, it ships; architecture is next month's problem.
- Signal five: a week has passed and nobody has seen your demo. The deadliest one. An MVP exists to be seen, used, and complained about. If after a week you're still "polishing before showing anyone," you're not polishing the product — you're polishing your procrastination. Ship it. Ugly counts.
When it's truly time to cut, the hardest part isn't "what to cut" — it's making the cut. Three lines to tell yourself: line one: "I'll need this feature at a hundred users; I have zero." line two: "On demo day, nobody will ask 'why is there no admin panel.'" line three: "Cut features aren't dead — they're queued. They get called when someone pays." Scope management is negotiating with your own greed; these three lines are your script.
One dimension most people overlook: should your first project be "built in public"? My advice: yes — but publicize the demo, not the code. Posting a 60-second demo video daily forces you to stay "demoable" — the strongest scope constraint there is: nobody wants to watch you configure environments for three days; everyone wants "click it, it moves." Building in public is essentially replacing discipline with social pressure. The practical bonus: your first users are often hiding in the audience — half of A-Zhe's 200 signups came from his daily build videos. The demo is the marketing; the scope is the content. Sixty seconds a day is 365 pieces of "demoable" evidence a year — harder currency than any resume. Remember: the audience wants "progress," not "perfection."
My take: in the vibe coding era, scope management beats coding skill ten to one.
In the traditional dev era, the bottleneck was "writing code is slow," so people competed on technical depth. Vibe coding made "writing code" a cheap resource, and the bottleneck moved to "deciding what to do — and what not to do." AI can hand you 2,000 lines overnight, but it won't tell you "1,500 of these lines shouldn't exist." That judgment is yours alone.
So a first vibe coding project's real goal isn't "ship a product" — it's completing the full loop of "idea → demo → real users → iteration" exactly once. Once the loop is complete, you've truly learned vibe coding — every bigger project afterward uses the same muscles. Xiao Lin later regrouped, cut his all-in-one down to just "AI meeting notes," shipped in 9 days, and got his first 50 users. His reflection: "If I'd known cutting this small could work, what was I even doing those three weeks?"
Why did Xiao Lin's "AI meeting notes" succeed? Because he finally understood: a first project doesn't validate "how strong AI is" — it validates "can I finish one thing." The positive feedback of "done" (users, revenue, confidence) is the fuel for projects two and three. Big vs. small is strategy; done vs. undone is survival.
One more angle: why is "demoable in a week" especially effective with AI? Because agents are sprinters — inside the context window, focus equals quality; once a project drags past two weeks, early decisions start getting forgotten and rework eats everything. Small fast steps aren't methodology — they're dictated by the agent's physiology. Work with its nature, not against it.
One exercise for tonight: write your project idea in one sentence, then list the three actions a user could physically click on demo day. If you can't list them, the scope is still too big; if you can — congratulations, your MVP is already cut, and all that's left is letting the AI get to work. Remember: a first project's goal isn't "go big." It's "get done."
Related articles

Can't write code — so where exactly is the barrier in vibe coding? This is lesson one for pure beginners: which tool to pick, what to build first, how to describe requirements, what to do when you see an error, and when to pause and learn some basics. One goal: by this weekend, you ship your first webpage and send the link to a friend.

After pairing with AI, the bottleneck shifts from "how fast you code" to "how fast you decide." This guide gives you a copy-paste daily rhythm: 15 minutes of morning planning (1 goal + 3 verifiable tasks), a noon checkpoint (judge against acceptance criteria, not code), and an evening review plus a "context handoff note." Rhythm is the real secret to not getting burned as a solo developer with AI.

The biggest waste in vibe coding isn't tokens — it's rewrites caused by building the wrong thing. My rule: before any code, force the AI to interrogate you. This guide gives you a 10-question checklist, a one-line opener, and a three-round convergence method that turns "I thought I was clear" into "the AI actually got it." In practice, it cuts rework by more than half.