This is the app.
And this is every line of it.
An AI Trip Planner: describe a trip, upload photos, get a day-by-day itinerary, share it with whoever you are travelling with. It runs on accounts, a database, a queue and payments, because an app that only works for one person on one laptop is a demo, not a product.
It was built by taking this course from an empty folder, one lesson at a time. The repo is public and the commit history is the syllabus: 34 lessons, 34 commits, each one named after the wall it closed.
No account needed to look. Payments run in test mode, so nothing charges anyone.
Start at the bottom
Lesson 1 is one HTML file with an API key sitting in the browser, which is roughly what a weekend of vibe coding produces. Everything after it exists because that version broke in a new and interesting way. You can read any lesson as a diff.
git diff lesson-10 lesson-11
# user A stopped being able to read user B's trip 34 walls, 34 commits
Every one of these is a real commit in the repo. The colours are the tiers.
- lesson-01 Ship It
It works. It is also a single HTML file.
Lesson 1: How to Direct Your AI Builder
- lesson-02 Ship It
A time machine, so breaking it stopped being permanent
Lesson 2: Trust Without Reading Code
- lesson-03 Ship It
Took the API key out of the browser source
Lesson 3: The Secret Leak
- lesson-04 Ship It
Stopped looking like a homework assignment
Lesson 4: It Looks Like a Homework Assignment
- lesson-05 Ship It
The browser stopped doing the server's job
Lesson 5: The Front Door and the Kitchen
- lesson-06 Ship It
Wrote down what the kitchen actually does
Lesson 6: Inside the Kitchen
- lesson-07 Ship It
One page file became components
Lesson 7: The Building Blocks
- lesson-08 Ship It
It stopped failing silently
Lesson 8: The Silent Crash
- lesson-09 Ship It
Wrote down how this gets onto the internet
Lesson 9: It Lives on the Internet
- lesson-10 Ship It
Stream it, or the server gives up partway
Lesson 10: The Impatient Server
- lesson-11 Ship It
User A can no longer read User B's trip
Lesson 11: Who Are You? And What Can You Do?
- lesson-12 Ship It
Trips survive a refresh now
Lesson 12: Where Do I Put All This?
- lesson-13 Ship It
Photos live in Blob, not in the database
Lesson 13: Users Want to Upload Photos
- lesson-14 Discovery
It stopped being invisible
Lesson 14: The Invisible App
- lesson-15 Discovery
Designed for the phone first, not shrunk down to fit it
Lesson 15: The Tourist's Screen
- lesson-16 Discovery
Speaks French without a second copy of the app
Lesson 16: Bonjour, Trip Planner
- lesson-17 Discovery
Fast from Tokyo, not just from here
Lesson 17: Same Planet, Different Speed
- lesson-18 Sell It
The upload stopped making people wait for the AI
Lesson 18: The Eternal Spinner
- lesson-19 Sell It
Twenty photos at once stopped being everyone else's problem
Lesson 19: The Photo Flood
- lesson-20 Sell It
A trip is a state machine, not a boolean
Lesson 20: What Step Are We On?
- lesson-21 Sell It
Stopped paying itinerary prices for one-word answers
Lesson 21: AI That Doesn't Break the Bank
- lesson-22 Sell It
Refuse the fourth trip until they pay
Lesson 22: Show Me the Money
- lesson-23 Sell It
Sharing means someone else can actually open it
Lesson 23: Talk to Your Users
- lesson-24 Sell It
The European user can take their data and leave
Lesson 24: The European User
- lesson-25 Sell It
Found out it broke before a user said so
Lesson 25: The 3am Mystery
- lesson-26 Sell It
Know which step people give up on
Lesson 26: Know What's Working
- lesson-27 Scale It
Works on my machine, and now on anyone else's
Lesson 27: "Works on My Machine"
- lesson-28 Scale It
One nginx in front of several app servers
Lesson 28: One Server Isn't Enough
- lesson-29 Scale It
Wrote down which cloud pieces this needs, and why
Lesson 29: Cloud as Lego Bricks
- lesson-30 Scale It
The fleet is described in a manifest, not clicked
Lesson 30: Orchestrating the Fleet
- lesson-31 Scale It
Playwright proves user B cannot open user A's trip
Lesson 31: Testing as Insurance
- lesson-32 Scale It
CI runs the checks before a human is asked to
Lesson 32: The Assembly Line
- lesson-33 Scale It
Wrote down what separates production from everything else
Lesson 33: Sacred Ground
- lesson-34 Scale It
A README a stranger can actually start from
Lesson 34: The Architect's Retrospective
Build it yourself
The first lesson is free, and it is the one at the bottom of that list: a real app that did not exist an hour ago, running.
Not ready to install anything? Take the wall map: one page, the walls every AI-built app hits and roughly when.