4.3

Shipping an MVP

Getting something real into the world

🚀 Hands-On⏱️ ~20 minutes

This is it. Time to apply everything you've learned: planning, the compound loop, and phased building. Let's ship Phase 1 of your project—the MVP.

Build Session Checklist

Step-by-step guide for your first real build session

📄 Preview PDF
Download PDF

🎯 The Session Flow

Here's how to approach your first real build session:

Build Session Steps

1. Setup (5 min): Create folder, navigate in Terminal, start Claude Code, share spec
2. Plan (10 min): Get Claude to propose approach before building anything
3. Build (variable): Work through plan, test after each step, iterate as needed
4. Assess (10 min): Review against success criteria, identify issues
5. Compound (10 min): Create/update Claude.md, document decisions and learnings

📋 Detailed Walkthrough

1. Setup (5 minutes)

Before you start coding, get organized:

cd ~/Documents/Projects mkdir my-project-name cd my-project-name claude

Once Claude Code starts, share your context:

Your first prompt:

"I'm building [project name]. Here's my project spec: [paste your spec] Today I want to ship Phase 1, which is: [describe Phase 1] Before we start building, help me understand what we need to create."

2. Plan (10 minutes)

"Here's my project spec and what I want to accomplish in Phase 1. Before we build anything, create a plan: - What files do we need? - What order should we create them? - What does 'done' look like for this phase?"

Claude will propose an approach. Review it carefully. Ask questions:

  • "Why this order instead of starting with X?"
  • "What if we simplified Y?"
  • "Is there a simpler way to handle Z?"

Once you're happy with the plan, say: "Let's start. Create the first file."

3. Build (Variable)

Work through the plan step by step. After each major step:

  • Test what was created
  • Approve and continue, or request changes
  • Ask Claude to explain anything unclear

⚡ Pro Tip: Test Early, Test Often

Don't wait until everything is built to test. Open the file in your browser after each major addition. Catch issues early when they're easier to fix.

4. Assess (10 minutes)

"Let's review what we built: - Does it meet the Phase 1 success criteria? - Are there any bugs or issues? - What would you improve?"

Claude will review the work. You should too. Check against your Phase 1 definition:

  • ✅ Does everything that was supposed to work actually work?
  • ✅ Can you complete the success test you defined?
  • ✅ Are there obvious bugs or broken features?

5. Compound (10 minutes)

"Before we end: 1. Create a Claude.md file documenting this project 2. Update it with what we built and decisions we made 3. Note what's planned for Phase 2"

This is the most important step for future sessions. Document:

  • What you built: "Phase 1: Basic timer with start/stop"
  • Key decisions: "Using localStorage, simple array for data"
  • What works: "Timer functions correctly, persists on refresh"
  • Known issues: "No way to edit task names yet"
  • Next steps: "Phase 2: Add task naming and history"

📖 Complete Example: Shipping an MVP

Let's watch a real Phase 1 build from start to finish:

Project: Learning Activity Timer
Phase 1 Goal: Start/stop timer that displays elapsed time
Success Criteria: Can time one task and see how long it took

Setup (3 minutes):

Creates folder activity-timer, navigates there, starts Claude Code.

First prompt: "I'm building a learning activity timer. Phase 1: just a start/stop button and display elapsed time. Before building, what files do we need?"

Plan (8 minutes):

Claude proposes: index.html (structure), styles.css (basic styling), timer.js (timer logic).

Explains: Start with HTML shell, add timer display, implement start/stop logic, add basic styling.

User approves: "Sounds good. Let's start with index.html."

Build (35 minutes):

1. Claude creates index.html → User opens in browser, sees structure
2. Claude adds timer.js with start/stop logic → User tests, start button works!
3. Claude adds time display formatting → Shows "00:05:23" format
4. User notices bug: "Timer keeps running when I close the page" → Claude fixes by adding stop-on-refresh logic
5. Claude adds styles.css for clean look

Result: Working timer with start/stop button, formatted time display, clean UI

Assess (7 minutes):

User tests: "Can I time one task and see how long it took?" → YES ✅
Claude reviews: "Meets Phase 1 criteria. Possible improvements: add lap/reset, persist elapsed time."
User: "Good enough for Phase 1. Those can wait for Phase 2."

Compound (10 minutes):

User: "Create Claude.md documenting: what we built, the file structure, and that Phase 2 will add task naming and history."

Claude creates Claude.md with project context, Phase 1 summary, and Phase 2 plans.

Total time: 63 minutes. Result: Working Phase 1 MVP.

✅ Success Check

You'll know Phase 1 is done when: you can open the file, use the core feature, and see it work—even if it's not pretty or complete.

⚠️ When Things Go Wrong

They will. Here's how to handle common situations:

If something doesn't work:

"This isn't working as expected. [Describe what's happening]. Can you investigate and fix it?"

If you're confused:

"I don't understand what this code does. Can you explain it simply?"

If you're stuck:

"We seem stuck. Let's step back. What are our options for moving forward?"

If it's taking too long:

"This feels too complicated for Phase 1. Can we simplify? What's the absolute minimum that would work?"

If you want to change direction:

"Actually, I think we should approach this differently. Instead of [X], what if we [Y]?"

✨ Done Is Better Than Perfect

Your MVP won't be beautiful. It won't have every feature. That's okay. The goal is working, not perfect. You can improve it in future phases.

🎉 The Magic Moment

When you open your browser and see something you created—even if it's simple—that's the moment. You built something real. You can touch it, test it, show it to someone.

That's not vibe-coding. That's building.

💡 Celebrate Small Wins

Shipped Phase 1? Celebrate. Seriously. Building things is hard. Finishing things is harder. You did it.

📚 Resources & Further Reading

💭 Pause & Reflect

Before moving on, take a moment to consider:

  • How did your first build session feel? What surprised you?
  • What would you do differently in your next session?
  • Are you tempted to jump to Phase 2, or use Phase 1 for a while first?

🎯 MVP Shipped!

You've built something real. Now the fun part: making it better.

Topic 4.3 Complete • Up Next: 4.4 – Iterating With Feedback