How we shipped a habit app in 48 hours (and why the next one took four months)
Forty-eight hours. One Friday night, one Saturday, one Sunday morning. That's how long the first version of our habit app took to build and ship. We launched on Product Hunt at 12:01 AM on Monday and went to sleep.
It got 1,087 signups in the first 72 hours. We were ecstatic.
Then the support emails started. And the bug reports. And the one-star reviews. And it became very clear that shipping fast is not the same as shipping right.
What we got right in the first version
The core idea โ "the habit app that doesn't guilt-trip you" โ was solid. People got it in about three seconds on the landing page. Our copy was punchy, our screenshots were honest, and the download flow was friction-free.
A few things we did that still hold up:
- We picked one problem to solve and ignored everything else. No social feeds, no gamification, no AI coach.
- We used real app screenshots, not a mockup of an imaginary app.
- We shipped before the perfectionism could kick in.
Where it fell apart
The backend was held together with duct tape and optimism. We'd written the sync logic on Friday at 2am and never revisited it. When we hit 500 concurrent users, the database caught fire (figuratively โ but our DB host did email us).
The second version took four months. Not because we added features, but because we rebuilt the data layer properly, added proper error handling, wrote tests, and โ yes โ deleted about 30% of the original code.
What we'd do differently
If we were doing the 48-hour sprint again, here's what we'd change:
- Ship the UI fast, but not the data model. Polish the frontend, but use a proven backend (Supabase, PocketBase, whatever) for the first sprint.
- Build a "won't scale but won't break" backup. Even a static JSON on S3 for initial data storage buys you time.
- Write the README first. If you can't explain the project to someone else in one paragraph, you're going to build the wrong thing.
The actual takeaway
The lesson isn't "don't ship fast" or "always ship slow." Both are lazy answers. The real lesson is that shipping is just one phase of the product. The first version is the easy part. Making it last is the hard part.
We'd still ship in 48 hours. We'd just plan for the four months that come after.
Move fast, but build one thing you won't regret rewriting.
If you found this useful, check out our other essays โ especially the one on why we ditched our own design system. That one hurt to write.
Questions? Thoughts? Reply directly to this post by emailing hello@poppie.app. We read every one.