MVP Checklist
A pre-launch checklist to confirm the MVP is actually testable and not missing critical pieces.
Why
An MVP that launches missing a critical piece (analytics, a payment flow!An MVP that launches missing a critical piece (analytics, a payment flow, a feedback channel) cannot test the hypothesis — you ship and learn nothing. The checklist is a forcing function: before you declare "shipped", you confirm that every element needed to measure the hypothesis is in place. This prevents the most embarrassing MVP failure: launching, getting 100 signups, and realizing you cannot tell whether they came from your tweet or your ads, whether they used the core loop or bounced, whether they would pay because you forgot to add checkout. The checklist takes 30 minutes and saves weeks of unmeasurable launch.
When
The day before MVP launch. Takes 30-60 minutes. Do not skip even if you are "sure" everything is ready.
How
1. Hypothesis measurability - Can you measure whether the hypothesis is true or false? - Is the metric instrumented (analytics event, database field)? - Do you have a before-baseline to compare against? 2. Core loop completeness - Can a user complete the entire core loop end-to-end? - Test it yourself on a fresh account with real data - Every step works, no dead-ends, no "coming soon" in the loop 3. Feedback channel - Can users tell you what they think? (in-app feedback, email, Calendly link) - Is someone checking the channel within 24h of launch? 4. Acquisition tracking - Do you know where each signup came from? (UTM params, referral codes) - Can you attribute signups to specific channels for ROI calculation? 5. Payment!5. Payment & revenue (if testing willingness to pay) - Does checkout work end-to-end? (test with a real card) - Can you track conversion: visitor → trial → paid? - Is refund/cancellation possible? (trust requires it) 6. Technical readiness - Does it work on mobile + desktop + major browsers? - Are errors logged and visible to you (not just the user)? - Is!Are errors logged and visible to you (not just the user)? - Is there a status page or at least a way to know if it is down? 7. Launch readiness - Is there a landing page explaining what this is? - Is there a way for users to share it? (share button, public URL) - Do you have a!Do you have a support email and a response SLA?
Example
MVP: AI changelog generator, launching tomorrow. Checklist run (45 min): [✓] Hypothesis: "devs pay $15/mo" → metric: trial→paid conversion, instrumented in Stripe + Mixpanel [✓] Core loop: connect repo → push → generate → copy → pay — tested on a fresh account, works end-to-end [✗] Feedback: no in-app feedback widget → ADD before launch (15 min fix) [✓] Acquisition: UTM params on all links, Mixpanel tracks signup source [✓] Payment: tested Stripe checkout with a real card, $15/mo, refund works [✗] Errors: errors only in browser console, not sent to me → ADD Sentry (10 min) [✓] Landing page: yes, at ez4code.com/changelog [✗] Mobile: core loop broken on mobile (repo picker overflows) → DEFER, note in landing page "desktop recommended" Result: 2 items failed, 1 deferred. Fixed feedback + Sentry (25 min), added "desktop recommended" note. Re-ran checklist: all pass → launch.
Common Problems
- ⚠Skipping the checklist because "it is just an MVP" — the MVP is a test, and a test without measurement is wasted effort.
- ⚠Not!Skipping the checklist because "it is just an MVP" — the MVP is a test, and a test without measurement is wasted effort.
- ⚠Not testing checkout with a real card — "it works in staging" is the most common last!Not testing checkout with a real card — "it works in staging" is the most common last-minute failure; test in production.
- ⚠No feedback channel — without a way for users to talk to you, you miss the qualitative signal that explains the quantitative numbers.
- ⚠Checking items from memory — run through the checklist by actually doing each item; memory checks miss broken things.
Best Practices
- ✓Run the checklist by doing, not by remembering — actually sign up, pay, and complete the loop on a fresh account.
- ✓Include a "can I measure the hypothesis?" item — if you cannot measure it, do not launch; fix the instrumentation first.
- ✓Have a!Have a second person run the checklist — the builder is blind to their own gaps; a fresh eye catches missing pieces.
- ✓Keep the checklist in version control and improve it after each launch — patterns of forgotten items emerge across launches.