How to ship a micro-SaaS in a weekend (and what to skip)
The exact 48-hour playbook: what to build, what to skip, the four pieces of infra you need, and the deferred-decisions list.
Most micro-SaaS founders take 6 weeks to ship the first version. The ones who ship in 48 hours don't do less work in those 6 weeks — they spread 48 hours of focused work over 6 weeks of context-switching. This is the 48-hour version.
The pre-work (do this BEFORE the weekend)
- One sentence: "[Product] helps [specific person] do [specific job] in [specific way]." If you can't finish all three blanks, the weekend will be wasted.
- Three potential customers who said "I'd try that." Not "interesting" — try that.
- The one workflow that is the entire product. Not the roadmap; the first thing.
Saturday — Build the spine (10 hours)
Hour 0-1: Stack decision and account setup.
- Hosting + Postgres: Vercel + Supabase (or Neon). Don't deliberate.
- Auth: Supabase Auth or Clerk free tier. Don't build your own.
- Payments: Stripe Checkout (not custom). Generate keys.
- Domain: skip — use vercel.app for the demo.
Hour 1-7: The core workflow. ONE flow. Sign up → do the thing → see the result. No settings page. No team management. No password reset (Supabase Auth handles it). No empty state. No 404 page.
Hour 7-9: Stripe Checkout for one tier. One price. One button. Webhook to mark the user as paid. Don't model multiple tiers; you can ship the first paid plan as a single $X/month.
Hour 9-10: A landing page that's 100 lines max. Headline + 3-bullet feature list + a button. Use Tailwind defaults; don't design.
Sunday — Polish, deploy, sell (10 hours)
Hour 0-2: One round of polish. Fix the three things that look most amateurish. Don't add features.
Hour 2-3: Deploy and smoke test. Sign up flow end-to-end. Payment flow end-to-end. Then test the second user — does anything break with two real accounts in the same DB?
Hour 3-4: Customer support setup. A single email (use a free tier of Plain, Crisp, or just your email). One line on the landing page: "Questions? hello@..."
Hour 4-6: Write to the three pre-work customers. Personalised email each. "Built the thing we talked about. [link]. First month on me if you'd kick the tires." Goal: get the first session captured.
Hour 6-10: Watch what they do. If you have a session-recording tool installed (free PostHog tier), watch where they get stuck. Take notes. Don't fix anything Sunday — fix Monday.
What to skip (and what it would cost you to add later)
- Onboarding flow. First version: log in → land on a one-screen tutorial → start using. Adding it later: 4-6 hours.
- Settings page. Don't have one. When the first customer asks, add the one setting they asked for. ~1 hour each.
- Email infrastructure. Use Supabase Auth's built-in emails. Add Resend later when you need branded emails. ~2 hours.
- Multi-tier pricing. Single $X/month. Add tiers when 3+ customers say they want more. ~3 hours.
- Empty states. Empty list view = blank with one line of text. Add illustrations when you have time and product-market signal.
- Analytics. PostHog free tier or nothing. Don't build a dashboard.
- Tests. Yes, really. The first version is small enough to test by hand. Add tests when the third bug ships to prod.
The deferred-decisions list
Write these down Sunday night. Don't decide them now.
- Tier structure (Pro vs Business)
- Annual pricing discount
- Whether to offer a free trial vs hard paywall
- Team / multi-user support
- API access
- Integrations with X
- Open-source contribution model
You'll have signal on each of these within 4-6 weeks of paying customers. Deciding now is decision-debt; you'll guess wrong.
What to do Monday morning
The three customers from the email. Did any reply? Did any sign up? If yes — talk to them. If no — your wedge is wrong, not your shipping speed. Go back to the one-sentence test before re-doing the weekend.
Discussion
0 comments
Be the first to comment. The Bible community reads every thread.