Vibe-coding with AI: a pragmatic first project
ibe-coding is the loose, conversational style of building software with an AI pair programmer doing the keystroke-level work while you stay focused on intent. It's wonderful for shipping a first project — and it has a few sharp edges that are worth understanding before you start.
Vibe-coding First Project
- Vibe-codingstart with
- One-weekend projectdrives
- Finish predictor
- Three properties
- Working AI loopfocus on
- Intent over keystrokes
- Predictable failureshelps
- Save hours
Table of Contents
- What you'll learn· 1 min
- Pick a project that fits in one weekend· 1 min
- A working loop with the AI· 1 min
- Where vibe-coding goes wrong· 1 min
Quick reference
Pick a project
One user, one job, no new infra. Describe in one sentence.
First turn
State intent in English. Let the AI propose structure. Push back on bloat.
Each iteration
Keep the app working at every step. Slice end-to-end, then deepen.
Stop and read
On every milestone, scroll back through what was written. This is the learning.
Watch for
Silent over-engineering, invented APIs, yes-and drift, forgotten state.
Vibe-coding is the loose, conversational style of building software with an AI pair programmer doing the keystroke-level work while you stay focused on intent. It's wonderful for shipping a first project — and it has a few sharp edges that are worth understanding before you start.
What you'll learn
Pick a project that fits in one weekend
The single biggest predictor of finishing a first project is choosing one small enough to finish. A good first vibe-coded project has three properties:
- One concrete user. That user is usually you. Build something you'd actually use.
- One clear job. A timer for a habit. A scraper for a single page. A small dashboard with three numbers. If you can't describe the job in one sentence, the project is too big.
- No new infrastructure. Pick a stack you can deploy with one command — Vercel, Netlify, Replit. Don't learn Kubernetes on your first weekend.
A working loop with the AI
The pattern that works:
- 1State the intent in plain English. "I want a simple page that shows my Strava runs grouped by week." Don't prescribe the implementation yet.
- 2Let the AI propose a stack and a structure. Read it before agreeing. Push back if anything looks like overkill — it often does.
- 3Build one slice end-to-end. A working page with one fake data point beats a half-built backend with no UI. You want to feel the thing run as early as possible.
- 4Iterate in small turns. "Now add real data from the API. Now group by week. Now make it look less ugly." Each turn should leave the app in a working state.
- 5Stop and read on every milestone. When something works, scroll back through what was actually written. This is when learning happens.
Where vibe-coding goes wrong
The failure modes are predictable. Recognise them and you'll save hours.
- Silent over-engineering. AI assistants love to add abstractions, error-handling shells, and configuration knobs nobody asked for. Read the diff. Delete what you don't need.
- Confident wrong answers. AI tools will occasionally invent libraries, functions, or APIs. If something feels too convenient, check the docs.
- Yes-and drift. Each request the model says yes to compounds. After ten turns of "yes, and also…" your codebase has eight features you don't use. Stop, prune, redirect.
- Forgotten state. The AI doesn't remember what shipped yesterday. When you resume, give it a one-paragraph summary of where things are. Treat its memory as session-scoped, not project-scoped.

Want a more guided way to practise this?
Common questions
Which AI tool should I use?
For a first project, the choice barely matters — Cursor, Claude Code, GitHub Copilot, and similar tools are all capable. Pick whichever has the lightest setup for you and start. Switching later is easy.
Do I need to know how to code already?
You'll get further faster if you can read what the AI is writing. Even one weekend of basic syntax — Python or JavaScript — pays back enormously. You don't need to be able to write it from scratch yet.
When should I write code by hand instead of letting the AI write it?
When the task is small and the cost of switching context is higher than just typing it. Renames, one-line config tweaks, and obvious fixes are usually faster by hand. Multi-step refactors and new features benefit from the AI.
How do I avoid building something I can't maintain?
Keep the codebase small. Refuse abstractions you don't understand. Read every file the AI creates and delete the ones that aren't doing real work. If you can't explain what a file does, it shouldn't be there.
Bottom line
Vibe-coding lets you ship something useful in a weekend. The skill is in choosing scope, keeping turns small, and slowing down to read. Build one tiny tool you actually want, finish it, and the next project will be twice as easy.