72 hours: what actually ships vs. what you plan to ship
A post-mortem on my first 72-hour build attempt. What I planned, what I cut, what surprised me, and what I'd do differently.
I ran my first proper 72-hour build last month. Not 72 hours of sitting at the computer — 72 hours spread across 10 days, about 6-8 hours of focused work per day.
Here's the honest version of what happened.
What I planned
- Full household inventory app
- Barcode scanning via camera
- Category tree with subcategories
- Photo upload for each item
- Export to CSV and JSON
- Search with filters
- Mobile-responsive UI
I wrote this list on Day 0 and felt very good about it.
What shipped by Day 3
- Household inventory app (yes ✓)
- ~~Barcode scanning~~ — cut, needed a native phone API I didn't want to deal with
- Category field (flat, not a tree) — simplified and fine
- Photo upload for each item (yes ✓, but no thumbnails)
- ~~Export to CSV and JSON~~ — cut, nobody asked for it yet
- Search by name and location (yes ✓)
- Mobile-responsive (sort of ✓ — ugly but usable)
Score: 4 out of 7 planned features. And honestly, those 4 features are the whole app.
What I cut and why
Barcode scanning — I spent 2 hours on Day 2 trying to get a web-based barcode scanner working. The library I found needed camera permissions that varied across browsers. I cut it. Adding items manually takes 30 seconds. The barcode-scanning version would have cost me a day.
Category tree — I designed a hierarchical category system with parent/child relationships. Then I remembered that nobody has more than 5 categories in practice. A flat TEXT column in SQLite and a dropdown menu was enough.
CSV export — I kept this on the list until Day 3. Then I asked myself: "Does anyone need this right now?" No. Cut.
What surprised me
Day 1 took longer than expected. Setup always does. The schema, the dev environment, the first working route — these take 3-4 hours even when you know what you're doing. Plan for it.
Day 2 is where it gets fun. Once the foundation is there, things move fast. I added search, the photo upload, and most of the UI in one focused session.
Day 3 is for closing loops. I spent Day 3 making the things I built on Day 1 and 2 actually work together properly. Little bugs. Edge cases. Making the form not break if you submit an empty name. Not glamorous, but necessary.
What I'd do differently
Write the checklist before starting, then cut it by 50%.
The features I planned were all reasonable ideas. But I had no evidence that any of them mattered. The one feature a friend asked about when I showed them the app? Search. Just search. That's what made it useful.
Accept the ugly UI on Day 1 and 2. I wasted time on Day 2 making the list look nice before the list actually worked properly. UI polish is the last thing, not the first.
Take screenshots as you go. I only took screenshots at the end, and by then the app looked "finished" — which means the screenshots don't show the interesting parts of the build process. Next time I'll screenshot every hour.
The lesson
72 hours forces prioritization in a way that open-ended side projects never do. When you have a constraint, you make decisions. When you don't, you add features forever.
The app I shipped in 72 hours is more useful than side projects I've worked on for months, because the constraint forced me to figure out what the actual core of the thing was.
The Starter Kit's Day-by-Day checklists are built around what I learned from this build. See what's in the kit →