diff --git a/content/course/tech-for-non-technical-founders-2026/_index.md b/content/course/tech-for-non-technical-founders-2026/_index.md index 0e42ca6a0..e21b837f9 100644 --- a/content/course/tech-for-non-technical-founders-2026/_index.md +++ b/content/course/tech-for-non-technical-founders-2026/_index.md @@ -95,12 +95,13 @@ Read the modules in order. Each module's output is the next module's input, and
  1. 2.1 The Mom Test: Ask About the Past, Not the Future
  2. 2.2 Sharpen Your Question List with AI Personas optional
    Skip if you've interviewed before. The Mom Test in 2.1 is the core; this chapter rehearses your questions with AI personas first.
  3. -
  4. 2.3a Find 10 People: Where to Look
  5. -
  6. 2.3b Find 10 People: What to Say
  7. -
  8. 2.4 Build a Clickable Prototype
  9. +
  10. 2.3 Find 10 People: Where to Look
  11. +
  12. 2.4 Find 10 People: What to Say
  13. +
  14. 2.5 Mom Test Synthesis: Build, Pivot, or Kill
  15. +
  16. 2.6 Build a Clickable Prototype
-

Templates in this module: Interview Script · Validated Problem Statement · Outreach Sequence · Mom Test Synthesis

-

You leave with: 10 scored interview transcripts and a prototype 5 real customers have clicked through - evidence you can quote back to yourself when doubt creeps in.

+

Templates in this module: Interview Script · Validated Problem Statement · Outreach Sequence · See it in action: Mia interviews ten parents - a full Module 2 walkthrough

+

You leave with: 10 scored interview transcripts, a written build/pivot/kill decision, and a prototype 5 real customers have clicked through - evidence you can quote back to yourself when doubt creeps in.

diff --git a/content/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/index.md b/content/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/index.md index 4badf81d7..1fb6a74a7 100644 --- a/content/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/index.md +++ b/content/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/index.md @@ -30,15 +30,17 @@ canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2 related_posts: false --- -> **Module 2 · Step 2 of 4** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) +> **Module 2 · Lesson 2.2 · [OPTIONAL]** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > -> **Input:** your draft Mom Test question list (5-8 questions from Ch 2.1) + 3 ICP characteristics (ICP = Ideal Customer Profile - the specific kind of person your hypothesis names, introduced in Ch 1.1) +> **Input:** your draft Mom Test question list (5-8 questions from Ch 2.1) + your `[customer]` blank from the Ch 1.1 hypothesis (the role, company size, and situation it names - that description is your ICP, your Ideal Customer Profile) > -> **Output:** a sharpened question list (5-7 solid questions) + top 3 objections, ready to take into Ch 2.3 (a + b) recruitment and real interviews +> **Output:** a sharpened question list (5-7 solid questions) + top 3 objections, ready to take into Ch 2.3-2.4 recruitment and real interviews +> +> **Progress:** M2 · 2 of 6 · Results so far: draft question list · Skip if you have interviewed customers before - 2.1 is the core > > **Cost:** $0 (free tier on Claude or ChatGPT) -> **Skip this if you've interviewed before.** If you've run customer interviews in the past and your questions produced concrete past-tense answers, go straight to [Ch 2.3a: Find 10 People](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/). This chapter catches broken question shapes before they waste real interview slots - useful for first-timers, unnecessary if you've already calibrated your question technique. +> **Skip this if you've interviewed before.** If you've run customer interviews in the past and your questions produced concrete past-tense answers, go straight to [Ch 2.3: Find 10 People](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/). This chapter catches broken question shapes before they waste real interview slots - useful for first-timers, unnecessary if you've already calibrated your question technique. > **TL;DR:** A 90-minute AI rehearsal catches broken questions before you spend real interview slots on them. Claude personas expose hypothetical phrasing that generates polite yeses from anyone. @@ -46,7 +48,9 @@ related_posts: false You drafted 5-8 Mom Test questions in Ch 2.1. Before you spend a real interview slot on a question that turns out to be pitch-shaped, run the question list past a Claude persona that matches your ICP. The persona answers in character; you ask Claude (out of character) which question generated which kind of answer and why. -The failure shape the rehearsal catches: a question like "Would you use a tool like this?" reads fine on paper, generates a polite "sounds great" from any persona, and absorbs five real interview slots before you notice the pattern. The rehearsal flags the question shape before you spend the slot. Same applies to questions that smuggle in your solution, ask for a hypothetical purchase, or bury the past-tense ask under three clauses. +The failure shape the rehearsal catches: a question like "Would you use a tool like this?" reads fine on paper, generates a polite "sounds great" from any persona, and quietly burns real interview slots before you notice the pattern. The rehearsal flags the question shape before you spend the slot. Same applies to questions that smuggle in your solution, ask for a hypothetical purchase, or bury the past-tense ask under three clauses. + +After this lesson you will be able to: **spot and repair pitch-shaped questions before they cost you a real interview slot.** The pattern: rehearsal tells you whether the question is broken; real interviews tell you whether the hypothesis is right. Catching a broken question with a free Claude session is cheaper than catching it on call 5 of 10. @@ -56,12 +60,12 @@ An AI rehearsal costs nothing. A short pass through Claude before you pick up th Real interviews stay irreplaceable for the things rehearsal cannot simulate: the noncommittal shrug on question three, the mention of a workaround you never imagined, the silence after Q4 that tells you more than ten polite yeses. The rehearsal sharpens your questions before you spend a real customer's hour on them. -This chapter is the companion polish step between Ch 2.1 (where you learned the Mom Test technique and drafted 5-8 rough questions) and Ch 2.3 (a + b) (where you recruit 10 real interviewees). You don't validate anything here - the real interviews do that. You catch the broken question shapes before they reach a real human - one focused rehearsal session saves 5 wasted interview slots. Here's the rehearsal flow at a glance: +This chapter is the companion polish step between Ch 2.1 (where you learned the Mom Test technique and drafted 5-8 rough questions) and Ch 2.3-2.4 (where you recruit 10 real interviewees). You don't validate anything here - the real interviews do that. You catch the broken question shapes before they reach a real human - one focused rehearsal session can save you several wasted interview slots. Here's the rehearsal flow at a glance: ```mermaid %%{init: {'theme':'base', 'themeVariables': {'fontFamily':'Caveat, Patrick Hand, cursive', 'primaryColor':'#fff5f5', 'primaryBorderColor':'#cc342d', 'lineColor':'#333', 'primaryTextColor':'#1a1a1a'}}}%% flowchart TD - Start(["Your draft Mom Test questions
+ 3 ICP characteristics"]) + Start(["Your draft Mom Test questions
+ your customer blank from Ch 1.1"]) P1["Prompts 1-2: Build 3 ICP personas,
test each draft question in-character"] P2["Prompt 3: Get Claude's
out-of-character diagnosis"] P3["Prompts 4-5: Surface 3 likely objections,
sharpen weak questions (past-anchored)"] @@ -105,21 +109,20 @@ Your situation: Stay in character for this entire conversation. Do not break character to explain your reasoning. Answer as [PERSONA NAME] would, not as an AI. If a question is vague, give the kind of vague polite answer a busy professional gives when they're not sure what you're asking. ``` - **Placeholder mapping - where each value comes from:** | Placeholder | Where it lives in your artifacts | |---|---| | `[ROLE]` | Founding Hypothesis `[customer]` blank (Ch 1.1) - e.g. "solo chiropractor managing insurance claims" | -| `[INDUSTRY]` + `[COMPANY SIZE]` | The three ICP characteristics you wrote in Ch 1.1 Step 1 | +| `[INDUSTRY]` + `[COMPANY SIZE]` | Your Ch 1.1 `[customer]` blank - the company size and situation it names | | `[PROBLEM DESCRIPTION]` | Founding Hypothesis `[problem]` blank (Ch 1.1) | | `[PROBLEM AREA]` | The `[problem]` blank summarized in 2-3 words (e.g. "claim resubmission backlog") | | `[CURRENT WORKAROUND]` | Founding Hypothesis `[competition]` blank (what they do today) | | `[YOUR DRAFT QUESTION 1]`, `2`, `3`, ... | Pick one question at a time from your Ch 2.1 `Mom Test draft - [date]` doc (5-8 question list) | | `[QUESTION X]` (in Prompt 5) | Whichever question you want to sharpen from your draft list | -| `[PERSONA NAME]`, `[FREQUENCY]`, `[DURATION]`, `[BUDGET RANGE]`, `[REASON]` | Your judgment, anchored to deep-research findings if you ran the Ch 1.1 sidebar - see fallback below | +| `[PERSONA NAME]`, `[FREQUENCY]`, `[DURATION]`, `[BUDGET RANGE]`, `[REASON]` | Your judgment, anchored to deep-research findings if you ran the deep-research prompt on the [full sprint reference](/course/tech-for-non-technical-founders-2026/reference/hypothesis-sprint-full/) linked from Ch 1.1 - see fallback below | -> **Fallback for the 3 fields not in your hypothesis (`[FREQUENCY]`, `[DURATION]`, `[REASON]`):** make your best informed guess. The rehearsal is calibrated; the persona doesn't have to be perfect. After your first real Ch 2.3 (a + b) interview, you will know whether your guess was too mild ("monthly" when reality is "daily") or too aggressive. Revise BETWEEN interview 1 and interview 2. If any placeholder above is empty, the Ch 1.1 hypothesis is not specific enough - tighten it before rehearsing. +> **Fallback for the 3 fields not in your hypothesis (`[FREQUENCY]`, `[DURATION]`, `[REASON]`):** make your best informed guess. The rehearsal is calibrated; the persona doesn't have to be perfect. After your first real Ch 2.3-2.4 interview, you will know whether your guess was too mild ("monthly" when reality is "daily") or too aggressive. Revise BETWEEN interview 1 and interview 2. If any placeholder above is empty, the Ch 1.1 hypothesis is not specific enough - tighten it before rehearsing. > **Heads up:** Claude is trained to be helpful, which means it tends to give reasonable answers even to broken questions. Don't read a coherent persona answer as proof the question works. Read Claude's out-of-character diagnosis instead - the in-character answer reflects what Claude thinks a polite persona would say; the out-of-character note reflects what the question is actually asking. @@ -183,18 +186,18 @@ Judgment is still yours. The diagnostic only tells you which questions are obvio After the rehearsal, you have two deliverables. -**The sharpened question list.** Take your original questions, apply the revisions from Prompt 5, cut the ones flagged in Prompt 4. You should end the session with 5-7 solid questions where you started with 8-12 loose ones. That's the list you take into [booking real interviews with the full outreach stack](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/). +**The sharpened question list.** Take your original questions, apply the revisions from Prompt 5, cut the ones flagged in Prompt 4. You should end the session with 5-7 solid questions where you started with 5-8 loose ones. That's the list you take into [booking real interviews with the full outreach stack](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/). -**The top 3 objections to test in real interviews.** Prompt 4 will surface 3-5 things that make your persona want to end the conversation. Pick the 3 that appeared across at least 2 of your 3 personas. These are the objections you're listening for in real interviews - not discovering them for the first time, but noticing whether and how they show up. There's a difference between a real customer who raises objection #2 early (strong signal that the objection is real) and one who never raises it at all (either it's not real for this person, or your questions didn't give them space to surface it). +**The top 3 objections to test in real interviews.** Prompt 4 will surface 3-5 things that make your persona want to end the conversation. Pick the 3 that appeared across at least 2 of your 3 personas. These are the objections you're listening for in real interviews - not discovering them for the first time, but noticing whether and how they show up. Hearing an objection in rehearsal also does something quieter: when a real person raises it, you've already sat with it, so you take notes instead of getting defensive and pitching to win them back. There's a difference between a real customer who raises objection #2 early (strong signal that the objection is real) and one who never raises it at all (either it's not real for this person, or your questions didn't give them space to surface it). **Objection Tracker** - fill this in after the rehearsal, before your first real interview: -| Objection | Which personas raised it | What phrasing to listen for | Showed up in real interviews? | -|-----------|-------------------------|----------------------------|-------------------------------| -| They'll say budget is controlled by their manager | Personas 1 and 3 | "I'd have to run this by..." | [ ] | -| 1. | | | | -| 2. | | | | -| 3. | | | | +| Objection (and which personas raised it) | What phrasing to listen for | Heard in real interviews? | +|-----------|----------------------------|-------------------------------| +| They'll say budget is controlled by their manager (personas 1 and 3) | "I'd have to run this by..." | [ ] | +| 1. | | | +| 2. | | | +| 3. | | | Print it. Put it next to the [Mom Test interview script](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) on your second monitor. After each real interview, tick the column. By interview 5, you'll know which objections are real and which were just AI pattern-matching. @@ -218,14 +221,14 @@ Reuse the rehearsal stack when a round of real interviews ends in partial signal | Scenario | What to do | Why | |---|---|---| -| **Real interviews end in partial signal** | Run a new persona session with a revised ICP before booking another 10 slots | Filling the 48 hours between round 1 and round 2 surfaces question gaps | +| **Real interviews end in partial signal** | Run a new persona session with a revised ICP before booking your next round of interviews | A rehearsal pass between rounds surfaces question gaps before you spend new slots on them | | **Hypothesis partially invalidated** (problem is real, but wrong customer named) | Build 3 new personas reflecting the ICP shift, run the same prompt sequence | This still doesn't substitute for more real interviews; it just sharpens them | | **Product-direction pivot emerges** (round 1 surfaces a different problem) | Build a persona around the new problem before rebuilding the question list from scratch | Spinning up a persona costs 5 minutes; spinning up another 10 interview slots costs a week | | **Considering a customer pivot between validation rounds** | Compare question performance across both the old ICP persona and the new one before committing | Reveals which questions survive the ICP shift and which ones were persona-specific | One constraint worth naming: the rehearsal only surfaces signal that's already in your mental model of the customer. Claude constructs the persona from what you tell it. -If your ICP description is wrong - the wrong role, the wrong company size, the wrong industry detail - the persona will be wrong in the same direction, and the rehearsal will give you false confidence. +If your ICP description is wrong - the wrong role, the wrong company size, the wrong industry detail - the persona will be wrong in the same direction, and the rehearsal will give you false confidence. If you notice you're struggling to write three distinct personas at all, that's a signal worth acting on: go back to [Ch 1.1](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/) and tighten the [customer] blank before rehearsing questions against a customer you can't describe. This is the other reason real interviews stay irreplaceable: a real customer can tell you your ICP description is wrong, while Claude can only simulate the ICP you described. @@ -242,30 +245,28 @@ This is the other reason real interviews stay irreplaceable: a real customer can > - What a real customer will actually say (Claude simulates the persona YOU describe) > - Whether the problem is real (only 10 Mom Test interviews can falsify the hypothesis) > -> **The real gate:** 10 Mom Test interviews with real humans, ≥7/10 strong signal (Ch 2.1 technique + Ch 2.3 (a + b) recruitment). +> **The real gate:** 10 Mom Test interviews with real humans, ≥7/10 strong signal (Ch 2.1 technique + Ch 2.3-2.4 recruitment). -> **Advanced: AI ensemble stress-test (after your interviews).** Once your 10 Mom Test interviews are done and you have a refined hypothesis, you can cross-validate the business logic using multiple AI models simultaneously. Paste your validated problem statement into [IdeaProof](https://ideaproof.io) (70 free credits, no credit card) - it runs your hypothesis through 4 different models (Claude 4, GPT-4.1, Gemini 3, Grok 4.1) and flags contradictions between them. A claim that passes one model but fails another is a blind spot worth investigating before you build. The ensemble approach catches what a single-model rehearsal misses: each model has different training biases, and consensus across four is stronger signal than one model saying "sounds good." This is not a substitute for the Mom Test interviews - it validates the logic AFTER the interviews validated the problem. Think of it as the final sanity check before you commit to building. +> **Advanced: AI ensemble stress-test (after your interviews).** Once your 10 Mom Test interviews are done and you have a refined hypothesis, you can cross-validate the business logic using multiple AI models simultaneously. Paste your validated problem statement into [IdeaProof](https://ideaproof.io) (free tier to start) - it runs your hypothesis through several frontier models and flags contradictions between them. A claim that passes one model but fails another is a blind spot worth investigating before you build. The ensemble approach catches what a single-model rehearsal misses: each model has different training biases, and consensus across several is stronger signal than one model saying "sounds good." This is not a substitute for the Mom Test interviews - it validates the logic AFTER the interviews validated the problem. Think of it as the final sanity check before you commit to building. The rehearsal does not validate the hypothesis. It validates that your questions are ready to validate the hypothesis. Skip it and you burn real interview slots on questions that fail in minute one. ## Further reading - Rob Fitzpatrick, [The Mom Test (book site)](https://www.momtestbook.com/) - the canonical reference for past-anchored interview questions. -- Y Combinator, [How to Talk to Users](https://www.ycombinator.com/library/6g-how-to-talk-to-users) - YC's short essay on why this conversation has to happen. +- Y Combinator, [How to Talk to Users](https://www.ycombinator.com/library) - YC's short essay on why this conversation has to happen. - Anthropic, [Claude prompting guide](https://docs.anthropic.com/claude/docs/intro-to-prompting) - persona setup, role-play, and breaking character cleanly. -> **Done when:** You have a sharpened question list (5-7 solid questions) and an Objection Tracker with the top 3 objections to listen for. -> -> **Next click:** [2.3a · Find 10 People: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) - build the 30-name list first, then [2.3b · What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) sends the messages. +> **Done:** you have a sharpened question list (5-7 solid questions) and an Objection Tracker with the top 3 objections to listen for. > -> **If blocked:** If all 3 personas produced identical answers, your persona descriptions are too generic. Rewrite them with sharper role, company-size, and urgency differences before continuing. - -> **Case Study: Tomas & Mia** +> **You have now:** a question list rehearsed against pushback (2.2) on top of your 2.1 draft. > -> **Tomas**: Runs his draft questions through a Claude persona - a skeptical controller who's been pitched 3 automation tools and rejected all of them. Persona flags 2 leading questions. Sharpens them to anchor in specific past reconciliation events. +> **Next:** [2.3 · Find 10 People: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) - build the 30-name list first, then [2.4 · What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) sends the messages. > -> **Mia**: Runs her draft questions through a Claude persona - a parent of a 10-year-old with ADHD burned by a tutoring app before. Persona flags 1 question that assumes the parent has time to search. Adds: "What happened the last time you tried to book a tutor during a workday?" +> **If blocked:** If all 3 personas produced identical answers, your persona descriptions are too generic. Rewrite them with sharper role, company-size, and urgency differences before continuing. --- +*See it in action: [Module 2 walkthrough: Mia interviews ten parents](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/)* + *Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/channel-selection-before-outbound/index.md b/content/course/tech-for-non-technical-founders-2026/channel-selection-before-outbound/index.md index 5357e9b9d..9cae1823f 100644 --- a/content/course/tech-for-non-technical-founders-2026/channel-selection-before-outbound/index.md +++ b/content/course/tech-for-non-technical-founders-2026/channel-selection-before-outbound/index.md @@ -131,7 +131,7 @@ Run the prompt against your own transcripts. If your interview evidence points t The prompt is a forcing function, not a crystal ball. The real data comes from running the channel. -> **Fast-path exit: skip the worksheet if your interviews already named a channel.** If your Ch 2.3 (a + b) interview transcripts pointed to a clear channel (e.g., 7+ of 10 interviewees found tools through LinkedIn, or 5+ named a specific Slack community), jump to Part 3: The Commitment at the bottom of the worksheet. Write your commitment statement and move to Ch 5.3. The full worksheet is for founders still deciding between channels. It's a diagnostic, not a gate. +> **Fast-path exit: skip the worksheet if your interviews already named a channel.** If your Ch 2.3-2.4 interview transcripts pointed to a clear channel (e.g., 7+ of 10 interviewees found tools through LinkedIn, or 5+ named a specific Slack community), jump to Part 3: The Commitment at the bottom of the worksheet. Write your commitment statement and move to Ch 5.3. The full worksheet is for founders still deciding between channels. It's a diagnostic, not a gate. > **Module 5 AI critic/simulator block** > @@ -144,7 +144,7 @@ The prompt is a forcing function, not a crystal ball. The real data comes from r > > **The real gate:** ≥9/12 channel-fit score + a full send/reply/follow-up arc with reply rate >5%. > -> **Optional: auto-parse social media for leads.** [WorthBuild](https://worthbuild.io) (1 free report/month) scans Reddit, Twitter/X, and LinkedIn for posts matching your ICP's problem description and returns a list of named people publicly complaining about the thing you solve. Use it to seed your outreach list when the manual reading in Ch 2.3 (a + b) didn't produce enough names. The free tier gives you one batch per month - save it until you have exhausted your hand-picked list and need fresh contacts. +> **Optional: auto-parse social media for leads.** [WorthBuild](https://worthbuild.io) (1 free report/month) scans Reddit, Twitter/X, and LinkedIn for posts matching your ICP's problem description and returns a list of named people publicly complaining about the thing you solve. Use it to seed your outreach list when the manual reading in Ch 2.3-2.4 didn't produce enough names. The free tier gives you one batch per month - save it until you have exhausted your hand-picked list and need fresh contacts. ## Channel Selection Worksheet diff --git a/content/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/index.md b/content/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/index.md index 42bfa1b52..162160cba 100644 --- a/content/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/index.md +++ b/content/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/index.md @@ -1,5 +1,5 @@ --- -title: "2.4 · Build a Clickable Prototype" +title: "2.6 · Build a Clickable Prototype" aliases: ["/blog/clickable-prototype-validation-2-hour-lovable/"] description: "A throwaway Lovable prototype lets 5 interview subjects experience the SHAPE of your solution. The third validation pillar after the landing page." date: 2026-05-18 @@ -23,28 +23,32 @@ categories: ["Founders"] cover_image: cover.png metatags: image: cover.png - og_title: "2.4 · Build a Clickable Prototype" + og_title: "2.6 · Build a Clickable Prototype" og_description: "A throwaway Lovable prototype lets 5 interview subjects experience the SHAPE of your solution. The third validation pillar after the landing page." -cover_image_alt: "JetThoughts cover for Chapter 2.4 - hand-drawn three-screen clickable prototype with five user-test sessions and pass/fail signal markers" +cover_image_alt: "JetThoughts cover for Chapter 2.6 - hand-drawn three-screen clickable prototype with five user-test sessions and pass/fail signal markers" canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/" related_posts: false --- -> **Module 2 · Step 4 of 4** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) +> **Module 2 · Lesson 2.6 · [CORE]** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > -> **Input:** 5 of the 10 Mom Test interviewees from Chapter 2.3 (recruited in [2.3a](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/), messaged in [2.3b](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/)) - pick the strongest-signal ones (scored per the Ch 2.1 rubric) +> **Input:** a BUILD decision plus your validated problem statement from [2.5](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/), and 5 of the 10 Mom Test interviewees (recruited in [2.3](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/), messaged in [2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/)) - pick the strongest-signal ones (scored per the Ch 2.1 rubric) > > **Output:** 5 of them watched navigating a throwaway clickable prototype, with pass/fail per session +> +> **Progress:** M2 · 6 of 6 · Results so far: question list + 30-name list + 10 scored interviews + a build/pivot/kill verdict and validated problem statement > **TL;DR:** Three throwaway screens, five silent-observation sessions. Watch whether users can navigate your solution without coaching - something interviews cannot tell you. -> **How this chapter relates to Ch 2.3 (a + b):** [Ch 2.3 (a + b)](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) already booked and ran your 10 past-behavior Mom Test interviews. This chapter takes 5 of those 10 (the ones who scored 7+ on the Mom Test) and re-engages them for a 30-min silent-observation session with a throwaway Lovable prototype. You are NOT recruiting fresh people; you are re-asking warm contacts for a different kind of time. Ch 2.3 (a + b) validated THE PROBLEM; Ch 2.4 validates THE SOLUTION SHAPE. +> **How this chapter relates to Ch 2.3-2.4:** [Ch 2.3-2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) already booked and ran your 10 past-behavior Mom Test interviews. This chapter takes 5 of those 10 (the ones who scored 7+ on the Mom Test) and re-engages them for a 30-min silent-observation session with a throwaway Lovable prototype. You are NOT recruiting fresh people; you are re-asking warm contacts for a different kind of time. Ch 2.3-2.4 validated THE PROBLEM; Ch 2.6 validates THE SOLUTION SHAPE. The [Mom Test](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) tells you whether the problem is real and felt. A clickable prototype tells you something the Mom Test cannot: whether the user knows what to do when you hand them a solution. Those signals do not measure the same thing. -One of the founders we sat with had run 8 Mom Test interviews that came back strong: workaround evidence, named monthly costs, real frustration language. She moved to Lovable (an AI app builder; see the gloss in [Chapter 4.3a](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/)) and built a working app over several weeks. +After this lesson you will be able to: **watch 5 real customers try to use your solution before it exists - and score what they do, not what they say.** + +A founder we advised had run 8 Mom Test interviews that came back strong: workaround evidence, named monthly costs, real frustration language. She moved to Lovable (an AI app builder; see the gloss in [Chapter 4.3a](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/)) and built a working app over several weeks. When she had 5 of the same interviewees log in to try the live app, several stalled on screen 2 - they recognised the problem the app was solving but could not figure out which button to click next. Validating the problem had not validated whether the interface shape was something they could navigate. @@ -94,13 +98,13 @@ flowchart LR ## This Is Throwaway -> Three screens, fake data hard-coded in, CTAs that navigate but do not save. You are building a question-"Does the user know what to do?"-not a product. Then you archive it. +> Three screens, fake data hard-coded in, CTAs that navigate but do not save. You are building a question - "Does the user know what to do?" - not a product. Then you archive it. Try to "polish the prototype into the MVP later" and you spend much longer on it, add features that invalidate the shape test, and carry every throwaway compromise into production. The [Module 4 Lovable build](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/) starts fresh with a proper one-page brief, real auth, and a real database. This prototype has one goal: three screens, five sessions, then archive. ## Build 3 Screens with Lovable -[Lovable](https://lovable.dev) is an AI app builder that generates a working web app from a prompt. Free trial; paid plans from $25/month. No coding required. +[Lovable](https://lovable.dev) is an AI app builder that generates a working web app from a prompt. Free trial available. No coding required. Three screens is the constraint - not five, not ten - because each extra screen multiplies the build effort without sharpening the validation signal. @@ -122,9 +126,9 @@ What the user sees after the core action succeeds. A confirmation message, a sum > **📋 Save this template.** Copy the prompt below into your notes. You'll reuse the same structure in [Module 4's real MVP build](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/) - same Lovable tool, same 3-screen skeleton, but with real auth, real database, and real Stripe. -> **Practical Lovable onramp.** [Lovable](https://lovable.dev) is an AI app builder that generates a working web app from a prompt - you type what you want in English, it ships the screens. The **free trial** gives you a small number of messages per day with no credit card required, which is enough to ship this 3-screen throwaway prototype. **Paid plans start at $25/month (Pro)** and are only worth it later if you decide to upgrade for higher message volume - not required for this chapter. +> **Practical Lovable onramp.** [Lovable](https://lovable.dev) is an AI app builder that generates a working web app from a prompt - you type what you want in English, it ships the screens. The **free trial** gives you a small number of messages per day with no credit card required, which is enough to ship this 3-screen throwaway prototype. **Paid plans lift the cap - check Lovable's pricing page.** They only become worth it if you later need higher message volume - not required for this chapter. -> **If you hit Lovable's free-tier daily cap (5 messages):** save your work-in-progress (Lovable auto-saves to your account, but copy the prompt + the current screen output to a note), come back tomorrow when the cap resets, OR upgrade to $25/mo Pro if you want to ship in one focused session. The 3-screen prototype rarely needs more than 10 total messages once your prompt is well-formed - the cap usually bites only on poorly-scoped first attempts. +> **If you hit Lovable's free-tier daily message cap (check current limits):** save your work-in-progress (Lovable auto-saves to your account, but copy the prompt + the current screen output to a note), come back tomorrow when the cap resets, OR upgrade to a paid plan if you want to ship in one focused session. The 3-screen prototype rarely needs more than 10 total messages once your prompt is well-formed - the cap usually bites only on poorly-scoped first attempts. Open [Lovable](https://lovable.dev), create a new project, and paste the following. Replace all `[PLACEHOLDERS]` with your specific problem and solution. @@ -217,17 +221,17 @@ flowchart TD ### Setup - recruit and book -Choose 5 of the 10 interviewees whose Mom Test scores were 7 or higher. You already have a relationship with them. They already confirmed the problem is real. Now you are asking them one hour of a different kind of time: watching them use the interface, not answering your questions. +Choose 5 of the 10 interviewees whose Mom Test scores were 7 or higher. You already have a relationship with them. They already confirmed the problem is real. Now you are asking them for 30 minutes of a different kind of time: watching them use the interface, not answering your questions. Book the sessions as 30-minute video calls. Send the Lovable prototype link 10 minutes before - not earlier. You do not want them exploring it solo before you can observe. -**The re-engagement message** (paste into LinkedIn DM or reply to your original Ch 2.3 (a + b) thread): +**The re-engagement message** (paste into LinkedIn DM or reply to your original Ch 2.3-2.4 thread): > *"Hi [name] - thank you for the 40 minutes last week. I built a quick clickable prototype based on what you told me about [their specific workaround from the Mom Test transcript]. I'd like 30 more minutes to watch you try it without me explaining anything - just silent observation while you click through. I'll send the link 10 minutes before. Would Tuesday afternoon or Wednesday afternoon work?"* -Expect 4-5 of 5 to say yes. They invested 40 minutes in the first call; the second ask is half that time and a different motion. The *"I built something based on what you told me"* line is what gets them to say yes - it signals you listened, and it makes the prototype session feel like the natural continuation of the first conversation rather than a fresh cold outreach. +Expect 4-5 of 5 to say yes. They invested 40 minutes in the first call; the second ask is shorter and a different motion. The *"I built something based on what you told me"* line is what gets them to say yes - it signals you listened, and it makes the prototype session feel like the natural continuation of the first conversation rather than a fresh cold outreach. -> **Slow-path variant for the part-time founder**: scheduling 5 live observation calls on top of your only weekly window is unrealistic. Async alternative: send each interviewee the Lovable prototype link + a short Loom prompt ("record yourself trying these 3 tasks"). Use [Maze](https://maze.co) (free tier covers 3 testers) or [UserTesting](https://www.usertesting.com) (paid) if you want screen recording with click heatmaps. You lose the real-time follow-up question ability, but you gain async scheduling - the testers record on their own time, you watch the 5 recordings in one batch. Catch rate is about 70% of what live sessions surface (you miss the "what were you about to click" follow-ups) but 200% better than skipping the validation step because you couldn't schedule it. +> **Slow-path variant for the part-time founder**: scheduling 5 live observation calls on top of your only weekly window is unrealistic. Async alternative: send each interviewee the Lovable prototype link + a short Loom prompt ("record yourself trying these 3 tasks"). Use [Maze](https://maze.co) (free tier covers a handful of testers - check current limits) or [UserTesting](https://www.usertesting.com) (paid) if you want screen recording with click heatmaps. You lose the real-time follow-up question ability, but you gain async scheduling - the testers record on their own time, you watch the 5 recordings in one batch. Recordings surface less than live sessions do (you miss the "what were you about to click" follow-ups), and still far more than skipping the validation step because you couldn't schedule it. ### Script - the prototype session @@ -269,7 +273,7 @@ Write down their exact words. Do not prompt. If they give a vague answer, say: " - "What was the moment you felt most lost?" - "What did you expect to see on the second screen that wasn't there?" - "If you used this every week, what would you call the thing it does for you?" -- "What would have to be true for you to pay [your target price] for this?" (Use the price hypothesis you tested in [Chapter 1.5](/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/) - if you haven't run that test yet, the chapter's $49-$299 band is your default starting point.) +- "What would have to be true for you to pay [your target price] for this?" (Use the price hypothesis you tested in [Chapter 1.5](/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/) - if you haven't run that test yet, the $49-$299 band from the [full price-test reference](/course/tech-for-non-technical-founders-2026/reference/stripe-price-test-full/) is your default starting point.) Thank them. End the call. Score the session immediately. @@ -317,7 +321,7 @@ You carry the insight forward - into the [One-Page Product Brief](/course/tech-f |---|---|---| | **4-5 passes** | Shape is legible. Users navigate without coaching. | Write the [One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/) using the exact "describe in one sentence" words from closing questions. This vocabulary is worth more than marketing copy. | | **2-3 passes** | Shape is mostly legible but something broke. | Revise one element (vocabulary, Screen 1 layout, or CTA label) and run 2 replacement sessions. One iteration only. | -| **0-1 pass** | Shape is wrong. Solution concept needs a different starting point. | Read the "what did you expect to see" answers-that is the user's mental model. Return to Chapter 2.1 before restarting. Do not write the brief yet. | +| **0-1 pass** | Shape is wrong. Solution concept needs a different starting point. | Read the "what did you expect to see" answers - that is the user's mental model. Return to Chapter 2.1 before restarting. Do not write the brief yet. | Catching a shape mismatch here costs you a single throwaway prototype. @@ -325,40 +329,40 @@ Catching it in Module 4, after you have started the real build, costs the real b ## Artifacts you carry out of Module 2 -After finishing Ch 2.1-2.4, Sam has five artifacts. Each one feeds a specific downstream destination - this table is the map: +After finishing Ch 2.1-2.6, you have five artifacts. Each one feeds a specific downstream destination - this table is the map: | Artifact | Where it goes next | |---|---| -| **Validated Problem Statement** (Ch 2.1 synthesis applied to your Ch 2.3 (a + b) transcripts) | Ch 3.1 Section 1 - copy verbatim. This is the PRD's foundation. (PRD = product requirements document, the one-page spec a team or AI agent builds from.) | +| **Validated Problem Statement** (Ch 2.5 synthesis applied to your Ch 2.3-2.4 transcripts) | Ch 3.1 Section 1 - copy verbatim. This is the PRD's foundation. (PRD = product requirements document, the one-page spec a team or AI agent builds from.) | | **Pass/fail prototype log** (5 sessions from this chapter) | Reference doc: did we get the shape right? If yes, write the brief. If no, the table above routes you to a revision or restart. | | **Verbatim "describe in one sentence" vocabulary** (closing answers from this chapter) | Ch 3.1 Section 3 ("what you're building") + Ch 4.3 (a + b) Lovable prompts. The user's words beat your marketing copy. | -| **10 raw transcripts** (Ch 2.3 (a + b) interview recordings + notes) | Archive. Reference if you ever pivot - they hold the language for a re-targeted ICP. | -| **30 raw verbatim sentences** (Ch 2.3 (a + b) step 2, Reddit/forum complaints) | Reference for Ch 3.1 Section 1 supplementary evidence + the bank for Ch 2.3 (a + b) cold-message subject lines in any future round 2. | +| **10 raw transcripts** (Ch 2.3-2.4 interview recordings + notes) | Archive. Reference if you ever pivot - they hold the language for a re-targeted ICP. | +| **30 raw verbatim sentences** (Ch 2.3-2.4 step 2, Reddit/forum complaints) | Reference for Ch 3.1 Section 1 supplementary evidence + the bank for Ch 2.3-2.4 cold-message subject lines in any future round 2. | ## Iterate or proceed? The combined Module-2 decision matrix -The 2 chapters each have their own iteration guidance (Ch 2.3 (a + b) reply rate, Ch 2.4 pass count above). The COMBINED decision uses both signals together: +Each signal has its own iteration guidance (Ch 2.5's build/pivot/kill call on the scored interviews, and the Ch 2.6 pass count above). The COMBINED decision uses both signals together: -| Ch 2.3 (a + b) interview signal | Ch 2.4 prototype signal | Decision | +| Interview signal (Ch 2.5 synthesis) | Ch 2.6 prototype signal | Decision | |---|---|---| | 7+ of 10 scored ≥7 | 4-5 of 5 passed | **PROCEED** - write the Ch 3.1 brief tonight | | 7+ of 10 scored ≥7 | 2-3 of 5 passed | **ONE iteration round** - revise the prototype's worst-failing screen, re-run 2 replacement sessions (NOT new interviews) | -| 5-6 of 10 scored ≥7 | 4-5 of 5 passed | **ONE iteration round** - re-interview 3 of the polite-yes scorers asking sharper past-behavior questions (NOT a new prototype) | -| 5-6 of 10 scored ≥7 | 2-3 of 5 passed | **STOP and re-evaluate** - read all 10 transcripts; either the ICP is wrong (re-target) or the problem framing is wrong (re-write hypothesis at Ch 1.1) | -| <5 of 10 scored ≥7 | (any) | **KILL** - the problem is too weak for this ICP. Return to Ch 1.1 with a different customer or problem blank rewritten. | +| 4-6 of 10 scored ≥7 | 4-5 of 5 passed | **ONE iteration round** - re-interview 3 of the polite-yes scorers asking sharper past-behavior questions (NOT a new prototype) | +| 4-6 of 10 scored ≥7 | 2-3 of 5 passed | **STOP and re-evaluate** - read all 10 transcripts; either the ICP is wrong (re-target) or the problem framing is wrong (re-write hypothesis at Ch 1.1) | +| Under 4 of 10 scored ≥7 | (any) | **KILL** - the problem is too weak for this ICP. Return to Ch 1.1 with a different customer or problem blank rewritten. | | (any) | 0-1 of 5 passed | **STOP, don't proceed to M3** - the solution shape is fundamentally wrong; return to Ch 2.1 | The trap to avoid: doing 2-3 iteration rounds when the matrix says STOP. Module 2 is the cheapest place in the course to discover the problem or ICP is wrong - don't burn another round of interviews trying to massage signal into a problem that isn't there. --- -The artifacts from this chapter (pass/fail log + vocabulary) plus the validated problem statement from Ch 2.1 synthesis are everything Module 3 needs. The brief goes into [Module 4's fresh Lovable build](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/). +The artifacts from this chapter (pass/fail log + vocabulary) plus the validated problem statement from Ch 2.5 synthesis are everything Module 3 needs. The brief goes into [Module 4's fresh Lovable build](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/). ## What to do next | Step | Action | Output | |---|---|---| -| **1** | Open Lovable and run the persona-setup prompt with your 3 ICP variants. Aim for a navigable 3-screen prototype within your first ~10 Lovable exchanges; stop at 3 screens (a 4th is the prototype turning into the MVP). | Throwaway 3-screen prototype with link | +| **1** | Open Lovable and paste this chapter's 3-screen prompt template with every `[PLACEHOLDER]` filled in. Aim for a navigable 3-screen prototype within your first ~10 Lovable exchanges; stop at 3 screens (a 4th is the prototype turning into the MVP). | Throwaway 3-screen prototype with link | | **2** | Book 5 silent-observation sessions with interviewees who scored 7+ on the Mom Test. Send the prototype link 10 minutes before each call. | 5 sessions on the calendar | | **3** | Tally the pass count from 5 sessions. Copy the exact "describe in one sentence" answers into a doc - those words go into the [One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/) verbatim. | Pass/fail count + verbatim vocabulary | @@ -368,25 +372,22 @@ Nothing from the throwaway prototype carries forward except what you learned. - Rob Fitzpatrick, [The Mom Test (book site)](https://www.momtestbook.com/) - the problem-signal validation this prototype session builds on. - Steve Krug, [Don't Make Me Think](https://sensible.com/dont-make-me-think/) - the thinking-aloud usability test that the silent-observation session above is adapted from. -- IDEO, [The Field Guide to Human-Centered Design](https://www.designkit.org/resources/1) - prototyping-for-learning methodology at the source. -- Y Combinator, [How to Talk to Users (Startup Library)](https://www.ycombinator.com/library/6g-how-to-talk-to-users) - how the prototype observation fits into the broader customer-discovery arc. +- Y Combinator, [How to Talk to Users (Startup Library)](https://www.ycombinator.com/library) - how the prototype observation fits into the broader customer-discovery arc. - [Lovable](https://lovable.dev) - the AI builder used in this chapter's throwaway prompt-to-prototype workflow. -> **Done when:** 5 silent-observation sessions are complete, scored with pass/fail per session, and you have verbatim vocabulary from the closing "describe in one sentence" answers. -> **Founder OS · Artifact #3 of 6:** 10 scored Mom Test transcripts (from Ch 2.3a + 2.3b) + 5 prototype session pass/fail signals + the `Prototype Vocabulary - [date]` doc with verbatim "describe in one sentence" answers. Drop them all in your `Founder OS` folder; Ch 3.1 reads the vocabulary into Section 3 of the brief. +> **Done:** 5 silent-observation sessions are complete, scored with pass/fail per session, and you have verbatim vocabulary from the closing "describe in one sentence" answers. +> **Founder OS · Module 2 bundle:** 10 scored Mom Test transcripts (from Ch 2.3 + 2.4) + the validated problem statement (Ch 2.5) + 5 prototype session pass/fail signals + the `Prototype Vocabulary - [date]` doc with verbatim "describe in one sentence" answers. Drop them all in your `Founder OS` folder; Ch 3.1 reads the vocabulary into Section 3 of the brief. > -> **Next click:** [3.1 · The One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/) +> **You have now:** all Module 2 artifacts - scored interviews (2.1-2.4), the build/pivot/kill decision (2.5), and prototype feedback from 5 real customers (2.6). Module 2 closes here. +> +> **Next:** [3.1 · The One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/) > > **If blocked:** If 0-1 of 5 sessions passed, the solution shape is wrong. Read the "what did you expect to see" answers from the closing questions - that is the user's mental model. Return to Ch 2.1 before writing the brief. -> **Module 2 closes here.** Before opening Module 3, you should have: (1) a sharpened question list after the AI persona rehearsal (Ch 2.2), (2) a 30-name ICP list built from real complaints (Ch 2.3a), (3) 10 interview transcripts scored 7+/10 strong signal (Ch 2.3b), (4) a one-page validated problem statement with build/pivot/kill verdict (Ch 2.1b synthesis), and (5) 5 prototype sessions with verbatim "describe in one sentence" vocabulary (this chapter). All five in your `Founder OS` folder. Missing one? Go back - Module 3 cannot start without the validated problem statement + prototype vocabulary. - -> **Case Study: Tomas & Mia** -> -> **Tomas**: Builds a 2-hour Lovable prototype: a dashboard showing mock reconciliation - Stripe transactions on the left, QuickBooks invoices on the right, a "match" button in the middle. 4 of 5 controllers say "when can I use this?" 1 objects: "what happens when the match is wrong?" -> -> **Mia**: Builds a 2-hour Lovable prototype: a tutor search page with filters (specialty, location, availability) and mock profiles with reviews. 4 of 5 parents say "I'd use this tomorrow." 1 asks for reviews before booking - she adds them. +> **Module 2 closes here.** Before opening Module 3, you should have: (1) a sharpened question list after the AI persona rehearsal (Ch 2.2), (2) a 30-name ICP list built from real complaints (Ch 2.3), (3) 10 interview transcripts scored per the Ch 2.1 rubric (calls booked in Ch 2.4), (4) a one-page validated problem statement with build/pivot/kill verdict (Ch 2.5 synthesis), and (5) 5 prototype sessions with verbatim "describe in one sentence" vocabulary (this chapter). All five in your `Founder OS` folder. Missing one? Go back - Module 3 cannot start without the validated problem statement + prototype vocabulary. --- +*See it in action: [Module 2 walkthrough: Mia interviews ten parents](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/)* + *Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/faq/index.md b/content/course/tech-for-non-technical-founders-2026/faq/index.md index a5eca6138..18e6c4178 100644 --- a/content/course/tech-for-non-technical-founders-2026/faq/index.md +++ b/content/course/tech-for-non-technical-founders-2026/faq/index.md @@ -55,7 +55,7 @@ Mixo (free tier, ~60 seconds from idea to page). If the templates don't fit, Car **Q: I can't find anyone to interview. I've searched everywhere.** -Two fixes: (1) Your hypothesis is too vague - "small business owners" is not a searchable ICP (Ideal Customer Profile - the specific kind of person your hypothesis names). Tighten to "12-person law-firm office manager." (2) Search second-degree keywords: "boarding costs" instead of "pet sitter." The [Ch 2.3a chapter](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) has the AI prompt that generates 8 communities + 5 search strings from your hypothesis. +Two fixes: (1) Your hypothesis is too vague - "small business owners" is not a searchable ICP (Ideal Customer Profile - the specific kind of person your hypothesis names). Tighten to "12-person law-firm office manager." (2) Search second-degree keywords: "boarding costs" instead of "pet sitter." The [Ch 2.3 chapter](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) has the AI prompt that generates 8 communities + 5 search strings from your hypothesis. **Q: Everyone I interview says "sounds great" but nobody gives me real data.** @@ -63,11 +63,11 @@ Your questions are probably hypothetical-shaped. "Would you use a tool like this **Q: Should I skip the AI persona rehearsal (Ch 2.2)?** -If you've run customer interviews before and your questions reliably produce concrete past-tense answers, skip it - go straight to [Ch 2.3a](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/). If this is your first time running Mom Test interviews, the 90-minute rehearsal catches broken question shapes before they waste real interview slots. +If you've run customer interviews before and your questions reliably produce concrete past-tense answers, skip it - go straight to [Ch 2.3](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/). If this is your first time running Mom Test interviews, the 90-minute rehearsal catches broken question shapes before they waste real interview slots. **Q: Fewer than 7 of my 10 interviewees have actually spent time or money on the problem. What does that mean?** -Directional KILL. The Module 2 gate is ≥7 of 10 interviewees with real past spend - fewer means the problem isn't acute enough to build for. Before you pivot, check: are you interviewing the right ICP? If you interviewed 10 chiropractors and the problem isn't real for them, but 3 mentioned a related problem they DO care about, build a new hypothesis around that problem and re-validate. +Pivot or kill, depending on the count. The [Ch 2.5 gate](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) reads: 7 or more of 10 interviewees with real past spend = build, 4-6 = pivot, under 4 = kill. Before you pivot, check: are you interviewing the right ICP? If you interviewed 10 chiropractors and the problem isn't real for them, but 3 mentioned a related problem they DO care about, build a new hypothesis around that problem and re-validate. --- @@ -93,7 +93,7 @@ Run the [Ch 4.1 decision tree](/course/tech-for-non-technical-founders-2026/shou Only 3 rules need to be true before you open Lovable: (1) your one-page brief passed the Ch 3.2 quality-gate, (2) you scoped one workflow for one persona, (3) GitHub sync is on in Lovable Settings. The other 9 rules fire inline during the build. Read the [Ch 4.3a chapter](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/) for the full list. -**Q: Lovable generated a 47-button admin panel from my one-page brief.** +**Q: Lovable generated a sprawling admin panel from my one-page brief.** Your brief's Section 3 is feature-shaped. Go back to [Ch 3.2](/course/tech-for-non-technical-founders-2026/stop-specifying-features-start-outcomes/) and rewrite every feature as a "When / I want / So I can" outcome before you re-prompt Lovable. Then use the AI critic block in [Ch 4.3a](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/) to audit your build against your brief. diff --git a/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/cover.png b/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/cover.png index 06719ed14..57f70895c 100644 Binary files a/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/cover.png and b/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/cover.png differ diff --git a/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/index.md b/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/index.md index 9bdd1e79e..de6bcc48f 100644 --- a/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/index.md +++ b/content/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/index.md @@ -1,5 +1,5 @@ --- -title: "2.3a · Find 10 People: Where to Look" +title: "2.3 · Find 10 People: Where to Look" aliases: ["/blog/find-10-people-where-to-look/"] description: "Where to find 10 people who actually have your validated problem. AI translates your hypothesis into an ICP map, you read where they post, you build a 30-name list from people you can name." date: 2026-05-18 @@ -22,25 +22,29 @@ categories: ["Founders"] cover_image: cover.png metatags: image: cover.png - og_title: "2.3a · Find 10 People: Where to Look" + og_title: "2.3 · Find 10 People: Where to Look" og_description: "Where to find 10 people who actually have your validated problem. AI translates your hypothesis into an ICP map, you read where they post, you build a 30-name list." -cover_image_alt: "JetThoughts cover showing the 5-step outreach funnel from Reddit mining at the top down to 10 calls booked at the bottom" +cover_image_alt: "JetThoughts course cover for Lesson 2.3 - Find 10 People Who Already Care, with a 30-name list card: name and where they posted, the post URL, one quoted line" canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/" related_posts: false --- -> **Module 2 · Step 3a of 4** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) +> **Module 2 · Lesson 2.3 · [CORE]** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > > **Input:** a hypothesis you suspect is real (from Ch 1.1) + a sharpened Mom Test question list (built in Ch 2.1, polished in Ch 2.2) > -> **Output:** a 30-name list of specific people you can name because you read what they wrote, ready for the outreach templates in [Ch 2.3b](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) +> **Output:** a 30-name list of specific people you can name because you read what they wrote, ready for the outreach templates in [Ch 2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) +> +> **Progress:** M2 · 3 of 6 · Results so far: question list ready to run -> **TL;DR (Part 1 of 2):** Paste your three-sentence hypothesis into Claude, get back the ICP (Ideal Customer Profile - the specific kind of person your hypothesis names; introduced in Ch 1.1) profile + exact communities + search strings. Read where your ICP is already complaining. Build a 30-name list. [Part 2: What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) covers the message templates, cadence, and follow-up sequence. +> **TL;DR (Part 1 of 2):** Expand your one-sentence hypothesis from Ch 1.1 into three sentences (a short step below), paste them into Claude, and get back the ICP profile (ICP = Ideal Customer Profile - the specific kind of person your hypothesis's [customer] blank names) + exact communities + search strings. Read where your ICP is already complaining. Build a 30-name list. [Part 2: What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) covers the message templates, cadence, and follow-up sequence. -Most non-technical founders start with the same move: "I'll just message my LinkedIn network." Sixty polite DMs over a week tend to produce 3 calls - two old colleagues showing up to be nice, one real lead who ghosts on reschedule. +The instinctive first move is "I'll just message my LinkedIn network." Sixty polite DMs over a week tend to produce 3 calls - two old colleagues showing up to be nice, one real lead who ghosts on reschedule. The technique below replaces that move with a different one: read where strangers are already complaining about your exact hypothesised problem, then write back to those specific complainers. Same hypothesis, same work hours, different place to look. The DM-the-network move books 2-3 polite calls. The read-where-they-already-complain move - half a day of reading threads, then 30 named outreach messages - produces a calendar of 10+ booked interviews. +After this lesson you will be able to: **build a 30-name list of specific people who already complained about your problem in public - people you can name because you read what they wrote.** + The full journey, top to bottom: ```mermaid @@ -70,7 +74,7 @@ flowchart TD > **Calendar reality + smoke-test gate before you start.** Full-time founder typically books 10 interviews across 2-4 calendar weeks; evening-only founder (2-4 hr/week) typically needs 6-8 calendar weeks - plan around the longer version. Your Ch 1.2-1.4 smoke test should have cleared roughly 6%+ email conversion (the "Promising" band) or 5%+ Stripe-click on the Ch 1.5 price-button variant. 3-6% is the "iterate the message" zone, not a green light. Below 3% means you have a demand-side problem - go back to [Ch 1.1](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/) and rewrite the weakest blank before booking interviews. -This page covers steps 1-3. Part 2 covers steps 4-5. +This page covers steps 1-3. Part 2 covers steps 4-5. One time-box before you start: if you catch yourself on day three still polishing the list instead of moving to outreach, stop - the list is a means to 10 conversations, and 25 good rows now beat 30 perfect rows next week. ## Before you start: write three sentences @@ -115,7 +119,7 @@ Return: If you cannot describe a real community for any item, respond with "NOT FOUND - [item]" rather than guessing. ``` -> No competitor URLs yet? If you ran the [naive Claude/ChatGPT prompt in Chapter 1.1](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/) with the follow-up "name 3-5 competitors," you already have them. Otherwise: Google your problem in plain words plus `tool` or `software`, grab the top 2 results that aren't blog posts. +> No competitor URLs yet? Ask Claude or ChatGPT to name 3-5 competitors for your one-sentence hypothesis, or Google your problem in plain words plus `tool` or `software` and grab the top 2 results that aren't blog posts. What you get back: the channels you'll read next and the search strings you'll use to build the list. If a community the AI proposes turns out to be dead or off-topic, drop it and ask: `Suggest 3 alternatives more focused on [vertical].` @@ -140,9 +144,9 @@ When you're done you should have 30 real sentences and 30 named people. Don't pa - **Reddit** - subreddits in your vertical. Sort by Top → Past Month. The 1% willing to complain in public are usually willing to take a 20-minute call. Free tool [Keyworddit](https://keyworddit.com) surfaces the keywords a given subreddit is currently using, so you can search those phrases back into Reddit and find the named complainers. - **LinkedIn** - paste the problem in quotes into search, filter to Posts → Past Week. - **Industry Slack and Discord** - Indie Hackers, Lovable, No Code Founders, and the vertical-specific communities your AI map named. -- **G2 and Capterra reviews** - pull every 2-star and 3-star review of the closest competitor. Pain a stranger typed for free, organized by feature. +- **[G2](https://www.g2.com/) and [Capterra](https://www.capterra.com/) reviews (the two big business-software review sites)** - pull every 2-star and 3-star review of the closest competitor. Pain a stranger typed for free, organized by feature. - **Twitter/X** - the 280-character constraint forces complaints to be precise. -- **Personal network referrals** - text 10 people you know: `Do you know anyone who [painful task] regularly? Research call, not sales.` Warm referrals book at 70%+ show rates. +- **Personal network referrals** - text 10 people you know: `Do you know anyone who [painful task] regularly? Research call, not sales.` Warm referrals almost always show - the mutual contact is on the line for it. One Reddit rule: don't blast a launch post on day one. Read the sub for a week, leave three real comments, then post a research question. The [self-promotion on Reddit guide](/blog/self-promote-on-reddit-without-getting-banned-promotion/) covers the karma floor and the unwritten rules. @@ -159,11 +163,11 @@ Turn the 30 sentences into 30 names. Open each thread you saved while reading, c Aim for 30 hand-picked people in one focused sitting. -**This is the most important step in the chapter.** A list of 30 individuals you can name - because you read what they wrote - replies at 3-5× the rate of a list of 30 strangers a tool exported for you. +**This is the most important step in the chapter.** A list of 30 individuals you can name - because you read what they wrote - replies far more often than a list of strangers a tool exported for you - the quoted line is the difference. -If you run out of named posters before you hit 30, [Apollo](https://apollo.io)'s free tier (credit-based: roughly 100 email credits + 10 export credits per month, no credit card) lets you filter on role + industry + company size and export the rest (at 10 exports/month, this fills the gap over several weeks, not one sitting). Treat it as backfill, not the source - the hand-picked names always perform better. +If you run out of named posters before you hit 30, [Apollo](https://apollo.io)'s free tier (credit-based, no credit card - a small monthly allowance of email and export credits) lets you filter on role + industry + company size and export the rest (the monthly export allowance is small, so this fills the gap over several weeks, not one sitting). Treat it as backfill, not the source - the hand-picked names always perform better. -> **Save the Apollo filter and whatever contacts your monthly export credits cover (roughly 10 per month on the free tier) to a tab named "Module 5 cold seed" in your outreach spreadsheet.** You will reuse this exact filter in [Ch 5.5 cold outbound](/course/tech-for-non-technical-founders-2026/outbound-without-sales-team/). +> **Save the Apollo filter and whatever contacts your monthly export credits cover (a small monthly allowance on the free tier) to a tab named "Module 5 cold seed" in your outreach spreadsheet.** You will reuse this exact filter in [Ch 5.5 cold outbound](/course/tech-for-non-technical-founders-2026/outbound-without-sales-team/). Filter the final list on six dimensions: @@ -192,32 +196,30 @@ Drop anyone outside the band. You want signal, not volume. These are skip-by-default. The main chapter works without any of them. -**Upgrade the AI ICP map prompt with a deep-research tool.** The Claude/ChatGPT version above is fast and free; the trade-off is the AI synthesizes text without source links. For a verifiable evidence trail, swap in Perplexity Pro ($20/mo) or Gemini Deep Research ($20/mo Advanced) with the same prompt - both return real-source citations for every claim. Spot-check that each proposed community is alive and on-topic before you invest reading time, and grab verbatim quote snippets you can reuse as cold-message subject lines later. +**Upgrade the AI ICP map prompt with a deep-research tool.** The Claude/ChatGPT version above is fast and free; the trade-off is the AI synthesizes text without source links. For a verifiable evidence trail, swap in Perplexity Pro or Gemini Deep Research (both paid tiers) with the same prompt - both return real-source citations for every claim. Spot-check that each proposed community is alive and on-topic before you invest reading time, and grab verbatim quote snippets you can reuse as cold-message subject lines later. -**Offline-heavy verticals - paid panel as Plan A.** If your ICP lives in trades, nursing, in-store retail, elderly users, or regulated B2B, the Reddit / LinkedIn / G2 flow returns nothing useful. Use a paid panel instead. [UserInterviews](https://www.userinterviews.com/) and [Respondent](https://www.respondent.io/) have screened participants across these verticals; cost is $30-$100 per interview. Decision rule: if your ICP description names an offline trade, an over-60 user, or a regulated profession, budget for a paid panel as Plan A. +**Offline-heavy verticals - paid panel as Plan A.** If your ICP lives in trades, nursing, in-store retail, elderly users, or regulated B2B, the Reddit / LinkedIn / G2 flow returns nothing useful. Use a paid panel instead. [UserInterviews](https://www.userinterviews.com/) and [Respondent](https://www.respondent.io/) have screened participants across these verticals; pricing is per completed interview - check the panel's current rates. Decision rule: if your ICP description names an offline trade, an over-60 user, or a regulated profession, budget for a paid panel as Plan A. -**Monitoring tools that cut the manual reading load.** [Keyworddit](https://keyworddit.com) (free, no signup) surfaces the high-frequency keywords inside any subreddit. [F5Bot](https://f5bot.com) (free) sends email alerts when your keywords appear on Reddit, Hacker News, or Lobste.rs. [Reddinbox](https://reddinbox.com) / [Pushshift](https://pushshift.io) (free) searches Reddit's full archive for high-commercial-intent phrases like "how to automate X" or "sick of doing Y manually." These tools surface the threads faster - you still read them yourself. +**Monitoring tools that cut the manual reading load.** [Keyworddit](https://keyworddit.com) (free, no signup) surfaces the high-frequency keywords inside any subreddit. [F5Bot](https://f5bot.com) (free) sends email alerts when your keywords appear on Reddit, Hacker News, or Lobste.rs. [Reddinbox](https://reddinbox.com) watches Reddit for your keywords and collects the matching conversations in one inbox so you can reply from there. These tools surface the threads faster - you still read them yourself. ## Further reading - Rob Fitzpatrick, [The Mom Test (book site)](https://www.momtestbook.com/) - the past-behavior interview technique you'll run on every call this chapter's list books. -- Y Combinator, [Talking to Users (Startup Library)](https://www.ycombinator.com/library/6g-how-to-talk-to-users) - the canonical YC essay on why this conversation has to happen. +- Y Combinator, [Talking to Users (Startup Library)](https://www.ycombinator.com/library) - the canonical YC essay on why this conversation has to happen. - [Apollo](https://www.apollo.io/) - contact database for filtering by role + industry + company size when the hand-picked list runs thin. - [Clay](https://www.clay.com/) - list enrichment with email verification, useful once you're past 5 paying customers. - [User Interviews](https://www.userinterviews.com/) and [Respondent](https://respondent.io) - research panels for ICPs that cannot be reached cold. -> **Done when:** 30-name list is built in your spreadsheet with name, role+company, post URL, and one quoted line per row. -> **Next click:** [2.3b · Find 10 People: What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) - the message templates, cadence, and follow-up sequence. +> **Done:** 30-name list is built in your spreadsheet with name, role+company, post URL, and one quoted line per row. +> **You have now:** a question list (2.1-2.2) + a 30-name list of real people (2.3). Outreach is next. +> +> **Next:** [2.4 · Find 10 People: What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) - the message templates, cadence, and follow-up sequence. > **If blocked:** If the AI returned "NOT FOUND" for every community, your hypothesis is too vague. Go back to Ch 1.1 and rewrite the customer sentence with a specific role, company size, and the moment in their week when the pain happens. > **Stuck? Most first-timers stall here:** your name list stops at 3 people. **Fix:** search a related keyword - "boarding costs" instead of "pet sitter," "claim denial appeal" instead of "medical billing." The second-degree search surfaces people with the same problem but different vocabulary. 30 minutes of keyword variation turns 3 names into 12. Not "License Apollo Pro." -> **Case Study: Tomas & Mia** -> -> **Tomas**: AI ICP map identifies r/Accounting (300K members), Controller-specific LinkedIn groups, AICPA conference attendees. Builds a 30-name list of controllers who posted about "manual reconciliation" or "month-end close pain" on LinkedIn in the last 90 days. -> -> **Mia**: AI ICP map identifies Facebook parent groups (ADHD Parent Support, Dyslexia Moms Unite), r/ParentingADHD, local school district special-ed coordinators. Builds a 30-name list of parents who posted about "can't find a tutor" or "tutoring waitlist" in the last 60 days. - --- +*See it in action: [Module 2 walkthrough: Mia interviews ten parents](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/)* + *Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/index.md b/content/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/index.md index 62f996591..01649d40d 100644 --- a/content/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/index.md +++ b/content/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/index.md @@ -1,5 +1,5 @@ --- -title: "2.3b · Find 10 People: What to Say" +title: "2.4 · Find 10 People: What to Say" aliases: ["/blog/find-10-people-with-problem-outreach-2026/"] description: "The message templates that book 10 customer interviews. 3-message sequence, volume targets, research panel fallback. Part 2 of Chapter 2.3." date: 2026-05-18 @@ -22,34 +22,40 @@ categories: ["Founders"] cover_image: cover.png metatags: image: cover.png - og_title: "2.3b · Find 10 People: What to Say" + og_title: "2.4 · Find 10 People: What to Say" og_description: "The message templates that book 10 customer interviews. 3-message sequence, volume targets, research panel fallback." cover_image_alt: "JetThoughts cover showing the 5-step outreach funnel from Reddit mining at the top down to 10 calls booked at the bottom" canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/" related_posts: false --- -> **Module 2 · Step 3b of 4** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) +> **Module 2 · Lesson 2.4 · [CORE]** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > > **Input:** a 30-name list from [Part 1: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) - specific people you can name because you read what they posted > -> **Output:** 10 interview calls booked, transcripts in hand, ready to score per the Ch 2.1 rubric +> **Output:** 10 interview calls booked and the first outreach batch sent - you'll run the calls with the Ch 2.1 script, then score them in Ch 2.5 +> +> **Progress:** M2 · 4 of 6 · Results so far: question list + 30-name prospect list -> **TL;DR:** Send 30 staggered messages referencing specific posts you read. A 3-message sequence (Day 0 intro + Day 3 bump + Day 7 close) books 10 interviews. Reply rate runs 20-30% when each message names a specific post; 1-5% when it doesn't. +> **TL;DR:** Send 30 staggered messages referencing specific posts you read, using a 3-message sequence (Day 0 intro + Day 3 bump + Day 7 close). Reply rate runs 20-30% when each message names a specific post; 1-5% when it doesn't. Plan to extend the list once or twice before all 10 calls are booked. > **This is Part 2 of 2.** [Part 1: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) covers the ICP mapping, reading threads, and building the 30-name list. You need the list from Part 1 before the templates below will work - generic openers collapse to 1-5% reply rates. -> **How this chapter relates to Ch 2.4:** this chapter recruits 10 fresh interviewees and runs PAST-BEHAVIOR interviews about whether the problem is real. [Ch 2.4](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) takes the 5 strongest-signal interviewees from these 10 and runs a DIFFERENT kind of session - silent observation while they click through a throwaway Lovable prototype. Same recruitment pool; different methodology; sequential, not parallel. Run Ch 2.3 (a + b) first to validate THE PROBLEM, then Ch 2.4 to validate THE SOLUTION SHAPE. +> **How this chapter relates to Ch 2.6:** this chapter recruits 10 fresh interviewees and runs PAST-BEHAVIOR interviews about whether the problem is real. [Ch 2.6](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) takes the 5 strongest-signal interviewees from these 10 and runs a DIFFERENT kind of session - silent observation while they click through a throwaway Lovable prototype. Same recruitment pool; different methodology; sequential, not parallel. Run Ch 2.3-2.4 first to validate THE PROBLEM, then Ch 2.6 to validate THE SOLUTION SHAPE. This is interview recruitment, not sales. You're asking for time and insight, not money - different message template, different channels, different reciprocity. Don't use the Chapter 5.5 cold-email script here; it scares interview subjects who don't yet know you have a product. +After this lesson you will be able to: **send outreach that names something the person actually wrote - and book 10 interviews from your 30-name list.** + ## What to write so they don't ignore you -Send 30 messages staggered, not in one burst. A handful a day, by hand, beats a single bulk-send. Reply rate runs 20-30% when each message names a specific post you read - 2-3 booked calls per batch, which is enough to hit 10 interviews when stacked with replies still trickling in. +Nervous about messaging strangers? The asymmetry works in your favor: you're asking someone to talk about their own expertise and frustrations to a person who is actually listening - more people are flattered by that than bothered by it. -You can do this from Gmail and a [NeetoCal](https://www.neeto.com/neetocal) booking link. If 6 a day by hand is too slow, [Gmail's multi-send](https://support.google.com/mail/answer/12018150) (up to 1,500/day on Workspace, ~500/day on personal) or [Streak](https://www.streak.com/) does the mail merge for you. Reply by hand either way - the back-and-forth is where the interview actually gets booked. +Send 30 messages staggered, not in one burst. A handful a day, by hand, beats a single bulk-send. In outreach runs we've coached, reply rates land around 20-30% when each message names a specific post you read - 2-3 booked calls per batch of 30; stack batches until 10 calls are on the calendar. -### The message most non-technical founders write first +You can do this from Gmail and a [NeetoCal](https://www.neeto.com/neetocal) booking link. If 6 a day by hand is too slow, [Gmail's multi-send](https://support.google.com/mail/) (daily caps vary by plan - check Google's current limits) or [Streak](https://www.streak.com/) does the mail merge for you. Reply by hand either way - the back-and-forth is where the interview actually gets booked. + +### The message a first-time founder typically writes first Before we hand you a working sequence, look at the version a founder typically sends on attempt one. This is composed from real first-draft messages we've seen across projects: @@ -67,7 +73,7 @@ Would you be open to a quick chat next week? Calendar is here: [link] Thanks! ``` -Reply rate on that message hovers around 1%. Here's why each sentence dies: +That message gets almost no replies - nothing in it tells the reader why them. Here's why each sentence dies: - **"quick chat?"** subject - generic; competes against every recruiter cold email in their inbox. - **"building a tool that helps small-business owners with invoicing"** - pitches a solution to a stranger who didn't ask. @@ -91,26 +97,26 @@ questions about how you handle [task] today? Calendar: [NeetoCal link]." **Day-3 bump message - pick the version that fits your stage:** -- **First-round variant (you have 0-9 interviews done):** "Hi [name] - circling back on the [topic] piece. Running my first 10 conversations on this problem - still learning, would value 25 minutes if you have it." -- **Experienced variant (you have 10+ interviews done):** "Hi [name] - circling back on the [topic] piece. Already 30+ founders in - the conversations are sharper than I expected; happy to share the pattern if you have 25 min." +- **First-round variant (you have 0-9 interviews done):** "Hi [name] - circling back on the [topic] piece. Running my first 10 conversations on this problem - still learning, would value 20 minutes if you have it." +- **Experienced variant (you have 10+ interviews done):** "Hi [name] - circling back on the [topic] piece. [TRUE NUMBER] conversations in so far - they're sharper than I expected; happy to share the pattern if you have 20 min." Use your real count - never claim conversations you have not had. -Day-3 bump recovers 8-12% of non-responders. Subject line: `re: [their workaround]`. +The Day-3 bump reliably recovers another slice of non-responders - people who meant to reply and lost the tab. Subject line: `re: [their workaround]`. ```text -Day 7 - close (recovers 3-5% more) +Day 7 - close (catches a few last stragglers) Subject: last try - 20 min on [topic] "Last note. If this isn't your problem, no worries - I'll stop. If it is and you haven't had a chance: [NeetoCal]. Running interviews through next Friday." ``` -In our 2026 outreach engagements that sequence ran 30-45% reply rates when the Day-0 subject referenced something the recipient had actually posted - your mileage will vary by audience tightness and recency of the posted content. It collapses to 1-5% with a generic "love to pick your brain" opener - the difference is the reading you did in Part 1 to find named people. The [cold-email conversion playbook from YC Startup School](/blog/how-convert-customers-with-cold-emails-startup-school/) walks through more variations on the opener pattern. +That three-message shape is the whole engine - in the runs we've coached it reliably beats single-send by a wide margin when the Day-0 subject referenced something the recipient had actually posted - your mileage will vary by audience tightness and recency of the posted content. It collapses to 1-5% with a generic "love to pick your brain" opener - the difference is the reading you did in Part 1 to find named people. The [cold-email conversion playbook from YC Startup School](/blog/how-convert-customers-with-cold-emails-startup-school/) walks through more variations on the opener pattern. The same 3-email pattern works as LinkedIn DMs. Subject becomes the connection-request note. Skip Day 7 on LinkedIn (too aggressive in DM context). ### Volume targets -Send 30 to 50 messages to land 10 interviews. Target a reply rate of 20% or higher - below that, your opener is too generic or you're in the wrong channel. Of the replies who say yes, expect 50% or more to actually show. If your show rate drops below 50%, add a 24-hour reminder message and confirm the meeting time the day before. +Work through the 30-name list first, then extend it with Part 1's second-degree searches until 10 interviews are booked - plan on 50-100 messages total. Target a reply rate of 20% or higher. Under 10% means your opener is too generic or you're in the wrong channel - rewrite the Day-0 message before sending more. 10-20% is workable: let the sequence run and tighten the subject line on the next batch. Of the replies who say yes, expect roughly half or more to actually show. If your show rate drops below 50%, add a 24-hour reminder message and confirm the meeting time the day before. ## What if cold outreach can't reach them @@ -128,7 +134,7 @@ While the cold-outreach path books the calls, the smoke-test landing page from [ > "You signed up for the waitlist on [page] last Tuesday - up for a 20-minute call?" -Reply rates on that opener run 60%+ - the highest in this whole chapter. +That opener out-performs every cold variant in this chapter - the person already raised a hand. ```mermaid %%{init: {'theme':'base', 'themeVariables': {'fontFamily':'Caveat, Patrick Hand, cursive', 'primaryColor':'#fff5f5', 'primaryBorderColor':'#cc342d', 'lineColor':'#333', 'primaryTextColor':'#1a1a1a'}}}%% @@ -164,7 +170,7 @@ Run the cold-outreach track first - that's where the 10 calls usually come from. | **3** | Send the remaining 25 staggered over the next few days. Day-3 bumps to non-responders. | Full 30-message batch out | | **4** | Check the reply rate. If under 10%, rewrite Day-0 subject line referencing a specific post and resend. If 10-30%, let the sequence run. If 30%+, move to [Mom Test script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/). | Calibrate by reply rate band | -> **Slow-path variant for the part-time founder** (working evenings only, day-job constraints): the staggered cadence above assumes daytime availability. If your only window is one evening block a week, batch-send instead: sort 30 names into priority buckets first, then personalize and send all 30 in one go using Gmail multi-send. Expect a lower reply rate (~8-12% vs 20-30%) because the messages land in a burst instead of a stagger - compensate by booking the first 2-3 interviews from your fastest responders quickly. +> **Slow-path variant for the part-time founder** (working evenings only, day-job constraints): the staggered cadence above assumes daytime availability. If your only window is one evening block a week, batch-send instead: sort 30 names into priority buckets first, then personalize and send all 30 in one go using Gmail multi-send. Expect a noticeably lower reply rate because the messages land in a burst instead of a stagger - compensate by booking the first 2-3 interviews from your fastest responders quickly. The [Outreach Sequence Template](/course/tech-for-non-technical-founders-2026/outreach-sequence-template/) carries the verbatim sequence plus the LinkedIn DM openers, cold-email subject lines, Reddit research-comment template, and NeetoCal page copy. @@ -176,13 +182,13 @@ This chapter's output is 10 booked interviewees. Running them, scoring them, and The chain of artifacts the booked calls produce: -1. **Run each interview using the Ch 2.1 5-question Mom Test technique.** Open the [Mom Test Interview Script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/) artifact on a second monitor; read the 5 questions verbatim. 30-40 minutes per call. +1. **Run each interview using the Ch 2.1 5-question Mom Test technique.** Open the [Mom Test Interview Script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/) artifact on a second monitor; read the 5 questions verbatim. Plan 20-30 minutes per call. 2. **Score each call 1-10 within 5 minutes of hanging up** per the Ch 2.1 scoring rubric. Write the score before opening the next browser tab. 3. **After all 10 calls are done, fill the [Validated Problem Statement template](/course/tech-for-non-technical-founders-2026/validated-problem-statement-template/)** using the [Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) page. -4. **Pick the 5 strongest-signal interviewees** (Mom Test score ≥ 7) for Ch 2.4 prototype sessions. +4. **Pick the 5 strongest-signal interviewees** (Mom Test score ≥ 7) for Ch 2.6 prototype sessions. 5. **Two artifacts now flow into Module 3 + later modules:** - The Validated Problem Statement (Section 1 of the Ch 3.1 one-page brief, lifted verbatim) - - The 5 strongest-signal interviewees (Ch 2.4 input - and later, your Module 5 onramp invitees in Ch 4.3 (a + b), plus your warm-list seed in Ch 5.3) + - The 5 strongest-signal interviewees (Ch 2.6 input - and later, your Module 5 onramp invitees in Ch 4.3 (a + b), plus your warm-list seed in Ch 5.3) If fewer than 7 of 10 calls score ≥ 7, the problem is too weak for this ICP. Re-evaluate the ICP, the problem framing, or the question wording before booking another 10 calls. The full kill / iterate / proceed decision lives in the [Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) page. @@ -191,20 +197,18 @@ Skip this module and start building, and the typical failure mode is burning mon ## Further reading - Rob Fitzpatrick, [The Mom Test (book site)](https://www.momtestbook.com/) - the past-behavior interview technique you'll run on every call this chapter books. -- Y Combinator, [Talking to Users (Startup Library)](https://www.ycombinator.com/library/6g-how-to-talk-to-users) - the canonical YC essay on why this conversation has to happen. +- Y Combinator, [Talking to Users (Startup Library)](https://www.ycombinator.com/library) - the canonical YC essay on why this conversation has to happen. - [Apollo](https://www.apollo.io/) - contact database for filtering by role + industry + company size when the hand-picked list runs thin. - [User Interviews](https://www.userinterviews.com/) and [Respondent](https://respondent.io) - research panels for ICPs that cannot be reached cold. -> **Done when:** 10 interview calls are booked on your calendar and you have sent the first batch of outreach messages. -> **Next click:** Return to [2.1 · The Mom Test](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) to run the interviews using the 5-question script, then move to [Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) to score the transcripts. -> **If blocked:** If your reply rate is under 10%, your Day-0 subject line is too generic. Rewrite it to reference a specific post you read by that person. If your ICP can't be reached cold, switch to a paid research panel (User Interviews or Respondent). - -> **Case Study: Tomas & Mia** -> -> **Tomas**: Sends the 3-message sequence to 30 controllers on LinkedIn. Books 12 interviews from 30 reaches (40% reply rate - high because Tomas was an accountant and speaks their language). +> **Done:** 10 interview calls are booked on your calendar and you have sent the first batch of outreach messages. +> **You have now:** question list (2.1-2.2) + 30-name list (2.3) + 10 booked interviews (2.4). > -> **Mia**: Sends the 3-message sequence to 30 parents via Facebook DM. Books 14 interviews from 30 reaches (47% - high because Mia was a teacher and parents trust her). +> **Next:** return to [2.1 · The Mom Test](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) to run the interviews using the 5-question script, then move to [Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) to score the transcripts. +> **If blocked:** If your reply rate is under 10%, your Day-0 subject line is too generic. Rewrite it to reference a specific post you read by that person. If your ICP can't be reached cold, switch to a paid research panel (User Interviews or Respondent). --- +*See it in action: [Module 2 walkthrough: Mia interviews ten parents](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/)* + *Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/first-ten-customers-network-list/index.md b/content/course/tech-for-non-technical-founders-2026/first-ten-customers-network-list/index.md index a503c9731..ddd5faad0 100644 --- a/content/course/tech-for-non-technical-founders-2026/first-ten-customers-network-list/index.md +++ b/content/course/tech-for-non-technical-founders-2026/first-ten-customers-network-list/index.md @@ -29,7 +29,7 @@ related_posts: false --- -Sixty percent of the fastest-growing B2B startups got their first 10 customers from people who already knew the founder. Most founders skip this because it feels like begging. It's not. It's the highest-probability first sale you'll ever make. +Sixty percent of the fastest-growing B2B startups got their first 10 customers from people who already knew the founder. Founders skip this step because it feels like begging. It's not. It's the highest-probability first sale you'll ever make. After this lesson you will be able to: **sort 50 names into 4 outreach buckets so you know exactly who to message first.** diff --git a/content/course/tech-for-non-technical-founders-2026/five-tech-words-stop-nodding-at/index.md b/content/course/tech-for-non-technical-founders-2026/five-tech-words-stop-nodding-at/index.md index d3b61468c..bbef5aa96 100644 --- a/content/course/tech-for-non-technical-founders-2026/five-tech-words-stop-nodding-at/index.md +++ b/content/course/tech-for-non-technical-founders-2026/five-tech-words-stop-nodding-at/index.md @@ -34,7 +34,7 @@ related_posts: false A founder we picked up in Q1 2026 had nodded at the same word for fourteen months. Every Friday her contractor's PM said "we're refactoring the order flow" and she wrote it down. When her new fractional CTO finally read the repo, he came back with one line: nothing new had shipped to production since month three. **"Refactoring" had cost her $51K and a year of runway.** She had nodded because she did not know what else to do. -Most non-technical founders learn engineering vocabulary under pressure, mid-meeting, with a bill on the table. The agency throws a word, the founder nods, the meeting moves on. By the time the founder figures out what the word actually meant, the next sprint is already approved. +A non-technical founder often learn engineering vocabulary under pressure, mid-meeting, with a bill on the table. The agency throws a word, the founder nods, the meeting moves on. By the time the founder figures out what the word actually meant, the next sprint is already approved. Below is the cheat sheet for the five words that hide the most invoices: refactoring, Docker, tech debt, MVP, architecture. For each you get a plain-English definition, the dishonest version your dev shop probably means when they say it, and one question you can ask in your next standup that the BS-version cannot answer. @@ -153,7 +153,7 @@ The five words above are dev-shop jargon - vocabulary you'll hit in Modules 4-5 | Acronym | Plain English | Where it shows up | |---|---|---| -| **ICP** | Ideal Customer Profile - the specific kind of person your hypothesis names | Ch 1.1, 2.3a | +| **ICP** | Ideal Customer Profile - the specific kind of person your hypothesis names | Ch 1.1, 2.3 | | **PMF** | Product-Market Fit - the survey question "would you be very disappointed if you could no longer use this?" 40%+ "very disappointed" = signal | Ch 5.1 | | **JTBD** | Jobs To Be Done - what a customer "hires" your product to do (instead of feature list) | Ch 3.1, 3.2 | | **MRR** / **ARR** | Monthly / Annual Recurring Revenue - what one customer pays per month or year | Ch 1.1, 5.4 | diff --git a/content/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/index.md b/content/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/index.md index 579304cc4..be3474688 100644 --- a/content/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/index.md +++ b/content/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/index.md @@ -43,7 +43,7 @@ A **Founding Hypothesis** is a fill-in-the-blanks sentence (Mad Libs style) from > *"If we help [customer] solve [problem] with [approach], they'll choose it over [competition] because [differentiation]."* -Five blanks. One sentence - not a deck - because a sentence can't hide vague thinking, and because you'll reuse it everywhere: it feeds your landing-page headline in 1.2 (reshaped into a customer-plus-outcome one-liner) and opens every Module 2 interview as context. The discipline is filling all five blanks with specifics, not categories. +Five blanks. One sentence - not a deck - because a sentence can't hide vague thinking, and because you'll reuse it everywhere: it feeds your landing-page headline in 1.2 (reshaped into a customer-plus-outcome one-liner) and tells Module 2 who to interview and which problem to ask about (you keep the sentence to yourself in interviews - pitching it contaminates the answers). The discipline is filling all five blanks with specifics, not categories. Each blank is an assumption, and each assumption has a test waiting for it later in the course: @@ -90,7 +90,7 @@ Score each lens 1-5. Be honest - this is for you, not an investor deck. > 2. Fill each blank with the most specific noun you can. If a blank says "small businesses," rewrite it until it names one person in one industry. > 3. Score your sentence using the four lenses above. > 4. **✅ Success check:** total ≥14/20 (or ≥11/15 if Money is blank) AND no lens below 2. -> 5. Save the sentence to a Google Doc titled `Founding Hypothesis - [today's date]`. You'll paste it verbatim into Lessons 1.2, 1.4, 1.5, and every Module 2 interview. +> 5. Save the sentence to a Google Doc titled `Founding Hypothesis - [today's date]`. You'll paste it verbatim into Lessons 1.2, 1.4, and 1.5. Module 2 uses it too - to choose who you interview and what you ask about - but you never read it to an interviewee. --- diff --git a/content/course/tech-for-non-technical-founders-2026/how-this-course-works/index.md b/content/course/tech-for-non-technical-founders-2026/how-this-course-works/index.md index dcd7632b2..cae6a5080 100644 --- a/content/course/tech-for-non-technical-founders-2026/how-this-course-works/index.md +++ b/content/course/tech-for-non-technical-founders-2026/how-this-course-works/index.md @@ -69,15 +69,16 @@ This course takes a non-technical founder from a rough idea to a signed paid pil ### Module 2 - Validate the Problem **You have:** a Founding Hypothesis. -**You walk away with:** 10 Mom Test interview transcripts + a validated problem statement + a 2-hour clickable prototype tested with 5 people. -**Time:** ~2-3 weeks full-time. +**You walk away with:** 10 Mom Test interview transcripts + a validated problem statement + a clickable prototype tested with 5 people. +**Time:** ~3-5 weeks full-time - booking the 10 interviews is the long pole (Ch 2.3 plans 2-4 calendar weeks for that step alone). | Step | What You Do | Key Tool | |---|---|---| | 2.1 | Learn the 5 Mom Test rules (ask about past, not future) | Mom Test Interview Script | -| 2.2 | Rehearse your questions with an AI persona | Claude or ChatGPT (free) | -| 2.3 | Find and book 10 ICP interviews (ICP = Ideal Customer Profile - the specific kind of person your hypothesis names) | Reddit, LinkedIn, X, UserInterviews.com | -| 2.4 | Build a throwaway 3-screen clickable prototype | Lovable (free tier) | +| 2.2 | Rehearse your questions with an AI persona (optional - skip if you've run customer interviews before) | Claude or ChatGPT (free) | +| 2.3-2.4 | Find and book 10 ICP interviews (ICP = Ideal Customer Profile - the specific kind of person your hypothesis names) | Reddit, LinkedIn, X | +| 2.5 | Score the transcripts and make the build / pivot / kill call | Mom Test Synthesis page | +| 2.6 | Build a throwaway 3-screen clickable prototype | Lovable (free tier) | **The Mom Test is irreplaceable.** AI tools can tell you what people say online, but they cannot tell you whether a specific human will open their wallet. Without the interviews, you're building features for a problem nobody confirmed exists. @@ -155,7 +156,7 @@ These are the tools the course references - AI research tools, no-code builders, | Tool | What It Does | When to Use | Cost | |---|---|---|---| | **ValidatorAI** | Dialog-based AI advisor, rates your idea and finds blind spots | Rapid "devil's advocate" feedback before interviews | Free tier | -| **IdeaProof** | 4-model ensemble (Claude, GPT, Gemini, Grok) cross-validates business logic | After Mom Test interviews, before writing the Product Brief | Free tier | +| **IdeaProof** | Multi-model ensemble cross-validates business logic | After Mom Test interviews, before writing the Product Brief | Free tier | | **Preuve AI** | Evidence-based idea scoring from live data sources, with citations | Before building, when you need a data-backed viability check | Free tier | diff --git a/content/course/tech-for-non-technical-founders-2026/module-1-walkthrough-mia/index.md b/content/course/tech-for-non-technical-founders-2026/module-1-walkthrough-mia/index.md index 9745b141c..ac67f09f2 100644 --- a/content/course/tech-for-non-technical-founders-2026/module-1-walkthrough-mia/index.md +++ b/content/course/tech-for-non-technical-founders-2026/module-1-walkthrough-mia/index.md @@ -107,7 +107,7 @@ She added a note to her Module 2 prep: when she interviewed parents, she'd ask w - **Six paying customers at $99 each.** $594 in revenue, before the product existed. - **A Google Drive folder** holding all five Module 1 outputs. Her Founder OS, started. -**Next: [Module 2, where Mia interviews ten parents using the Mom Test](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/).** Her interview script will ask whether parents have ever spent real money on a specialist tutor search (the [problem] blank in her hypothesis), and what they currently pay - so she can replace her Money lens guess with actual numbers from actual receipts. +**Next: [Module 2, where Mia interviews ten parents using the Mom Test](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/).** Her interview script will ask whether parents have ever spent real money on a specialist tutor search (the [problem] blank in her hypothesis), and what they currently pay - so she can replace her Money lens guess with actual numbers from actual receipts. --- diff --git a/content/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/index.md b/content/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/index.md new file mode 100644 index 000000000..7e72c99bc --- /dev/null +++ b/content/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/index.md @@ -0,0 +1,89 @@ +--- +title: "Module 2 Walkthrough: Mia Interviews Ten Parents" +description: "Follow Mia through Module 2 as she drafts Mom Test questions, rehearses them against an AI persona, builds a 30-name list, books ten interviews, scores them into a build decision, and tests a clickable prototype with five parents." +date: 2026-07-09 +draft: false +slug: module-2-walkthrough-mia +--- + +> **Module 2 walkthrough · Mia** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) +> +> *Illustrative composite based on patterns from real founder builds, not a single client story. Mia's Module 1 run is in the [Module 1 walkthrough](/course/tech-for-non-technical-founders-2026/module-1-walkthrough-mia/).* + +Mia came out of Module 1 with six paying customers and two open questions in her notebook. The first was the Money question: her $99 founding-member price had converted, but she still had no idea what parents actually paid for tutoring month to month. The second was the location question she had parked instead of ad-testing: did parents ever search "tutor near me" and settle, or did the specialty search she'd bet on describe most of them? + +Module 2 was where those questions stopped being notebook entries and became interview questions. + +--- + +## [Lesson 2.1: The Mom Test](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) + +Her first draft question list took ten minutes and felt great: "Would you use a marketplace that matches you with a specialist tutor in 48 hours?" She read the lesson's table of tempting-but-broken questions and found hers in the first row - a hypothetical with the product baked in, engineered to produce a polite yes from any parent alive. + +She rewrote the list in past tense, one question per notebook line. Tell me about the last time you looked for a tutor - walk me through what you did. What did that search cost you, in money or in evenings? What did you try that didn't work? Where does this sit against everything else on your plate? Who else weighs in before you'd hire someone for your kid? + +Five questions, none of which mentioned TutorMatch. That was the part that felt wrong and was right: the interviews would be about the parents' last search, not her product. + +--- + +## [Lesson 2.2: Rehearse with an AI Persona](/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/) + +Mia had never run a customer interview, so she didn't skip the optional rehearsal. She gave Claude the persona - a working mother of a 10-year-old with dyslexia, two failed tutoring attempts behind her - and ran her five questions against it in character. + +The rehearsal caught one bad question. "How important is finding the right tutor to you?" produced a beautiful, useless paragraph about how education is everything. Any parent would say that; none of it was evidence. Out of character, she asked Claude which question had produced the least concrete answer, and it named the same one. She replaced it with "What did you do the same week the last tutor didn't work out?" - a question with a date and an action in it. + +Forty minutes, one interview slot saved. + +--- + +## [Lessons 2.3 and 2.4: Find 10 People](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) + +Her first instinct was the one the lesson warned about: post in her Facebook feed and message old colleagues. Instead she went back to where the Vermont mother's post had come from - r/Dyslexia, two ADHD parenting subreddits, and a 40,000-member Facebook group for parents of kids with learning differences - and read for half a day. + +The [30-name list](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) filled slower than she expected: name, where they posted, the URL, and one quoted line each. A mother who had "called eleven places in March." A father asking whether $95 a session was normal because he had "no idea what anyone else pays." Reading the quotes back, she noticed her Money answer was already forming before a single call. + +The [outreach](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) went out five messages a day, each one naming the specific post: "You wrote that three centers never called you back - I'm researching exactly that failure and would trade 20 minutes for everything you learned." No pitch, no product link. Eight of the first twenty replied; by the end of the second week she had ten calls on the calendar, and a waitlist parent from her smoke-test page made eleven - one father no-showed twice, leaving ten who actually happened. + +--- + +## Running the Interviews + +The first interview she broke her own script - described TutorMatch in minute four, watched the answers turn agreeable, and scored the call a 3 out of 10 that evening. The other nine she kept to past tense. + +--- + +## [Lesson 2.5: Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) + +The Sunday after her last call, she ran the 90-minute synthesis pass: one row per transcript, a score out of 10 for each, and a strong-signal count at the bottom of the sheet. + +The scores told a cleaner story than she'd feared: eight of ten parents had spent real money or real evenings on the problem in the past year - specialist searches that ate three weekends, a $600 mistake with a generic center, one father who had built a spreadsheet of 14 tutors with a column for "actually called back." Two parents were sympathetic but had spent nothing, and she marked them as the polite-interest bucket the gate exists to catch. + +Eight of ten cleared the gate of seven - a BUILD verdict on the synthesis page's 7+/4-6/under-4 scale - and she wrote the one-page validated problem statement while the transcripts were still fresh. And her Money question got its answer from receipts, not projections: the parents who had hired specialists paid $70-$120 a session, which made her $99-for-four-months founding rate look almost embarrassingly cheap - a pricing note she carried forward for Module 3. + +The location question closed too, without an ad dollar: nine of ten described searching by their kid's need first. "Near me" came second, if at all. + +--- + +## [Lesson 2.6: The Clickable Prototype](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) + +She picked her five strongest-signal parents and built the prototype in one evening - three Lovable screens: search by specialty, a tutor profile with parent reviews, a "request match" confirmation. Nothing behind the buttons. + +The sessions were silent-observation: share the link, say "find a dyslexia tutor for a 9-year-old," and watch. Four of five went straight through search to profile to request. The fifth stalled on the profile page, scrolling for something - asked afterward, she said "I was looking for the price." The prototype had reviews, credentials, and response time on the profile, and no rate. + +Four passes, one fail, and the fail was the finding: price belonged on the profile, not behind the request. The closing question - "describe this in one sentence to another parent" - produced the vocabulary that would seed her Product Brief: three of five said some version of "it's like a vetted shortlist instead of Googling." + +--- + +## What Mia Walked Away With at the End of Module 2 + +- **Ten scored interview transcripts**, eight clearing the real-past-spend bar - over the ≥7 of 10 gate. +- **A Money answer with receipts**: specialist parents already pay $70-$120 a session, so her price hypothesis had room, not risk. +- **The location question closed for $0**: parents search by the kid's need first - the Module 1 ad result now had interview confirmation behind it. +- **Prototype feedback from 5 real parents**: the flow works, and price must live on the tutor profile. +- **Customer vocabulary for Module 3**: "a vetted shortlist instead of Googling" - the sentence her Product Brief would be built from. + +**Next: [Module 3, where Mia turns transcripts into a one-page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/).** Every feature on that page will trace back to a line a parent actually said. + +--- + +*Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) free curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/index.md b/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/index.md index 920c5850d..9c5026bc1 100644 --- a/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/index.md +++ b/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/index.md @@ -29,23 +29,27 @@ canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2 related_posts: false --- -> **Module 2 · Step 1 of 4** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) +> **Module 2 · Lesson 2.1 · [CORE]** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > -> **Input:** a Founding Hypothesis sentence (from Ch 1.1) + 3 ICP characteristics (ICP = Ideal Customer Profile - the specific kind of person your hypothesis names; introduced in Ch 1.1) +> **Input:** a Founding Hypothesis sentence (from Ch 1.1) + your `[customer]` blank from that sentence (the role, company size, and situation it names - that description is your ICP, your Ideal Customer Profile) > -> **Output:** the 5-question Mom Test template + a draft question list (5-8 questions) ready to sharpen in Ch 2.2 and then run in real interviews after Ch 2.3 (a + b) recruitment. The scoring rubric becomes your reference card once you have transcripts in hand. +> **Output:** the 5-question Mom Test template + a draft question list (5-8 questions) ready to sharpen in Ch 2.2 and then run in real interviews after Ch 2.3-2.4 recruitment. The scoring rubric becomes your reference card once you have transcripts in hand. +> +> **Progress:** M2 · 1 of 6 · Results so far: all Module 1 artifacts - Module 2 starts here > **TL;DR:** Five questions, all anchored in past behavior. Ask what they did last Tuesday, not what they'd do with a hypothetical product. Skip to: [The 5 questions ↓](#the-5-questions) · [The 3 emotional flags ↓](#the-3-emotional-language-flags) · [What to do tomorrow ↓](#what-to-do-tomorrow). -> **Where you are in the round:** If you do not have interview transcripts yet, read straight through. After your Ch 2.3 (a + b) interviews, return to [Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) to score your transcripts and decide build/pivot/kill. +> **Where you are in the round:** If you do not have interview transcripts yet, read straight through. After your Ch 2.3-2.4 interviews, return to [Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) to score your transcripts and decide build/pivot/kill. -Run eleven interviews where the only question is "would you pay for this?" and you'll close the week with nine yeses and an empty launch. The hypothetical question produces the polite shape - the answer says nothing about what the person actually did last Tuesday. +Run ten interviews where the only question is "would you pay for this?" and you'll close the week with a stack of yeses and an empty launch. The hypothetical question produces the polite shape - the answer says nothing about what the person actually did last Tuesday. The technique below switches every question to the past tense. What did you do last time? What did it cost? Show me the spreadsheet. Past-tense questions force the answer back into reality; whoever pays in the past keeps paying in the future, and whoever did nothing in the past will do nothing in the future no matter what they tell you over coffee. +After this lesson you will be able to: **write interview questions that ask about past behavior - so the answers tell you what people actually did, not what they would politely promise.** + For the verbatim script + reference card, see [Mom Test Interview Script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/). This chapter teaches *why* those five questions work and how you'll score each call once interviews are done. -Next, sharpen your draft list with [AI personas in Ch 2.2](/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/), then recruit 10 interviewees in [Ch 2.3 (a + b)](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/). +Next, sharpen your draft list with [AI personas in Ch 2.2](/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/), then recruit 10 interviewees in [Ch 2.3-2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/). ![Five Mom Test question cards stacked: last-time, cost, workaround, priority, buying committee. Each card shows the pass and fail signal.](mom-test-script.svg) @@ -87,7 +91,7 @@ The script runs in order. Each question funnels the interviewee deeper into a re ### Q3: "What have you **tried already** to fix this?" -- **What it catches**: existing workarounds. A hack, a paid tool, a hired VA, two spreadsheets duct-taped = real. Nothing tried = theoretical. +- **What it catches**: existing workarounds. A hack, a paid tool, a hired VA (virtual assistant), two spreadsheets duct-taped = real. Nothing tried = theoretical. - **Pass**: a named tool, a hired person, a custom script. *"I pay $79/month for Zapier to copy QuickBooks to Google Sheets. It breaks every two weeks. My VA on Upwork fixes it."* - **Fail**: *"Nothing yet."* / *"We just deal with it."* / *"I've been meaning to look into something."* - **Follow-up**: *"What broke about the workaround? Why are you still talking to me about this?"* The crack is the gap your product would fill. @@ -127,19 +131,15 @@ While the script runs, your job is to listen for three patterns. These flags do flowchart TD Start(["Call starts.
Script open on second screen."]) Start --> Q1[Q1 - Last time it happened?] - Q1 --> Listen{Listen for emotional
language flags} - Listen -->|0-1 flags| Generic[Generic polite mode
Ask the follow-up] - Listen -->|2+ flags| Real[Real felt problem
Move to Q2] + Q1 --> Listen[Emotional flags?] + Listen -->|0-1 flags| Generic[Polite mode -
ask the follow-up, retry Q1] + Listen -->|2+ flags| Rest[Real felt problem -
run Q2 - Q5 in order:
cost, tried, 1-10 priority, who else] Generic --> Q1 - Real --> Q2[Q2 - What did it cost?] - Q2 --> Q3[Q3 - What have you tried?] - Q3 --> Q4[Q4 - 1-10 vs everything else?] - Q4 --> Q5[Q5 - Who else feels this?] - Q5 --> Score{Score the call
1-10} - Score -->|7+ with comparison
3+ flags| Validated[Strong signal
Ask for intro and prototype] - Score -->|5-6 or weak
1-2 flags| Weak[Polite default
Score as 5] - Score -->|0-4 or 0 flags| Fail[No felt problem
Discount the call] - Validated --> Next[10 calls done
7+ scores of 7+ means validated] + Rest --> Score[Score the call 1-10] + Score -->|7+ with comparison, 3+ flags| Validated[Strong signal -
ask for intro + prototype] + Score -->|5-6 or weak flags| Weak[Polite default - score as 5] + Score -->|0-4 or 0 flags| Fail[No felt problem - discount] + Validated --> Next[After 10 calls:
7+ scores of 7+ = validated] Weak --> Next Fail --> Next @@ -151,7 +151,7 @@ flowchart TD classDef fail fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#1a1a1a class Start start - class Q1,Q2,Q3,Q4,Q5,Real q + class Q1,Rest q class Listen,Score decision class Validated,Next pass class Weak,Generic warn @@ -160,6 +160,10 @@ flowchart TD Stick to the order. Improvise mid-call ("oh that reminds me of my product idea") and you contaminate the rest of the transcript - the interviewee starts answering the pitch instead of describing their own life. Read the questions as written, take notes by hand, score after. +Expect your first two or three interviews to feel awkward - you will catch yourself pitching at least once. That's normal, not failure: score the contaminated call honestly (in the [Module 2 walkthrough](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/), Mia breaks her own script in interview one, scores it 3/10, and keeps the other nine clean). The skill is in the recovery, not in being perfect on call one. + +One more failure mode worth naming: an interviewee with no story. If Q1 produces genuine blankness - not evasion, just no last time to walk through - they don't have the problem. End the call politely at the 10-minute mark and count it: a person who was supposed to be your customer and has no story IS data about your [customer] blank. + ## What to do tomorrow Three actions. In order. @@ -170,8 +174,6 @@ Three actions. In order. | **Take notes by hand, not by typing.** | Hand-writing slows you down enough that you stop transcribing and start listening for the three emotional flags. Typing during a call turns you into a court reporter. | Don't try to transcribe everything. Write the Q4 score and the flag count, not the full transcript. | | **Score the call 1-10 within 5 minutes of hanging up.** Use Q4 plus your emotional-flag count. | If you score later, you will round up. By interview 10 you have a validation total, not 10 unsorted transcripts. | Don't defer scoring. Your gut scoring in the moment is more honest than the one after a week of wanting the number to be higher. | -Sometimes Q1 is wrong - the problem context is too narrow - and a broader framing wakes the interviewee up. - The [stop-looking-for-product-market-fit guide](/blog/stop-looking-for-product-market-fit-startup-tutorial/) covers what the validation signal does and doesn't tell you about whether you have product-market fit (spoiler: a validated problem is necessary, not sufficient). ## The Mom Test interview script artifact @@ -182,15 +184,15 @@ The artifact at **[/course/tech-for-non-technical-founders-2026/mom-test-intervi **How to use it:** Print the artifact. Keep it open on your second monitor during all 10 interviews. The artifact is the screen-side reference while this post is the explanation of why it works. -After 10 calls, you have either 10 scored transcripts that converge on a real problem (proceed to [Chapter 2.4: Clickable Prototype Validation](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/)) or 10 transcripts that don't (re-frame the ICP and run another 10). +After 10 calls, you have either 10 scored transcripts that converge on a real problem (score them on [Chapter 2.5: Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/), then proceed to 2.6) or 10 transcripts that don't (follow Chapter 2.5's pivot path: sharpen the ICP and run 5 more interviews against the narrower group). Fake the convergence to start building anyway, and you join the long line of post-mortem threads about wasted MVP spend. The [quality tax for AI MVPs](/blog/quality-tax-ai-mvp-cost/) is what happens when you ship against a hypothesis nobody confirmed. -> Most customer interviews fail because the interviewees are polite. Better questions outperform better people. +> Customer interviews usually fail because the interviewees are polite. The questions do more work than interviewer charisma ever will. > > Anchor every question in a specific past moment - last Tuesday at 9pm, the last invoice, the last time the spreadsheet broke - and the polite-mode answers run out fast. -> **Optional: AI devil's advocate before your first interview.** [ValidatorAI](https://validatorai.com) (free, unlimited use, no credit card) gives you an adversarial dialog: paste your draft question list, and it pushes back the way a skeptical interviewee would. +> **Optional: AI devil's advocate before your first interview.** [ValidatorAI](https://validatorai.com) (free tier) gives you an adversarial dialog: paste your draft question list, and it pushes back the way a skeptical interviewee would. > > It flags hypothetical questions, leading phrasing, and assumptions buried in your wording. Unlike Ch 2.2 persona rehearsal (which tests questions against simulated ICPs), ValidatorAI tests the questions themselves - are they built to surface real past behavior or polite agreement? > @@ -201,24 +203,20 @@ After all 10 interviews, return to [Mom Test Synthesis: Build, Pivot, or Kill](/ ## Further reading - Rob Fitzpatrick, [The Mom Test (book site)](https://www.momtestbook.com/) - the canonical reference. The book runs 130 pages and explains why "would you pay for X?" is the most popular question and the worst. -- Y Combinator, [How to Talk to Users (Startup Library)](https://www.ycombinator.com/library/6g-how-to-talk-to-users) - YC's distilled rules for the same conversation, free and 20 minutes. +- Y Combinator, [How to Talk to Users (Startup Library)](https://www.ycombinator.com/library) - YC's distilled rules for the same conversation, free and 20 minutes. - Steve Blank, [The Four Steps to the Epiphany - Customer Discovery](https://steveblank.com/category/customer-development/) - the original customer-development methodology Fitzpatrick's script sits inside. - Teresa Torres, [Continuous Discovery Habits](https://www.producttalk.org/continuous-discovery-habits/) - what these interviews become after the validation phase, when you run them weekly forever. -- Mom Test summary by Yann Klis, [The Mom Test - 1-page summary](https://yannklis.com/posts/the-mom-test/) - a compressed cheat sheet for anyone who can't read the full book this week. -- Lenny Rachitsky, [Customer interviewing 101](https://www.lennysnewsletter.com/p/the-ultimate-guide-to-conducting) - the operational version of the Mom Test rules with sample scripts. -> **Done when:** You understand the 5 Mom Test questions, can spot hypothetical phrasing, and have a draft question list (5-8 questions) anchored in past behavior. +> **Done:** you understand the 5 Mom Test questions, can spot hypothetical phrasing, and have a draft question list (5-8 questions) anchored in past behavior. > -> **Next click:** [2.2 · Sharpen Your Question List with AI Personas](/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/) +> **You have now:** all Module 1 artifacts + a draft Mom Test question list (2.1). Sharpening and recruiting come next. > -> **If blocked:** If the technique isn't clicking, open the [Mom Test Interview Script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/) artifact - it has the 5 questions verbatim. Print it, practice on a friend, then return. - -> **Case Study: Tomas & Mia** -> -> **Tomas**: Runs 10 interviews with accounting firm controllers. Q2 hits hard: "My CFO bills $200/hr and spent 4 hours on reconciliation last week - that's $800." Scored 8/10 on 7 interviews. Validated. +> **Next:** [2.2 · Sharpen Your Question List with AI Personas](/course/tech-for-non-technical-founders-2026/ai-persona-pre-validation-mom-test-prep/) > -> **Mia**: Runs 10 interviews with parents from Facebook groups. Q3 surfaces the real pain: "I missed a $2,000 client deadline because I was on hold with a tutoring center." Scored 9/10 on 8 interviews. Strongly validated. +> **If blocked:** If the technique isn't clicking, open the [Mom Test Interview Script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/) artifact - it has the 5 questions verbatim. Print it, practice on a friend, then return. --- +*See it in action: [Module 2 walkthrough: Mia interviews ten parents](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/)* + *Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/mom-test-script.svg b/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/mom-test-script.svg index 591d5c872..77eb1bb8a 100644 --- a/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/mom-test-script.svg +++ b/content/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/mom-test-script.svg @@ -1,4 +1,4 @@ - + The Mom Test 5-question script - past-behavior interview questions Card 1 last-time question. Card 2 cost in time money sanity. Card 3 what have you tried already. Card 4 1-10 priority. Card 5 who else on your team. @@ -19,7 +19,7 @@ - + The Mom Test interview script - 5 questions, read as written. Anchors in past behavior. Listens for emotional language. Scores 1-10. diff --git a/content/course/tech-for-non-technical-founders-2026/mom-test-interview-script/index.md b/content/course/tech-for-non-technical-founders-2026/mom-test-interview-script/index.md index 8233f3941..0b84b372b 100644 --- a/content/course/tech-for-non-technical-founders-2026/mom-test-interview-script/index.md +++ b/content/course/tech-for-non-technical-founders-2026/mom-test-interview-script/index.md @@ -37,7 +37,6 @@ related_posts: false > Q4. On a scale of 1-10, how big a problem is this compared to everything else on your plate? > Q5. Who else on your team feels this? How do they handle it? -For the ed-tech founder story that motivated this script, see the [lesson chapter](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/). Rob Fitzpatrick's book *The Mom Test* (2013) named the technique: ask about past behavior, not future intent. The questions on this page are the script. You keep them open on a second screen during the call, read them as written, and listen for emotional language while you take notes by hand. @@ -77,13 +76,13 @@ Time budget: 25 minutes for the questions, 5 minutes for scoring notes. Total 30 ### Q3 - The workaround question -*Surfaces existing workarounds - a non-tried problem is a non-felt problem.* +*Surfaces existing workarounds - if they never tried anything, it never actually hurt.* > "What have you tried already to fix this?" **Pass signal:** A named tool, a hired person, a custom script, a workaround that took setup time. "I pay $79/month for Zapier to copy QuickBooks to Google Sheets. It breaks every two weeks. I have a VA on Upwork who fixes it." -**Fail signal:** "Nothing yet." "We just deal with it." "I've been meaning to look into something." A non-tried problem is a non-felt problem. There are exceptions (regulated industries, security, etc.) but the default reading is: no workaround means no urgency. +**Fail signal:** "Nothing yet." "We just deal with it." "I've been meaning to look into something." If they never tried anything, the problem never actually hurt. There are exceptions (regulated industries, security, etc.) but the default reading is: no workaround means no urgency. **Follow-up:** "What broke about the workaround? Why are you still talking to me about this?" @@ -146,9 +145,10 @@ The bad closing pulls them back into hypothetical preference and gives you a use ## What to do after the call - **Score the call 1-10 within 5 minutes of hanging up.** Use Q4 plus your emotional-flag count. Write the score in your notes file. If you score later you will round up. -- **If you have 7+ scores on 7 out of 10 interviews:** the problem is validated. Move to the Validated Problem Statement template (synthesis section of Chapter 2.1). -- **If you have fewer than 5 scores of 7+:** the problem is too weak. Re-evaluate the ICP, the problem framing, or the question wording before booking another 10 calls. Sometimes Q1 is wrong (the problem context is too narrow) - retry with broader phrasing first. -- **Forward the transcripts to your fractional CTO or independent advisor** before you make the build/no-build call. Two readers catch what one misses. +- **If 7 or more of your 10 interviews scored 7+:** the problem is validated - BUILD. Move to the [Mom Test Synthesis page](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) and the Validated Problem Statement template. +- **If 4 to 6 scored 7+:** PIVOT - re-evaluate the ICP, the problem framing, or the question wording, then book 5 sharper interviews with the narrower group. Sometimes Q1 is wrong (the problem context is too narrow) - retry with broader phrasing first. +- **If fewer than 4 scored 7+:** KILL - the problem is too weak for this customer. Return to Ch 1.1 with a different [customer] or [problem] blank. +- **Forward the transcripts to your founder friend one step ahead, or a peer from any founder community** before you make the build/no-build call. Two readers catch what one misses. Skip this script and run "feature interest" interviews ("would you pay for X?") and you almost always launch into silence. The Mom Test isn't a productivity trick. It is the only way to keep your interviewees from being polite while you are gambling six months of your life on what they said. diff --git a/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/cover.png b/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/cover.png index 06719ed14..9a2ba37dc 100644 Binary files a/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/cover.png and b/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/cover.png differ diff --git a/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/index.md b/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/index.md index df93986dd..d20b7f89e 100644 --- a/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/index.md +++ b/content/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/index.md @@ -1,5 +1,5 @@ --- -title: "2.1b · Mom Test Synthesis: Build, Pivot, or Kill" +title: "2.5 · Mom Test Synthesis: Build, Pivot, or Kill" aliases: ["/blog/mom-test-synthesis-build-pivot-kill/"] description: "After your 10 Mom Test interviews: score each transcript, count strong signals, and decide build, pivot, or kill. The 90-minute synthesis that turns raw transcripts into a validated problem statement." date: 2026-05-13 @@ -22,22 +22,24 @@ categories: ["Founders"] cover_image: cover.png metatags: image: cover.png - og_title: "2.1b · Mom Test Synthesis: Build, Pivot, or Kill" + og_title: "2.5 · Mom Test Synthesis: Build, Pivot, or Kill" og_description: "After your 10 Mom Test interviews: score each transcript, count strong signals, and decide build, pivot, or kill. The 90-minute synthesis." -cover_image_alt: "Mom Test synthesis cover showing the build/pivot/kill decision tree after 10 interviews" +cover_image_alt: "JetThoughts course cover for Lesson 2.5 - Score Ten, Then Build, Pivot, or Kill, with the decision gate card: 7 or more build, 4 to 6 pivot, under 4 kill" canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/" related_posts: false --- -> **Module 2 · After Step 1** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) +> **Module 2 · Lesson 2.5 · [CORE] - run after your 2.4 interviews** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > -> **Input:** 10 scored Mom Test transcripts (from [Ch 2.1](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/)) + completed interviews (from [Ch 2.3 (a + b)](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/)) +> **Input:** 10 scored Mom Test transcripts (from [Ch 2.1](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/)) + completed interviews (from [Ch 2.3-2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/)) > > **Output:** a build / pivot / kill decision + a one-page validated problem statement +> +> **Progress:** M2 · 5 of 6 · Results so far: question list + 30-name list + 10 scored interviews - this page turns the scores into a decision > **TL;DR:** Score 10 transcripts, count strong signals, make one of three calls. 90 minutes. The decision you avoid here costs you a quarter of build time later. -> **You should be here AFTER your Ch 2.3 (a + b) interviews are done.** If you don't have 10 scored transcripts in hand, return to [Ch 2.1](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) for the technique, then [Ch 2.3 (a + b)](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) for recruitment. This page is the synthesis pass - you cannot complete it without real interview data. +> **You should be here AFTER your Ch 2.3-2.4 interviews are done.** If you don't have 10 scored transcripts in hand, return to [Ch 2.1](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) for the technique, then [Ch 2.3-2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) for recruitment. This page is the synthesis pass - you cannot complete it without real interview data. After all 10 interviews are done, you have scored transcripts in a folder and a number. Synthesis is the 90-minute step that turns those transcripts into the one-page validated problem statement you'll carry into Module 3. Skip this step and go straight to Lovable, and you have not validated anything - you have a folder and a hypothesis. @@ -67,9 +69,9 @@ flowchart TD S1 --> S2[Step 2
Count strong signals 7+] S2 --> S3[Step 3
Write the one page] S3 --> S4{Strong signals
in 10 calls?} - S4 -->|7 or more| Build[BUILD
Move to Chapter 3.1
Write the Product Brief] + S4 -->|7 or more| Build[BUILD
Test the shape in Ch 2.6
then write the Ch 3.1 brief] S4 -->|4 to 6| Pivot[PIVOT
Run 5 more interviews
Refine the ICP first] - S4 -->|Fewer than 4| Kill[KILL
Find a different problem
Restart at Ch 2.3a] + S4 -->|Fewer than 4| Kill[KILL
Rewrite the hypothesis in Ch 1.1
then re-run Ch 2.3] Build --> Sign[Show to 2 advisors.
Get 2 signatures before building.] Pivot --> Sign Kill --> Sign @@ -91,13 +93,13 @@ flowchart TD class Sign sign ``` -**7+ strong signals: build.** You have a problem that 70%+ of a stranger sample confirmed with felt urgency. The validated problem statement is your input to [The One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/). +**7+ strong signals: build.** You have a problem that 70%+ of a stranger sample confirmed with felt urgency. The validated problem statement travels with you into [2.6 · Build a Clickable Prototype](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) to test the shape, and from there into [The One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/). -Before you start writing code, run the 3 pre-orders test: ask 3 of your strongest-signal interviewees for a pre-order, a paid letter of intent, or a deposit. Strangers who told you their problem score is a 9 should be willing to put a small commitment behind it. If 3 of your top 5 say yes, you have validation with money attached - the strongest signal there is. If 0 of 5 say yes, the 7+ scores were politer than you thought. +Before you start writing code, run the 3 pre-orders test: ask your 5 strongest-signal interviewees for a pre-order, a paid letter of intent, or a deposit. Strangers who told you their problem score is a 9 should be willing to put a small commitment behind it. If 3 of the 5 say yes, you have validation with money attached - the strongest signal there is. If 0 of the 5 say yes, the 7+ scores were politer than you thought. **4-6 strong signals: pivot.** The signal is partial. Most often this is an ICP problem, not a problem problem. Pick the cleanest segment, sharpen the ICP definition, run 5 more interviews against that narrower group. Don't build yet. The 5 sharper interviews cost you a week. A built MVP against a fuzzy ICP costs you a quarter. -**Below 4 strong signals: kill.** Strangers were polite. The market said no in the only way the market knows how to say no before a launch: by not feeling the pain enough to put a number on it. Write down what you learned about the wrong ICP, the wrong framing, or the wrong trigger event. Start [Find 10 People With the Problem](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) again with a different hypothesis. +**Below 4 strong signals: kill.** Strangers were polite. The market said no in the only way the market knows how to say no before a launch: by not feeling the pain enough to put a number on it. Write down what you learned about the wrong ICP, the wrong framing, or the wrong trigger event. Return to [1.1 · Form Your Founding Hypothesis](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/), rewrite the weakest blank using what the dead transcripts taught you, then rebuild your list in [2.3 · Find 10 People: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/). ## What good looks like vs what bad looks like @@ -115,18 +117,15 @@ Writing the one-page statement is the validation step. Ten transcripts in a fold --- -> **Done when:** You have a build / pivot / kill decision backed by your strong-signal count, and a one-page validated problem statement. -> **Next click:** If build - [2.4 · Build a Clickable Prototype](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) to test the shape with 5 of your strongest-signal interviewees, then [3.1 · The One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/). If pivot - return to [2.3a · Find 10 People: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) to rebuild your list around a sharper hypothesis (same hypothesis, different list). If kill - the hypothesis is wrong, not the list; return to [1.1 · Form Your Founding Hypothesis](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/) and rewrite the weakest blank using verbatim quotes from your dead transcripts, then re-run 2.3a. -> **If blocked:** If the numbers aren't adding up, re-read [Ch 2.1's scoring rubric](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) - the Q4 score and flag-count combination is what separates a 7 from a 5. - ---- - -> **Case Study: Tomas & Mia** +> **Done:** you have a build / pivot / kill decision backed by your strong-signal count, and a one-page validated problem statement. > -> **Tomas** (ReconcileBot, B2B SaaS): scored 7 of 10 controllers at 8/10 or higher. Strong-signal count = 7. Verdict: BUILD. Writes the validated problem statement using a verbatim quote ("CFO billed $800 last week on a 4-hour reconciliation") and moves to 2.4 prototype. +> **You have now:** question list (2.1-2.2) + 30-name list (2.3) + 10 scored interviews (2.4) + the build/pivot/kill decision. The orientation pages state this gate as "7 of 10 interviewees have spent time or money on the problem" - the two are the same bar, because a transcript cannot score 7+ without real past spend surfacing in Q2/Q3. > -> **Mia** (TutorMatch, B2C marketplace): scored 8 of 10 parents at 9/10 or higher. Strong-signal count = 8. Verdict: BUILD. Validated problem statement anchors on a verbatim quote ("missed a $2,000 project deadline on hold with a tutoring center") and moves to 2.4 prototype. +> **Next:** If build - [2.6 · Build a Clickable Prototype](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) to test the shape with 5 of your strongest-signal interviewees, then [3.1 · The One-Page Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/). If pivot - sharpen the [customer] blank of your hypothesis, then return to [2.3 · Find 10 People: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) to rebuild your list around that narrower group. If kill - the hypothesis is wrong, not the list; return to [1.1 · Form Your Founding Hypothesis](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/) and rewrite the weakest blank using verbatim quotes from your dead transcripts, then re-run 2.3. +> **If blocked:** If the numbers aren't adding up, re-read [Ch 2.1's scoring rubric](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) - the Q4 score and flag-count combination is what separates a 7 from a 5. --- +*See it in action: [Module 2 walkthrough: Mia interviews ten parents](/course/tech-for-non-technical-founders-2026/module-2-walkthrough-mia/)* + *Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/must-have-segment-pmf-test/index.md b/content/course/tech-for-non-technical-founders-2026/must-have-segment-pmf-test/index.md index e50323219..450144716 100644 --- a/content/course/tech-for-non-technical-founders-2026/must-have-segment-pmf-test/index.md +++ b/content/course/tech-for-non-technical-founders-2026/must-have-segment-pmf-test/index.md @@ -31,7 +31,7 @@ related_posts: false > **Module 5 · Step 1 of 5** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > -> **Input:** a live MVP + 10-30 users who touched it. **Don't have 10-30 yet?** Invite your Module 2 Mom Test interviewees + your [1.4 smoke-test email list](/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/) (typically 15-50 signups) to your staging URL as the warm seed. If under 10 users still touched it, run [Ch 2.3b outreach](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) for 10 more before re-attempting this survey. +> **Input:** a live MVP + 10-30 users who touched it. **Don't have 10-30 yet?** Invite your Module 2 Mom Test interviewees + your [1.4 smoke-test email list](/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/) (typically 15-50 signups) to your staging URL as the warm seed. If under 10 users still touched it, run [Ch 2.4 outreach](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) for 10 more before re-attempting this survey. > > **Output:** a written must-have-user persona with 3 verbatim quotes and one named segment to target @@ -171,14 +171,14 @@ Under 40% means you have a product problem, not a marketing problem, and the Q2- |---|---|---|---| | **You built for the wrong segment** | The product works, but the people you onboarded do not have the pain. Your Q5 slice shows: one segment is at 55%, the rest are at 5%. | Stop selling to the audience and start selling to the segment. | [Chapter 5.3a](/course/tech-for-non-technical-founders-2026/first-ten-customers-network-list/) personal-network outreach to the right segment. | | **You built the right thing, but it is not finished** | The Q3 verbatims are hedged ("it is nice to have," "I would use it if it had X"). The main benefit answers lack conviction. | Go back into the build and finish the thing. | Schedule a [Friday demo](/course/tech-for-non-technical-founders-2026/friday-demo-rule-founder-progress/) with the next release. | -| **The pain is real, but your product is not the relief** | The Q4 verbatims name a workaround that is already 80% of the job (a spreadsheet, an existing tool, a person they pay). | Either niche into the 20% the workaround does not cover, or pivot. | [Chapter 2.1](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/#synthesis-write-down-what-you-heard-decide-whats-next) validated-problem statement. | +| **The pain is real, but your product is not the relief** | The Q4 verbatims name a workaround that is already 80% of the job (a spreadsheet, an existing tool, a person they pay). | Either niche into the 20% the workaround does not cover, or pivot. | [Chapter 2.1](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) validated-problem statement. | | **The product solves the pain, but the workflow is too long** | Users say "very disappointed" but session logs show they bailed before the payoff. Funnel collapses between signup and the "30-minute save" moment. | UX cut, not a strategy pivot. Shorten the path to the first win. | Retest after shortening the funnel; re-run the 40% test after the next UX release. | ## When founders should skip the test | Condition | What to do instead | |---|---| -| **Under 10 users** | Run [Chapter 2.3b outreach](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) (with the list-building method from [2.3a](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) if you don't already have a 30-name list) and book 10 more user calls before re-attempting the test. The test requires 10-30 users who actually touched the MVP to be meaningful. | +| **Under 10 users** | Run [Chapter 2.4 outreach](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) (with the list-building method from [2.3](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) if you don't already have a 30-name list) and book 10 more user calls before re-attempting the test. The test requires 10-30 users who actually touched the MVP to be meaningful. | | **Pre-launch** | Use the [Mom Test interview script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/) instead. The 40% test asks "if you could no longer use the product" - if the user never used it, the answer is meaningless. | ## Advanced (optional) @@ -216,7 +216,7 @@ Treat the answer as a stop sign rather than a market-research instrument. Under > **Done when:** You have run the 5-question Sean Ellis survey, computed the overall and per-segment must-have %, and have 3 verbatim Q2-Q3 quotes from your top segment. > **Next click:** [5.2 · Choose Your Channel Before You Send One Message](/course/tech-for-non-technical-founders-2026/channel-selection-before-outbound/) -> **If blocked:** If under 10 users responded, your sample is too small to read. Book 5-10 more user sessions using the Ch 2.3 (a + b) outreach playbook and re-run the survey. +> **If blocked:** If under 10 users responded, your sample is too small to read. Book 5-10 more user sessions using the Ch 2.3-2.4 outreach playbook and re-run the survey. > **Case Study: Tomas & Mia** > diff --git a/content/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/index.md b/content/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/index.md index d5899019b..5fc8ed6ad 100644 --- a/content/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/index.md +++ b/content/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/index.md @@ -31,7 +31,7 @@ related_posts: false > **Module 3 · Step 1 of 2** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > -> **Input:** a one-page validated problem statement (from [Ch 2.1b · Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/), after running interviews in Ch 2.3a + 2.3b) + verbatim "describe in one sentence" vocabulary (from your [Ch 2.4 prototype sessions](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) - Section 3 of the brief uses these exact words) +> **Input:** a one-page validated problem statement (from [Ch 2.5 · Mom Test Synthesis](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/), after running interviews in Ch 2.3 + 2.4) + verbatim "describe in one sentence" vocabulary (from your [Ch 2.6 prototype sessions](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) - Section 3 of the brief uses these exact words) > > **Output:** a one-page Product Brief (Vibe PRD) you can hand to Lovable or a hired team @@ -62,7 +62,7 @@ The simplest reliable order is *problem → user → build → metric → no-go* ### Section 1 - The problem (lifted from Chapter 2.1 synthesis) -What goes in it: one paragraph copied directly from your [validated problem statement](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/#synthesis-write-down-what-you-heard-decide-whats-next). Named persona, named industry, dated 10-call sample, one verbatim quote, one quantified cost. +What goes in it: one paragraph copied directly from your [validated problem statement](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/). Named persona, named industry, dated 10-call sample, one verbatim quote, one quantified cost. Example: *Pre-seed B2B SaaS founders doing their own Stripe-to-QuickBooks reconciliation lose 6 hours per week and $800 per month in CFO contractor time. 8 of 10 interviewees confirmed (May 2026 sample). One founder said: "Tuesday at 9pm I spent 40 minutes copying Stripe payouts into QuickBooks. I called my CFO. She did it in 90 seconds."* diff --git a/content/course/tech-for-non-technical-founders-2026/outbound-without-sales-team/index.md b/content/course/tech-for-non-technical-founders-2026/outbound-without-sales-team/index.md index 80be66d11..d94338e0a 100644 --- a/content/course/tech-for-non-technical-founders-2026/outbound-without-sales-team/index.md +++ b/content/course/tech-for-non-technical-founders-2026/outbound-without-sales-team/index.md @@ -45,7 +45,7 @@ related_posts: false > **$0 outbound stack.** Apollo's free tier (credit-based: roughly 100 email credits + 10 export credits per month) + a Google Sheet + Gmail mail-merge add-on (free) + Loom free + Calendly free covers the entire pipeline at zero monthly cost. You ship the same 30-message batch, you just enrich the list manually in a sheet instead of automating it through Smartlead. Upgrade to Apollo Pro ($49) or Smartlead ($39 Base plan) only when you're sending 100+ messages a week and the manual enrichment is the bottleneck. -This chapter is sales outbound asking buyers for money, which is a different motion from the interview-recruitment outreach in [Chapter 2.3b](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) where you were asking for 30 minutes of their time. +This chapter is sales outbound asking buyers for money, which is a different motion from the interview-recruitment outreach in [Chapter 2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) where you were asking for 30 minutes of their time. The 10 people you interviewed in Module 2 may or may not become customers, and outreach to them goes through the sales sequence below rather than the recruitment script. @@ -127,7 +127,7 @@ A 10% reply rate on 30 messages is 3 replies. At 20% demo-to-paid, 3 demos lands ### Filter: getting to 30 high-fit names -Apollo or Sales Navigator. Filter on the six dimensions you defined in [Chapter 2.3a · Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) (the same filter you saved as the `Module 5 cold seed` tab in your outreach spreadsheet): job title (the buyer or the user, pick one), company size (start one tight band), industry (one vertical first), geography (one timezone for callable demos), technology used (filter for tools your product replaces or integrates with), recent funding or hiring signal (companies with momentum reply faster). +Apollo or Sales Navigator. Filter on the six dimensions you defined in [Chapter 2.3 · Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) (the same filter you saved as the `Module 5 cold seed` tab in your outreach spreadsheet): job title (the buyer or the user, pick one), company size (start one tight band), industry (one vertical first), geography (one timezone for callable demos), technology used (filter for tools your product replaces or integrates with), recent funding or hiring signal (companies with momentum reply faster). Pull 100-150 raw rows. Strip three categories before sending: @@ -248,7 +248,7 @@ A 30-message batch with zero replies is rare and almost always indicates a filte | Step | Action | Output | |---|---|---| -| **1** | Open your `Module 5 cold seed` tab from Ch 2.3 (a + b) - the Apollo filter is already saved and 8-12 contacts may already be exported. Top up to 30-50 high-fit names using the same filter. Drop bottom 20 into a "later batch" tab in your Sheet. Pick one of three message variants and customize deposit + product description. | 30-50 target list built. Message template ready. | +| **1** | Open your `Module 5 cold seed` tab from Ch 2.3-2.4 - the Apollo filter is already saved and 8-12 contacts may already be exported. Top up to 30-50 high-fit names using the same filter. Drop bottom 20 into a "later batch" tab in your Sheet. Pick one of three message variants and customize deposit + product description. | 30-50 target list built. Message template ready. | | **2** | Spend 60-90 minutes personalizing the first 30 messages. One specific reference per prospect (recent post, hire milestone, role change). Send via LinkedIn DM or cold email tool ([Smartlead](https://smartlead.ai), [Instantly](https://instantly.ai)). | 30 messages sent. 3-6 replies expected. | | **3** | Tally replies once they settle. Book demos. Follow up with non-responders once only. | 2-4 demo calls booked. Next batch ready. | diff --git a/content/course/tech-for-non-technical-founders-2026/outreach-sequence-template/index.md b/content/course/tech-for-non-technical-founders-2026/outreach-sequence-template/index.md index 034f1a358..18cb2dd78 100644 --- a/content/course/tech-for-non-technical-founders-2026/outreach-sequence-template/index.md +++ b/content/course/tech-for-non-technical-founders-2026/outreach-sequence-template/index.md @@ -1,233 +1,95 @@ --- -title: "Outreach Sequence Template: 10 Customer Interviews by Friday" +title: "Outreach Sequence Template: Book 10 Customer Interviews" aliases: ["/blog/outreach-sequence-template/"] -description: "Reddit + LinkedIn + Clay + Lindy + paid panels = 10 ICP interviewees booked in one morning. The 2026 stack with copy-pasteable email + DM templates." +description: "The verbatim outreach sequence from Chapter 2.4: three message templates, both Day-3 bump variants, LinkedIn DM opener, the Reddit research comment, and NeetoCal booking-page copy. Copy, personalize, send." date: 2026-05-18 draft: false course_chapter: true author: "JetThoughts Team" slug: outreach-sequence-template keywords: - - founder cold outreach template - - Clay Apollo Lindy founder - - book customer interviews 2026 - - validation outreach sequence + - customer interview outreach template + - cold message customer research + - book customer interviews founder - non technical founder outreach tags: - founders - non-technical-founder - - template + - customer-research - course-companion - - validation categories: ["Templates"] +cover_image: cover.png +metatags: + image: cover.png + og_title: "Outreach Sequence Template: Book 10 Customer Interviews" + og_description: "The verbatim outreach sequence from Chapter 2.4 - message templates, bump variants, DM opener, Reddit comment, booking-page copy." +cover_image_alt: "JetThoughts template cover for the customer-interview outreach sequence" canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2026/outreach-sequence-template/" related_posts: false --- -📋 Template companion to [Chapter 2.3b · What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/). Build the 30-name list first in [2.3a · Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/), then run this template Monday morning. 10 calls in your calendar by Friday. - -# Find 10 People With the Problem - The 2026 Outreach Sequence Template - -*Reddit + LinkedIn + Clay + Lindy + paid panels = 10 interviewees by Friday.* - -> **📋 Quick-ref checklist - copy this into Notion before you start:** -> -> - [ ] **Written problem hypothesis** - *"I think [persona] does [task] in [painful way] and would pay $X for [better way]"* -> - [ ] **4 tabs open, 2 hours mined** - Reddit, LinkedIn, one Discord/Slack, G2/Capterra. 30 verbatim pain sentences captured. -> - [ ] **ICP list built** - 80-120 rows from Clay or Apollo. Six-filter dimensions applied. 50 names queued for send. -> - [ ] **3-email sequence live** - Smartlead or Instantly + Lindy + Calendly. Day 0/3/7 messages pasted below. -> - [ ] **Paid panel backup running** - User Interviews or Respondent screener live. Running in parallel with cold outreach. -> - [ ] **Smoke-test page live** - Carrd or Framer waitlist. $100-200 ad spend. Target: 5%+ email signup rate. - -## Why this exists - -A consumer-app founder we spoke with last month spent a full week messaging her LinkedIn network. She sent 60 polite DMs, booked 3 calls, and two of the three were old colleagues showing up to be nice. She had one real conversation, and that founder ghosted on the reschedule. Same week, same hypothesis: she pivoted to the stack below on a Monday morning - two hours on Reddit, an Apollo list of 80 contacts, a 3-email Smartlead sequence with a Lindy agent reading replies, and $400 on a User Interviews panel as a backup track. By Thursday afternoon she had **12 calls booked**. The point isn't that her network was wrong. It's that her network was 3 contacts deep when she needed 10, and the next 7 were strangers she had to find on purpose. The template below is what she ran. - -## How to use it - -Run this on a **Monday morning, alone, with a credit card**. Budget: 4 hours of your time on Monday + $200 to $500 in tools and panels across the week. Outcome: 10 booked calls by Friday afternoon. - -Before you start, you need one thing: a written problem hypothesis. One sentence: *"I think [persona] currently does [task] in [painful way] and would pay $X to do it [better way]."* Module 0 routed you here because the worksheet flagged you don't yet have 10 conversations on this. The sequence below is how you get them. - -Run the three tracks in parallel, not in sequence. Cold outreach, paid panels, and the smoke-test landing page fail differently - running all three means even if two flop, you have a real Friday number. - -## The 5-step sequence - -### Step 1 - Mine where they're already complaining (Monday, 2 hours) - -Open four tabs. Read for two hours. Don't write a single message yet. - -**Reddit.** Search the exact words your prospect would use. For a typical B2B SaaS founder ICP, productive subreddits are **r/SaaS**, **r/startups**, **r/Entrepreneur**, plus one or two niche subs for your buyer (r/sysadmin if IT, r/marketing if CMO, r/smallbusiness if owner-operator). Sort by Top - Past Month. Read the top 50 posts. Note the exact wording of complaints and existing workarounds. - -**LinkedIn.** Type the problem in quotes. Filter to Posts - Past Week. The 1% of LinkedIn willing to complain in public is also the 1% willing to take a call. - -**Discord and Slack.** Indie Hackers Discord, Lovable Discord, No Code Founders Slack, plus one industry-specific server. Read the #help-and-feedback channels. The daily question is "has anyone else hit X." - -**G2 and Capterra reviews.** Pull every 2-star and 3-star review of the closest competitor or workaround tool. The text is the language of pain a stranger willingly typed for free. - -Write down **30 specific sentences in their language**. That bank is the raw material for the messages in Step 3. Don't paraphrase. Use their words. - -### Step 2 - Build the ICP list (Monday, 1 hour) - -Two tools matter in 2026. - -| Tool | Price (2026) | Use when | -|---|---|---| -| Clay (clay.com) | ~$149/mo Starter | You need 100+ clean rows with 50+ enrichment sources, deduped and email-verified. | -| Apollo (apollo.io) | $49-$149/mo | You need 50-100 rows fast and the search filters are enough. Budget option. | - -Filter on six dimensions: - -1. **Job title** - the buyer OR the user, not both. Pick one. -2. **Company size** - 50 to 500 employees is the sweet spot (small enough to reach a decision-maker, big enough to have the problem). -3. **Industry** - one vertical first. Expand later. -4. **Geography** - one timezone, so calls are bookable. -5. **Technology used** - if your product replaces or integrates with a specific tool, filter for it. -6. **Recent funding or hiring signal** - companies with momentum reply faster. - -Export 80 to 120 rows. Send to 50, hold 30 in reserve, drop the bottom 40. For consumer founders, Apollo and Clay don't help much - skip to Step 4 and Step 5 instead. - -### Step 3 - Run the sequence (Tuesday morning) - -Three tools, one workflow. - -| Tool | Price (2026) | Role | -|---|---|---| -| Smartlead (smartlead.ai) or Instantly (instantly.ai) | $39-$94/mo (Smartlead Base $39) | Sending layer. Handles deliverability, rotates 5-10 inboxes, keeps you out of spam. | -| Lindy (lindy.ai) | from $49/mo | AI agent. Reads replies, classifies them, sends follow-ups, books calls. | -| Calendly (calendly.com) | free-$10/mo | Calendar booking. Lindy drops your link when a reply says yes. | - -**3-email sequence (copy and paste):** - -> **Day 0 - intro** -> -> Subject: `quick question about [their exact workaround]` +> **Template companion to [Chapter 2.4 - Find 10 People: What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/)** · [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) > -> Hi [first name], +> **Input:** your 30-name list from [Chapter 2.3](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) - each row has a name, where they posted, the post URL, and one quoted line > -> Saw your post on r/SaaS last week about [the exact thread, paraphrased in their language]. I'm a [your role] looking into the same problem and trying to understand how teams like yours [the specific painful task] today. -> -> Not selling anything. I'm 20 minutes from launching a [thing] for this and I want to make sure I'm building what people actually need. Would you be open to a 20-minute call so I can ask 5 questions about how you handle [the task] now? -> -> If yes, here's my calendar: [Calendly link]. -> -> Thanks, -> [Your name] - -> **Day 3 - bump** -> -> Subject: `re: [their workaround]` -> -> Hi [first name], -> -> Bumping this. 20 minutes, your time of choice. I'm not pitching - I'm asking how you do [the task] today and what breaks when you try. The 30 founders I've already spoken to have made the [thing] meaningfully better, so the call is genuinely useful on your end too. -> -> [Calendly link] -> -> Thanks, -> [Your name] - -> **Day 7 - close** -> -> Subject: `last try - 20 min on [topic]` -> -> Hi [first name], -> -> Last note from me. If this isn't your problem, no worries - I'll stop. If it is and you just haven't had a chance to look, here's the link one more time: [Calendly]. I'm running interviews through next Friday. -> -> Thanks either way, -> [Your name] - -**LinkedIn DM openers (3 variants - same sequence pattern, shorter form):** +> **Output:** 10 interview calls booked, using nothing more than Gmail, a [NeetoCal](https://www.neeto.com/neetocal) booking link, and a handful of messages a day -> 1. "Saw your post yesterday on [exact topic]. I'm 20 min from launching a thing for [task] and want to make sure I'm not building the wrong thing. Open to 20 min so I can ask 5 questions about how you handle this today? [Calendly]" +Everything below is copy-pasteable. Replace the `[BRACKETS]`, keep the shape. The rules that make these messages work - and what to do when they don't - live in [Chapter 2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/); this page is the reference card. -> 2. "Read your G2 review of [competitor] - the bit about [exact frustration] is exactly what I'm working on. 20 min to ask you 5 questions about what would actually help? [Calendly]" +## The Day-0 message (email or DM) -> 3. "We've never met but you commented something useful on [post] about [problem]. I'm researching it from the founder side - 20 min so I can ask how you currently handle [task]? Not selling, asking. [Calendly]" +> Subject: your post about [THEIR EXACT WORDS] +> +> Hi [NAME] - you wrote that [ONE SPECIFIC LINE FROM THEIR POST, PARAPHRASED]. I'm researching exactly that problem and would trade 20 minutes for everything you learned the hard way. No pitch, nothing to sell - I don't even have a product yet. Would [DAY] or [DAY] work? Booking link if that's easier: [NEETOCAL LINK] -**Cold-email subject lines (3 variants):** +The whole message rests on the first line naming something they actually wrote. Send a handful a day, by hand, per the 2.4 cadence - a stagger beats a burst. -> 1. `quick question about [their exact workaround]` +## The Day-3 bump - two variants, pick honestly -> 2. `[their company] + [the painful task] - 20 min?` +**If this is your first research round:** -> 3. `re: your r/[sub] post on [topic]` +> Bumping this once in case it got buried - I'm at the start of this research and your [POST TOPIC] experience is exactly the kind I'm trying to learn from. 20 minutes, any day this week. -**Reddit "I'm researching X" comment (1 variant - post AFTER you've added value to the sub for a week):** +**If you have already run interviews:** -> "I'm a founder researching [exact problem in their words]. Not promoting anything yet - just trying to understand how 10 people who hit this currently solve it. If you're up for a 20-minute call this week or next, my DMs are open / here's a Calendly: [link]. Happy to share back what I learn from the calls in a follow-up post here." +> Bumping once - I've now talked to [TRUE NUMBER] people about this, and your situation ([THEIR DETAIL]) is the one the others kept pointing at. I'd love your 20 minutes before I write up what I've heard. -**Calendly booking page copy:** +Never claim conversations you have not had. The first-round variant works fine on its own - curiosity about their post is the hook, not your credentials. -> "20-minute research call - [your name] -> -> What this is: I'm researching [problem] from the founder side. I'll ask you 5 questions about how you currently handle [task], what breaks, and what you've tried. No pitch, no demo. -> -> What you get: I'll send you a 1-page summary of what the 30+ people I interview say. You'll see the patterns before anyone else. -> -> Bring: Nothing. Show up, talk for 20 minutes, hang up." +## The Day-7 close -### Step 4 - Backup via paid panels (kick off Tuesday in parallel) +> Last note from me - if the timing's wrong, no worries at all. If you'd rather type than talk, even two sentences on [THEIR PROBLEM] by email would genuinely help. Thanks either way. -When your ICP is too niche for Clay or Apollo (a specific executive role, a regulated industry, a consumer audience), pay for the panel. +## LinkedIn DM opener (when there's no email) -| Service | Price (2026) | Best for | -|---|---|---| -| User Interviews (userinterviews.com) | $50-$150 per interviewee | Generalist B2B and consumer panels. 8-person panel = $400-$1,200 all-in. 3-5 day lead time. | -| Respondent (respondent.io) | Often cheaper for hard-to-reach roles | CFOs, engineering directors, ops leaders. B2B-leaning. | +> [NAME] - your comment on [POST/THREAD] about [TOPIC] is why I'm writing. I'm researching that exact problem (not selling anything - there's no product yet). 20 minutes this week for everything you'd warn someone about? -Write the screener questions tight. Three screening questions filter out the wrong panel and you pay only for fit interviewees. Run paid panels **in parallel** with cold outreach, not as a replacement - the two channels select for different people, and both samples are biased in opposite directions. +## The Reddit research comment (public thread, DMs closed) -### Step 5 - The parallel smoke-test landing page (Monday afternoon) +> This thread is gold - I'm researching [PROBLEM] for a project and half these comments describe what I keep hearing. [USERNAME], if you'd be up for 20 minutes on how you ended up handling it, I'd owe you one. DMs open. -While Steps 3 and 4 book calls, Step 5 measures whether strangers will give you their email for the thing you described. +## The waitlist-signup opener (for your Module 1 smoke-test signups) -| Tool | Price (2026) | What you ship | -|---|---|---| -| Carrd (carrd.co) | $19/year | One-page waitlist landing page. Headline, subhead, email capture. | -| Framer (framer.com) | $5-$15/mo | Same job, more design control. | +> Hi [NAME] - you joined the [PRODUCT] waitlist a while back. Before anything gets built, I'm talking to the people who signed up. 20 minutes on what made you click? You'll shape what gets built first. -Page anatomy: **headline** (problem in their language, from Step 1) + **subhead** (solution in one sentence) + **one CTA** ("Be first on the waitlist"). Email capture only. No pricing, no signup, no fake product screenshot. +People who already raised a hand reply at the highest rate of any group you will message - start with them if you have them. -Drive £100 to £200 of paid traffic from Google Ads or LinkedIn Ads, targeting the keywords you searched in Step 1. Aim for 200 to 500 visitors over 5 days. +## NeetoCal booking-page copy -Signal you want: **5%+ email signup rate**. Below 2% means the headline or offer is wrong - rewrite both. Between 2% and 5% means directionally right, wording isn't sharp. Above 5% means strangers find the problem real enough to give you an email for a product that doesn't exist yet. +- **Event name:** "20 min - [PROBLEM] research chat" +- **Description:** "A research conversation about [PROBLEM] - how you handle it today, what you've tried, what it costs you. Not a sales call; there is no product yet. Camera optional." +- **Duration:** book 30 minutes, ask for 20 - the good calls run long. -The signups become the warmest opener for Step 3 follow-up: "You signed up for the waitlist on [page] last Tuesday - would you be up for a 20-minute call?" runs 60%+ reply rates. +## Tracking the batch -## What good looks like vs what bad looks like +One spreadsheet row per name (your 2.3 list already has the first four columns): add `Sent on`, `Bumped`, `Replied`, `Booked`, `Done`. Review it before each sending block - never bump someone who has replied, and stop sending when 10 are booked. -**The Day-0 cold email** - -> Bad: "Hi [first name], I'd love to pick your brain about your industry and the challenges you face. Do you have 30 minutes for a quick chat sometime next week?" +> **Done:** 10 calls on your calendar, tracked in the spreadsheet, bump variant chosen honestly. > -> Good: "Hi Marcus, saw your r/sysadmin post Tuesday about spending 2 hours every Monday reconciling Datadog alerts across 4 accounts. I'm 20 minutes from launching something for that and want to make sure I'm not building the wrong thing. 20 min so I can ask 5 questions about what you do today? Calendar: [link]" - -The bad email could go to anyone in any role at any company. The good email could only go to Marcus. References his specific public post, names the exact painful task, sets a tight ask, drops the calendar link. Reply rate goes from 1-3% on the bad version to 25-35% on the good one. - -**The Reddit research comment** - -> Bad: "Hey r/SaaS! I'm a founder building a new tool for [generic problem]. Would love some feedback! DM me if interested." +> **Next:** run the calls with the [Mom Test Interview Script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/), then score the transcripts on the [Synthesis page](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/). > -> Good: "I'm a founder researching [exact problem from a post in this sub last week] - not promoting anything yet, just trying to understand how 10 people who hit this currently solve it. If you're up for a 20-min call this week, my DMs are open / Calendly: [link]. I'll share back the patterns in a follow-up post." - -The bad comment gets auto-removed by mods and reads as recruiting traffic. The good comment is a question with a clear ask, offers value back to the sub (the follow-up post), and matches an existing thread the sub already engaged with. The [self-promotion on Reddit rules guide](/blog/self-promote-on-reddit-without-getting-banned-promotion/) covers the karma floor and timing that keep you out of the auto-removed pile. - -## What to do after - -- **Score responses Wednesday afternoon.** Aim for **25-35% reply rate** by mid-week (same benchmark the well-crafted Day-0 example produces). If you're under 10%, the Day-0 subject line is generic - rewrite it referencing a specific public post and resend Thursday morning. -- **By Friday, hold 10 booked calls across the next 2 weeks.** Cold outreach should give you 5-7 of them. Paid panel fills the other 3-5. The smoke-test landing page is a signal track, not a booking track. -- **Move to the Mom Test interview script (Chapter 2.1).** The script tells you what to ask once they're on the call. The wrong questions waste the conversations you just booked. The [Mom Test reference at momtestbook.com](https://www.momtestbook.com/) is the anchor; Chapter 2.1 ships the JT-curated 5-question script. - -## What to do tomorrow - -Three actions. Block the morning before email. - -1. **Write your one-sentence problem hypothesis** in a Notion doc: *"I think [persona] currently does [task] in [painful way] and would pay $X to do it [better way]."* If you can't fill the blanks, the rest of the sequence is premature. -2. **Open four tabs and read for two hours.** Reddit (Top - Past Month in your two niche subs), LinkedIn (problem-phrase + Past Week), one Discord, and 10 G2/Capterra 2-3 star reviews. Capture 30 verbatim complaint sentences in your doc. -3. **Open Clay or Apollo and pull 80 to 120 rows** filtered on the six dimensions in Step 2. By tomorrow night you have the list. Tuesday morning the 3-email sequence ships. +> **If blocked:** replies not coming? [Chapter 2.4's reply-rate calibration steps](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) cover the failure modes - it is almost always a first line that could have been sent to anyone. --- -*Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) curriculum.* +*Built by [JetThoughts](https://jetthoughts.com) as part of the [From Idea to First Paying Customer](/course/tech-for-non-technical-founders-2026/) free curriculum.* diff --git a/content/course/tech-for-non-technical-founders-2026/pivot-or-persevere-decision-framework/index.md b/content/course/tech-for-non-technical-founders-2026/pivot-or-persevere-decision-framework/index.md index aca6d9d1f..009c30518 100644 --- a/content/course/tech-for-non-technical-founders-2026/pivot-or-persevere-decision-framework/index.md +++ b/content/course/tech-for-non-technical-founders-2026/pivot-or-persevere-decision-framework/index.md @@ -150,7 +150,7 @@ You walk out of this chapter holding a pivot decision (one of six types, or pers A Customer Segment pivot or Customer Need pivot routes you back to [Form Your Founding Hypothesis](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/) - rewrite the customer or problem blanks, keep the rest of the sentence template. Then [Find 10 People With the Problem](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) to validate the new hypothesis with the new segment. -A Solution pivot routes you back to [Decide What's Next](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/#synthesis-write-down-what-you-heard-decide-whats-next) - the validated problem statement is still good (you confirmed the right customer has the right pain); the solution shape needs to change. Then back into the self-serve or hire path for the rebuild. +A Solution pivot routes you back to [Decide What's Next](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) - the validated problem statement is still good (you confirmed the right customer has the right pain); the solution shape needs to change. Then back into the self-serve or hire path for the rebuild. A Channel pivot or Revenue Model pivot routes you back to [Build Your 50-Name Network List](/course/tech-for-non-technical-founders-2026/first-ten-customers-network-list/) with the new channel or pricing model. The hypothesis stays intact; the go-to-market motion changes. diff --git a/content/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/index.md b/content/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/index.md index d668ffe2d..2094ecfc0 100644 --- a/content/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/index.md +++ b/content/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/index.md @@ -85,7 +85,7 @@ Open your Stripe dashboard. Write down the number of clicks vs. completed paymen > > **You have now:** all M1 artifacts - Founding Hypothesis (1.1), clear landing page (1.2), tracking (1.3), cold-traffic data (1.4), price signal (1.5). Module 1 closes here. > -> **Next:** [2.1 · The Mom Test: Ask About the Past, Not the Future](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) - takes your price signal into customer interviews to find out WHY strangers paid (or didn't). +> **Next:** [2.1 · The Mom Test: Ask About the Past, Not the Future](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) - the interview method for finding out whether the problem behind your hypothesis is real. You'll ask strangers about their past, not pitch your idea or your price. > > **If blocked:** see "If this fails" above. Missing any M1 artifact? Go back to that lesson before starting Module 2. > diff --git a/content/course/tech-for-non-technical-founders-2026/quickstart/index.md b/content/course/tech-for-non-technical-founders-2026/quickstart/index.md index f0ada5821..b8347102d 100644 --- a/content/course/tech-for-non-technical-founders-2026/quickstart/index.md +++ b/content/course/tech-for-non-technical-founders-2026/quickstart/index.md @@ -52,9 +52,10 @@ Skip the lessons marked "optional" on the [course landing page](/course/tech-for *Output: 10 Mom Test interviews + clickable prototype tested with 5 people.* - [**2.1** · The Mom Test: Ask About the Past](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) -- [**2.3a** · Find 10 People: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) -- [**2.3b** · Find 10 People: What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) -- [**2.4** · Build a Clickable Prototype (2 hrs)](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) +- [**2.3** · Find 10 People: Where to Look](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) +- [**2.4** · Find 10 People: What to Say](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) +- [**2.5** · Mom Test Synthesis: Build, Pivot, or Kill](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/) +- [**2.6** · Build a Clickable Prototype](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/) **Gate:** ≥7 of 10 interviewees have spent time or money on the problem. diff --git a/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-build-phases/index.md b/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-build-phases/index.md index 64c189135..01f51c849 100644 --- a/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-build-phases/index.md +++ b/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-build-phases/index.md @@ -46,19 +46,19 @@ related_posts: false > **The ship plan below is the BUILD portion only.** It assumes you already ran Modules 1-3 (hypothesis → smoke test → 10 interviews → one-page brief) and read [Part 1: Tools & Setup](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/). If you skip straight here without validation, the build often ships into the silence Modules 1-3 were designed to prevent. -Four build phases, plus an onramp phase that hands you off to Module 5. Each phase ends with one demo to one human (a friend, an advisor, your spouse, the dog if necessary - someone who has not seen the build). The build phase ends with five real ICP users on the staging URL; the onramp phase brings the rest of your Ch 2.3 (a + b) interview pool onto the product. +Four build phases, plus an onramp phase that hands you off to Module 5. Each phase ends with one demo to one human (a friend, an advisor, your spouse, the dog if necessary - someone who has not seen the build). The build phase ends with five real ICP users on the staging URL; the onramp phase brings the rest of your Ch 2.3-2.4 interview pool onto the product. 1. **Phase 1 - Lovable, the UI.** No backend yet. *Demo:* screens click, no data persists. 2. **Phase 2 - Supabase + auth.** Real signup works. *Demo:* your spouse signs up, a row appears in Supabase in real time. 3. **Phase 3 - Stripe + checkout.** $1 test transactions. *Demo:* you sign up as a fake coach, pay $1, the webhook flips your row to paid. 4. **Phase 4 - staging URL + 5 ICP users.** Custom domain, Stripe live. *Right after:* 5 click sessions logged - iterate from real signal. -5. **Onramp phase - Module 5 handoff.** Invite the 10 Ch 2.3 (a + b) interviewees by name (covered in detail below). Hand off to Module 5 with a populated users table, not an empty one. +5. **Onramp phase - Module 5 handoff.** Invite the 10 Ch 2.3-2.4 interviewees by name (covered in detail below). Hand off to Module 5 with a populated users table, not an empty one. ### Phase 1 - write your prompts, set up Lovable, ship the UI Start by opening the one-page brief. The "what you're building" section becomes your first three Lovable prompts. -> **Bridge from Ch 2.4 vocabulary (the most useful paste in the course).** Before you describe a button label, a column header, or a screen title, open your Ch 2.4 vocabulary doc (the verbatim words your 5 prototype subjects used in the closing "describe in one sentence" question). If 4 of 5 said "match" and not "reconcile," the button label is **"Match transactions,"** not "Reconcile." If 3 of 5 said "client" and 2 said "patient," **use the most-repeated term**. The vocabulary your prototype subjects passed is the only user-tested language you have; the production MVP is the one place where using it has revenue consequences. +> **Bridge from Ch 2.6 vocabulary (the most useful paste in the course).** Before you describe a button label, a column header, or a screen title, open your Ch 2.6 vocabulary doc (the verbatim words your 5 prototype subjects used in the closing "describe in one sentence" question). If 4 of 5 said "match" and not "reconcile," the button label is **"Match transactions,"** not "Reconcile." If 3 of 5 said "client" and 2 said "patient," **use the most-repeated term**. The vocabulary your prototype subjects passed is the only user-tested language you have; the production MVP is the one place where using it has revenue consequences. Lovable's prompt style is conversational; you describe the screen, the components, the rough behavior. Examples: @@ -95,7 +95,7 @@ In Lovable, install the Supabase integration. Lovable will add the Supabase JS c > > Zero rows back = policy works. Any rows back = the policy is missing a `USING (auth.uid() = user_id)` clause or equivalent. Fix before any real user touches the URL. -> **End-of-Phase-2 micro-fail signal.** Before you build Stripe in Phase 3, hand the staging URL to your spouse OR one of your Ch 2.3 (a + b) Mom Test interviewees. Give zero coaching. Watch them try to sign up and reach the core action button (logging a check-in, exporting the CSV, whatever your one-page brief named as the workflow). If 2+ test users stall on screens 1-2, the workflow shape is wrong - pivot back to [Ch 3.2 outcome rewrite](/course/tech-for-non-technical-founders-2026/stop-specifying-features-start-outcomes/) before adding Stripe. Building a payment wall on top of a workflow nobody can navigate just adds friction to a broken loop. +> **End-of-Phase-2 micro-fail signal.** Before you build Stripe in Phase 3, hand the staging URL to your spouse OR one of your Ch 2.3-2.4 Mom Test interviewees. Give zero coaching. Watch them try to sign up and reach the core action button (logging a check-in, exporting the CSV, whatever your one-page brief named as the workflow). If 2+ test users stall on screens 1-2, the workflow shape is wrong - pivot back to [Ch 3.2 outcome rewrite](/course/tech-for-non-technical-founders-2026/stop-specifying-features-start-outcomes/) before adding Stripe. Building a payment wall on top of a workflow nobody can navigate just adds friction to a broken loop. ### Phase 3 - add Stripe, wire checkout, $1 test transactions @@ -115,19 +115,19 @@ Watch what happens. If 0 of 5 click, the cold message is wrong, not the product > > 1. **Stripe in LIVE mode** (not test mode) and a real card successfully clears the paywall at least once. > 2. **Custom domain wired** (not a `.lovable.app` subdomain) - the URL you DM to a user must be yours. -> 3. **At least 1 ICP user who was NOT in your Ch 2.3 (a + b) interviews** has clicked through to the paywall on the live URL. +> 3. **At least 1 ICP user who was NOT in your Ch 2.3-2.4 interviews** has clicked through to the paywall on the live URL. > 4. **Zero JS errors in the browser Console** on the sign-up + checkout flow (open DevTools, walk the happy path, console must stay clean). > 5. **Friday-style weekly demo recording exists** for the last week of build (a Loom or screen-record proving the demo cadence held to the end). > > Advance to Module 5 only when all 5 are green. If any are red, the MVP is NOT ready for the 10-30 users Module 5 needs as input. Fix the red light first, then re-check. -> **Pre-flight before M5.1: book up to 10 user sessions.** Phase 4's 4-6 onramp accounts are not enough for M5.1's Sean Ellis 40% test (under 10 respondents = noise, not signal). Before you start Module 5, book a second small invite wave: 5-10 more sessions from your Ch 2.3 (a + b) interviewee list, your community connections, or a fresh micro-batch of cold DMs. Aim for 10-15 active users total by the time M5.1's survey ships. Without this pre-flight, you will run the 40% test on 5 people, get an ambiguous result, and falsely conclude you have a product problem when you really have a sample-size problem. +> **Pre-flight before M5.1: book up to 10 user sessions.** Phase 4's 4-6 onramp accounts are not enough for M5.1's Sean Ellis 40% test (under 10 respondents = noise, not signal). Before you start Module 5, book a second small invite wave: 5-10 more sessions from your Ch 2.3-2.4 interviewee list, your community connections, or a fresh micro-batch of cold DMs. Aim for 10-15 active users total by the time M5.1's survey ships. Without this pre-flight, you will run the 40% test on 5 people, get an ambiguous result, and falsely conclude you have a product problem when you really have a sample-size problem. ### Onramp phase - Module 5 handoff: invite your Module 2 interviewees onto the live MVP -The build phases above are the BUILD container. The onramp phase is the Module-5 handoff - the step that turns a live staging URL into a live users table. The five cold prospects from Phase 4 are the demand-signal check. The 10 interviewees you ran through Ch 2.3 (a + b) are the warm pool that becomes your first real users - the ones who told you the problem was real, in their own words, recently. They are not on your MVP yet. They will not show up unless you invite them by name. +The build phases above are the BUILD container. The onramp phase is the Module-5 handoff - the step that turns a live staging URL into a live users table. The five cold prospects from Phase 4 are the demand-signal check. The 10 interviewees you ran through Ch 2.3-2.4 are the warm pool that becomes your first real users - the ones who told you the problem was real, in their own words, recently. They are not on your MVP yet. They will not show up unless you invite them by name. -Open your Ch 2.3 (a + b) interview list. For each of the 10 names, write a 3-line personalized note: the workaround they described in their interview, the staging URL of the workflow that now replaces it, and one specific question they answered that the MVP now responds to. +Open your Ch 2.3-2.4 interview list. For each of the 10 names, write a 3-line personalized note: the workaround they described in their interview, the staging URL of the workflow that now replaces it, and one specific question they answered that the MVP now responds to. Send it as a [Loom](https://www.loom.com) (Loom is a free short-form screen-recording tool - the recipient watches you click through the product in their browser, no install) or a personal LinkedIn DM, not a generic email blast. @@ -135,7 +135,7 @@ Expect 4-6 of the 10 to create accounts; 2-3 of those to actually log in and cli This is the step that closes the gap between Module 4 (MVP shipped) and Module 5 (first paying customer). Without it, you ship a working URL into the silence of a Supabase users table with zero rows. The Module 2 interviewees are the closest 10 people in the world to your ICP - they spent 30 minutes telling you their version of the problem. Inviting them by name is the cheapest first-10-users acquisition the course will name. -If you need more than 10 users on the MVP before running Ch 5.1's survey, the recruitment playbook in [Ch 2.3 (a + b)](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) is the same one you use to find them - the message changes from "30 minutes of your time" to "try the live tool for a week, free." +If you need more than 10 users on the MVP before running Ch 5.1's survey, the recruitment playbook in [Ch 2.3-2.4](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) is the same one you use to find them - the message changes from "30 minutes of your time" to "try the live tool for a week, free." ## What "ship the shed" means in practice diff --git a/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/index.md b/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/index.md index ce87f61d6..3464ccf34 100644 --- a/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/index.md +++ b/content/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/index.md @@ -40,9 +40,9 @@ related_posts: false > **TL;DR:** Lovable renders the screens, Supabase stores the data, Stripe charges the card. Three tools, three jobs. Know the boundaries before you open Lovable. Twelve rules keep the build inside the shed. All three tools have free tiers; the chapter's specific cost callouts live where each tool is introduced. Skip to [the ship plan](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-build-phases/#the-ship-plan) if you already know the stack. -> **This chapter starts FRESH from your one-page brief - do NOT iterate the Chapter 2.4 prototype.** +> **This chapter starts FRESH from your one-page brief - do NOT iterate the Chapter 2.6 prototype.** > -> The Chapter 2.4 prototype was a short research artifact: fake data, no auth, viewed by 5 interview subjects, archived after the shape test. This chapter is the production build: real Supabase auth, real Stripe payments, real domain, real users. The first proved users can navigate the SHAPE; the second ships the actual product. Reusing the prototype code multiplies the build effort and ships every research compromise into production. +> The Chapter 2.6 prototype was a short research artifact: fake data, no auth, viewed by 5 interview subjects, archived after the shape test. This chapter is the production build: real Supabase auth, real Stripe payments, real domain, real users. The first proved users can navigate the SHAPE; the second ships the actual product. Reusing the prototype code multiplies the build effort and ships every research compromise into production. If you completed Modules 1-4, your default Module 4 path is to build it yourself with Lovable + Supabase + Stripe. Hiring is a ceiling-signal trigger covered in the [supplementary reference](/course/tech-for-non-technical-founders-2026/hire-track-supplementary-reference/), not a parallel choice. @@ -157,13 +157,13 @@ Free for solo founders on the Free plan. You will not write much code yourself, Synthesis of every rule scattered across Module 4 and the supplementary references. Print this page, tape it next to the laptop, re-read before every weekly demo. -**Before you open Lovable - the 3 load-bearing pre-flight rules.** Rules **1, 2, and 6** in the list below are the ones that must be true on day zero. Rule 1 (one-page brief passed the Ch 3.2 quality-gate) keeps Phase 1 prompts from generating a 47-button admin panel. Rule 2 (one workflow, one persona, one happy path) keeps the build inside the shed. Rule 6 (GitHub sync turned on in Lovable Settings on day 1) keeps your source recoverable if Lovable drops it. Get those 3 right and the rest read as inline checks while you build. Get them wrong and the other 9 cannot save the project. +**Before you open Lovable - the 3 load-bearing pre-flight rules.** Rules **1, 2, and 6** in the list below are the ones that must be true on day zero. Rule 1 (one-page brief passed the Ch 3.2 quality-gate) keeps Phase 1 prompts from generating a sprawling admin panel. Rule 2 (one workflow, one persona, one happy path) keeps the build inside the shed. Rule 6 (GitHub sync turned on in Lovable Settings on day 1) keeps your source recoverable if Lovable drops it. Get those 3 right and the rest read as inline checks while you build. Get them wrong and the other 9 cannot save the project. -1. **Start from a one-page brief that passed the Ch 3.2 quality-gate.** If Section 3 is feature-shaped, fix it before you open Lovable. Feature-shaped briefs produce 47-button admin panels. +1. **Start from a one-page brief that passed the Ch 3.2 quality-gate.** If Section 3 is feature-shaped, fix it before you open Lovable. Feature-shaped briefs produce sprawling admin panels. 2. **One workflow, one persona, one happy path.** No multi-tenancy, no admin dashboard, no settings page on day one. Build the shed (Rob Walling's analogy), not the house. 3. **Strict layer boundaries**: Lovable renders screens, Supabase stores data, Stripe collects payment. Do not let Lovable hand-roll auth; do not let Supabase render a UI; do not let Stripe become the source of truth for user state. 4. **Weekly demo to one non-PRD-reader human.** Spouse, advisor, dog if necessary. Keep a ship-something-visible cadence every week. The demo IS the data; the screens are not. -5. **Do NOT iterate the Ch 2.4 throwaway prototype.** Start the M4.3 build fresh from your one-page brief. The prototype answered "do users know what to click"; the MVP answers "do users pay." +5. **Do NOT iterate the Ch 2.6 throwaway prototype.** Start the M4.3 build fresh from your one-page brief. The prototype answered "do users know what to click"; the MVP answers "do users pay." 6. **Set up GitHub sync in Lovable Settings on day 1.** Lovable can drop the work; GitHub is your backup. Skipping this is the #1 reason founders cannot retrieve their source. 7. **Enable Row-Level Security on every Supabase table from day 1.** RLS is the rule that says "Coach A can only read Coach A's rows." Skipping it ships the cross-tenant data leak that ends pilots (see Ch 4.4 Signal 4). 8. **Stripe webhook handler must be idempotent.** Idempotent means "safe to run twice without breaking anything" - Stripe sometimes sends the same payment event more than once, and your handler must not double-charge or double-activate. Check `WHERE event_id = $1 AND processed = true` before re-running the update. (See production hardening section of [hire-track reference](/course/tech-for-non-technical-founders-2026/hire-track-supplementary-reference/#production-hardening-checklist-what-your-fractional-cto-will-look-for) for details.) diff --git a/content/course/tech-for-non-technical-founders-2026/should-you-hire-2026-decision-tree/index.md b/content/course/tech-for-non-technical-founders-2026/should-you-hire-2026-decision-tree/index.md index 792566778..9e9a1debe 100644 --- a/content/course/tech-for-non-technical-founders-2026/should-you-hire-2026-decision-tree/index.md +++ b/content/course/tech-for-non-technical-founders-2026/should-you-hire-2026-decision-tree/index.md @@ -52,7 +52,7 @@ The hire is the move that breaks the runway. The skipped step is the cheaper exp > > If you cannot answer with a list of buyers who have already paid you, the answer is: not yet. Stay one box left of where you were about to start. -By the time you reach this chapter, you have already run three validation signals: the smoke test (Module 1) proved that strangers click. The Mom Test interviews (Chapter 2.1 technique applied in Ch 2.3 (a + b) recruitment + interview round) proved the problem is real and felt. The clickable prototype shape test (Chapter 2.4) proved that users can navigate the proposed solution without coaching. +By the time you reach this chapter, you have already run three validation signals: the smoke test (Module 1) proved that strangers click. The Mom Test interviews (Chapter 2.1 technique applied in Ch 2.3-2.4 recruitment + interview round) proved the problem is real and felt. The clickable prototype shape test (Chapter 2.6) proved that users can navigate the proposed solution without coaching. All three are research signals, not builds. The one-page brief (Chapter 3.1) documents what to build. This chapter decides HOW to build it - self-serve, fractional CTO, or hired team. @@ -70,7 +70,7 @@ The signal you are looking for is small. Two paying buyers from 35 cold outreach We know a B2B SaaS founder who sold five annual contracts at $1,800 each via a Stripe link and a Notion doc before she wrote a line of code. By the time her contractor delivered the v1 web app eight weeks later, she had $9,000 in pre-revenue and a customer-feedback loop already running. The build was constrained by what she had already promised the five buyers, which is the cheapest scope-control mechanism that exists. -Zero clicks from 35 prospects is brutal in the other direction. The problem might be real (you validated it in [Decide What's Next](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/#synthesis-write-down-what-you-heard-decide-whats-next)) but your pitch is wrong, your price is wrong, or the timing is wrong. Find out for $200 instead of $30,000. +Zero clicks from 35 prospects is brutal in the other direction. The problem might be real (you validated it in [Decide What's Next](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/)) but your pitch is wrong, your price is wrong, or the timing is wrong. Find out for $200 instead of $30,000. ## Pick the right building before you commit to build @@ -95,7 +95,7 @@ Use this path when you have no MVP yet, a single untested hypothesis, and no con ### 2. Self-serve build ([The Self-Serve MVP Stack](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/)) -Pick this path when the problem is validated (10+ Mom Test interviews with ≥7 strong-signal scores per the Ch 2.1b synthesis rubric + a Ch 1.4 smoke test that cleared the 6%+ "Promising" band - pre-orders and paid pilots are produced LATER in Module 5, do not require them as the gate), the scope is one workflow for one persona, and the backend requirements are simple - no real-time collaboration, no complex refund flows, no compliance scope. +Pick this path when the problem is validated (10+ Mom Test interviews with ≥7 strong-signal scores per the Ch 2.5 synthesis rubric + a Ch 1.4 smoke test that cleared the 6%+ "Promising" band - pre-orders and paid pilots are produced LATER in Module 5, do not require them as the gate), the scope is one workflow for one persona, and the backend requirements are simple - no real-time collaboration, no complex refund flows, no compliance scope. This week: paste your [one-page brief](/course/tech-for-non-technical-founders-2026/vibe-prd-template/) into [Lovable](https://lovable.dev) (an AI app builder - free trial, paid plans from $25/month), ship the smallest end-to-end thing it generates, and connect [Supabase](https://supabase.com) (database + auth, free tier) + Stripe + Resend on top. Tooling is per-vendor pricing across the stack. Watch one failure mode: hitting the architectural ceiling when the app crosses ~5,000 users or your second integration. [5 Ceiling Signals](/course/tech-for-non-technical-founders-2026/vibe-coding-ceiling-signals/) tells you when to move up. @@ -146,7 +146,7 @@ The Mermaid above is the worksheet. The five questions live in the diagram. The | Route | What it means | Next chapter to read | |---|---|---| -| **Validate (Q1=No or Q3 tight)** | The Module 1-3 evidence chain isn't done. Pre-orders and paid pilots come in Module 5 - do NOT skip ahead. LinkedIn likes don't count; "they said they would buy" doesn't count. | Back to [the Module 1 smoke test (Lessons 1.2-1.5)](/course/tech-for-non-technical-founders-2026/smoke-test-build-page/) or [Ch 2.3a recruitment](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) | +| **Validate (Q1=No or Q3 tight)** | The Module 1-3 evidence chain isn't done. Pre-orders and paid pilots come in Module 5 - do NOT skip ahead. LinkedIn likes don't count; "they said they would buy" doesn't count. | Back to [the Module 1 smoke test (Lessons 1.2-1.5)](/course/tech-for-non-technical-founders-2026/smoke-test-build-page/) or [Ch 2.3 recruitment](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/) | | **Self-serve (Q2=No, Q4=Yes)** | Default for non-technical founders. Lovable renders the screens, Supabase stores the data, Stripe charges the card. The senior engineer in your network is the cheap monthly insurance. | [Ch 4.3a · Stack](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-lovable-supabase-stripe-2026/) + [4.3b · Build Phases](/course/tech-for-non-technical-founders-2026/self-serve-mvp-stack-build-phases/) | | **Fractional CTO (Q4=No, Q5=fractional)** | Same self-serve build, but the architecture review is bought commercially instead of borrowed from your network. 0% equity. | [hire-track supplementary reference](/course/tech-for-non-technical-founders-2026/hire-track-supplementary-reference/) | | **Hire a team (Q2=Yes OR Q5=full team)** | Backend-heavy OR runway gives you 12+ months. Material monthly burn. Read the SOW first. | [SOW reading guide](/course/tech-for-non-technical-founders-2026/sow-reading-guide/) before signing anything | diff --git a/content/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/index.md b/content/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/index.md index f781fc04f..ddadb4024 100644 --- a/content/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/index.md +++ b/content/course/tech-for-non-technical-founders-2026/smoke-test-landing-page-7-day-demand-test/index.md @@ -64,7 +64,7 @@ After this lesson you will be able to: **make a go / iterate / kill decision on |---|---|---| | Under 3% | Kill or pivot | Hypothesis is wrong. Rewrite the weakest blank and re-test. | | 3-6% | Iterate the message | Rewrite headline or try a different audience. Same hypothesis, different framing. | -| 6-10% | Promising | Move to [Module 2 interviews](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/). Talk to the people who signed up. | +| 6-10% | Promising | Finish [1.5 · the price test](/course/tech-for-non-technical-founders-2026/price-hypothesis-on-smoke-test-page/), then start [Module 2 interviews](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/) - the people who signed up go on your interview list. | | 10-20% | Strong signal | Run interviews + [Product Brief](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/) in parallel. | | Over 20% | Suspicious | Either hot market OR broken targeting. Verify with a second channel. | diff --git a/content/course/tech-for-non-technical-founders-2026/stop-specifying-features-start-outcomes/index.md b/content/course/tech-for-non-technical-founders-2026/stop-specifying-features-start-outcomes/index.md index 9d23d5419..ebaec5fed 100644 --- a/content/course/tech-for-non-technical-founders-2026/stop-specifying-features-start-outcomes/index.md +++ b/content/course/tech-for-non-technical-founders-2026/stop-specifying-features-start-outcomes/index.md @@ -147,11 +147,11 @@ Three actions, in order. > The cheap fix for this whole pattern is the rewrite tomorrow morning. The expensive fix is the salvage decision you read after the spaceship lands and investors ask why the demo is so heavy. One focused pass with a marker now spares you the build-and-throwaway later. -> **Optional: stack-rank features with real users.** After you have rewritten Section 3 as outcome-shaped job stories, you still have a list. If you need to know which outcome to build first, [OpinionX](https://opinionx.co) (free tier available) uses forced-ranking pairwise voting - users pick A or B, not rate everything "very important." Paste your 5-7 outcome statements, send the link to your Ch 2.3 (a + b) interviewees, and the forced-choice format surfaces real priorities that a 1-10 rating scale hides. The output is a ranked list backed by pairwise win rates, not averaged scores. Use this before handing the brief to Lovable or a contractor - it prevents the "build everything because everything scored 8/10" trap. +> **Optional: stack-rank features with real users.** After you have rewritten Section 3 as outcome-shaped job stories, you still have a list. If you need to know which outcome to build first, [OpinionX](https://opinionx.co) (free tier available) uses forced-ranking pairwise voting - users pick A or B, not rate everything "very important." Paste your 5-7 outcome statements, send the link to your Ch 2.3-2.4 interviewees, and the forced-choice format surfaces real priorities that a 1-10 rating scale hides. The output is a ranked list backed by pairwise win rates, not averaged scores. Use this before handing the brief to Lovable or a contractor - it prevents the "build everything because everything scored 8/10" trap. ## Artifacts you carry out of Module 3 -After finishing Ch 3.1-3.2, Sam has five artifacts. Each one feeds a specific downstream destination - this table is the map: +After finishing Ch 3.1-3.2, you have five artifacts. Each one feeds a specific downstream destination - this table is the map: | Artifact | Where it goes next | |---|---| diff --git a/content/course/tech-for-non-technical-founders-2026/three-questions-turn-standup-into-proof/index.md b/content/course/tech-for-non-technical-founders-2026/three-questions-turn-standup-into-proof/index.md index bf8093921..d00273862 100644 --- a/content/course/tech-for-non-technical-founders-2026/three-questions-turn-standup-into-proof/index.md +++ b/content/course/tech-for-non-technical-founders-2026/three-questions-turn-standup-into-proof/index.md @@ -47,7 +47,7 @@ canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2 ## Why standups stopped working in 2026 -Most non-technical founders inherit the daily standup ritual without ever being told what good looks like. Their PM or agency lead schedules a fifteen-minute call, the team answers three questions in order, and the founder leaves the call feeling oriented. Whether anything shipped is a separate question, and the standup format does not force it. [Atlassian's own guide to daily standups](https://www.atlassian.com/agile/scrum/standups) flags exactly this risk: standups drift into status theatre unless someone is asking the questions that surface working software. +A non-technical founder typically inherit the daily standup ritual without ever being told what good looks like. Their PM or agency lead schedules a fifteen-minute call, the team answers three questions in order, and the founder leaves the call feeling oriented. Whether anything shipped is a separate question, and the standup format does not force it. [Atlassian's own guide to daily standups](https://www.atlassian.com/agile/scrum/standups) flags exactly this risk: standups drift into status theatre unless someone is asking the questions that surface working software. AI-augmented developers compound the problem. A single developer can land five pull requests a day with no observable feature progress - refactors, dependency bumps, prompt tweaks, generated tests that pass because they test nothing. The founder watching the call sees motion. The product does not move. [Qodo's 2025 State of AI Code Quality report](https://www.qodo.ai/reports/state-of-ai-code-quality/) found AI-generated code produces 1.7x more issues than human-written code at the same line count, and most of those issues hide inside the kind of work that sounds productive in a standup answer. diff --git a/content/course/tech-for-non-technical-founders-2026/validated-problem-statement-template/index.md b/content/course/tech-for-non-technical-founders-2026/validated-problem-statement-template/index.md index 2ce357d8e..b78e5e631 100644 --- a/content/course/tech-for-non-technical-founders-2026/validated-problem-statement-template/index.md +++ b/content/course/tech-for-non-technical-founders-2026/validated-problem-statement-template/index.md @@ -24,7 +24,7 @@ canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2 related_posts: false --- -📋 Template companion to [the Mom Test synthesis section](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/#synthesis-write-down-what-you-heard-decide-whats-next). Print after running 10 interviews. Fill in 30 minutes. Show to 2 advisors before building anything. +📋 Template companion to [the Mom Test synthesis section](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/). Print after running 10 interviews. Fill in 30 minutes. Show to 2 advisors before building anything. # Validated Problem Statement Template - One Page, Five Sections @@ -38,7 +38,7 @@ related_posts: false > 4. **Why now** - trigger event in last 12 months + market shift > 5. **How big is the pain** - average + strong-signal score → BUILD / PIVOT / KILL > -> Fill in order Mon morning. Send to one founder friend by Mon EOD. +> Fill in order Mon morning. Send to your 2 readers (one advisor, one peer) by Mon EOD. ## Why this exists @@ -50,13 +50,13 @@ Block 90 minutes on a single morning. Print the template (or copy the markdown v The order matters. Score first, count second, write the page third. Write the page before scoring and you write the page you wished the calls had returned, not the page the transcripts actually support. The friction of writing the score before the prose is what stops you from talking yourself into the build. -Take the filled page to 2 readers within 48 hours. One advisor (a founder one step ahead, a fractional CTO, a board member). One peer (another founder still pre-launch). Ask each: "Would you argue with this?" If both nod, you're done with Module 3. If either picks a fight on the persona, the cost, or the why-now, you have your next 5 interviews to run. +Take the filled page to 2 readers within 48 hours. One advisor (a founder one step ahead of you, or a mentor from a founder community). One peer (another founder still pre-launch). Ask each: "Would you argue with this?" If both nod, you're done with Module 2. If either picks a fight on the persona, the cost, or the why-now, you have your next 5 interviews to run. Total time budget: 30 minutes to write, 48 hours to circulate, 1 hour to incorporate the 2 advisor reads. Hard cap at 3 hours total. Beyond that, you're polishing instead of validating. ## The template - copy and paste -Use the markdown block below directly in Notion, or print the PDF version (the SVG version of the page is embedded in the [Mom Test synthesis section](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/#synthesis-write-down-what-you-heard-decide-whats-next)). +Use the markdown block below directly in Notion, or copy it into any doc tool - then score it against the [Mom Test Synthesis rubric](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/). ```text ================ VALIDATED PROBLEM STATEMENT ================ @@ -129,7 +129,7 @@ ______ /10 Strong signals (score 7+ with 3+ emotional flags): ___ /10 Decision based on strong-signal count: - [ ] 7 or more → BUILD. Move to Module 4. + [ ] 7 or more → BUILD. Test the shape in Ch 2.6, then Module 3. [ ] 4 to 6 → PIVOT. Run 5 sharper interviews. [ ] Fewer than 4 → KILL. Find a different problem. @@ -162,15 +162,15 @@ The good version names the persona by stage, industry, and the specific workflow > Bad: *"It costs them time and money. It's a significant pain point."* -> Good: *"6 hours per week. £800 per month in CFO contractor time. One founder I spoke with paid $1,500 for a SurveyMonkey panel after the bookkeeping pain spiked - the panel returned 47 useless responses and she did the work herself anyway. Cost was consistent across 8 of 10 calls; 2 were running their own pre-revenue and had zero contractor spend (but 12 hours of personal time per week)."* +> Good: *"6 hours per week. $800 per month in CFO contractor time. One founder I spoke with paid $1,500 for a SurveyMonkey panel after the bookkeeping pain spiked - the panel returned a stack of useless responses and she did the work herself anyway. Cost was consistent across 8 of 10 calls; 2 were running their own pre-revenue and had zero contractor spend (but 12 hours of personal time per week)."* -The good version uses real numbers from transcripts. The £1,500 panel anecdote is from a specific person. The 6 hours and £800 are averages with the sample's variance noted. The bad version is unfilled white space dressed up as prose. +The good version uses real numbers from transcripts. The $1,500 panel anecdote is from a specific person. The 6 hours and $800 are averages with the sample's variance noted. The bad version is unfilled white space dressed up as prose. **Section 4 - Why now** > Bad: *"AI is changing everything. The market is ready."* -> Good: *"AI inference cost for the document-classification step fell from $0.04 to $0.001 per call between 2024 and 2026 - the unit economics flip at $9/month per seat. Stripe's automated tax product (launching Q1 2026) signals SMB finance is being deconstructed feature by feature, but bookkeeping reconciliation at pre-seed founder budgets is still manual."* +> Good: *"AI inference cost for the document-classification step fell from $0.04 to $0.001 per call between 2024 and 2026 - the unit economics flip at $9/month per seat. Stripe's automated tax product (live since 2021) signals SMB finance is being deconstructed feature by feature, but bookkeeping reconciliation at pre-seed founder budgets is still manual."* The good version names the specific cost number, the specific competitor's specific product, and the specific gap. It cites a competitor signal that *supports* the timing rather than refuting it. The bad version is filler that means nothing and helps no one. @@ -178,14 +178,14 @@ The good version names the specific cost number, the specific competitor's speci The decision the filled page makes for you: -- **BUILD** if: 7+ strong-signal calls (score 7+ with 3+ emotional flags), a named workaround the customer is already paying for, and a named why-now from the last 12 months. Move to [Module 3 Product Brief](/course/tech-for-non-technical-founders-2026/). +- **BUILD** if: 7+ strong-signal calls (score 7+ with 3+ emotional flags), a named workaround the customer is already paying for, and a named why-now from the last 12 months. Test the shape in [Ch 2.6 · Build a Clickable Prototype](/course/tech-for-non-technical-founders-2026/clickable-prototype-validation-2-hour-lovable/), then move to the [Module 3 Product Brief](/course/tech-for-non-technical-founders-2026/). - **PIVOT** if: 4-6 strong signals, OR the pain is real but belongs to a different persona than you targeted (e.g., you interviewed founders but the pain lives with their CFOs). Run 5 sharper interviews with the corrected ICP, then refill this page. - **KILL** if: fewer than 4 strong signals OR no workaround surfaced in the 10 interviews. Find a different problem and write the 200-word post-mortem below. Then walk the page through these four moves: - **Get 2 advisor signatures within 48 hours.** Email the page as a PDF. Ask: "Would you argue with this problem statement?" One sentence response is enough. If both say no, you've passed Module 2's checkpoint and you move to the [Module 3 Product Brief](/course/tech-for-non-technical-founders-2026/) next. -- **If you landed in the BUILD lane (7+ strong signals), run the 3 pre-orders test before writing code.** Email your 5 strongest-signal interviewees. Ask each for a £500 deposit, a signed letter of intent, or a paid waitlist slot. Three yes-and-paid out of five = build. Zero yes = the 7+ scores were politer than you thought, slide back to pivot. +- **If you landed in the BUILD lane (7+ strong signals), run the 3 pre-orders test before writing code.** Email your 5 strongest-signal interviewees. Ask each for a $500 deposit, a signed letter of intent, or a paid waitlist slot. Three yes-and-paid out of five = build. Zero yes = the 7+ scores were politer than you thought, slide back to pivot. - **If you landed in the PIVOT lane (4-6), pick the cleanest segment and run 5 sharper interviews using [the Mom Test interview script](/course/tech-for-non-technical-founders-2026/mom-test-interview-script/) again.** Don't rerun the same 10 - they've already given you their honest answer. New segment, new interviews, one week. - **If you landed in the KILL lane (fewer than 4), write a 200-word post-mortem to your future self.** What ICP did you pick wrong? What why-now did you assume that wasn't true? What workaround did you not learn about until interview 7? The post-mortem is the most valuable artifact from a kill round - it stops you from picking the same wrong target again next quarter. The [stop-AI-obsession validation post](/blog/stop-ai-obsession-smart-way-validate-your-startup-idea-product-bootstrap/) has the long version of the discipline. diff --git a/content/course/tech-for-non-technical-founders-2026/vibe-coding-ceiling-signals/index.md b/content/course/tech-for-non-technical-founders-2026/vibe-coding-ceiling-signals/index.md index a698f7ae2..f25df2fd4 100644 --- a/content/course/tech-for-non-technical-founders-2026/vibe-coding-ceiling-signals/index.md +++ b/content/course/tech-for-non-technical-founders-2026/vibe-coding-ceiling-signals/index.md @@ -220,7 +220,7 @@ Three actions. The first is tonight. ## Artifacts you carry out of Module 4 -After finishing Ch 4.1-4.4, Sam has five artifacts. Each one feeds a specific downstream destination - this table is the map: +After finishing Ch 4.1-4.4, you have five artifacts. Each one feeds a specific downstream destination - this table is the map: | Artifact | Where it goes next | |---|---| @@ -228,7 +228,7 @@ After finishing Ch 4.1-4.4, Sam has five artifacts. Each one feeds a specific do | **Ownership audit results** (12-item checklist - GitHub, AWS root, billing, IAM, DB credentials, secrets store, backups, domain, DNS, third-party keys, monitoring, status page - all on your company email, from Ch 4.2) | Module 5 contract foundations. The Ch 5.4 Design Partner Agreement assumes you own the production environment. If ownership is split, fix that before sending any DPA. | | **Shipped MVP** (live URL + first 4-6 user accounts if self-serve, OR live URL + contractor weekly demo cadence if hired, from Ch 4.3 (a + b)) | Ch 5.1 must-have test denominator. The 40% test needs 10-30 users who actually touched the MVP; the first 4-6 are the starting cohort. | | **Monthly ceiling-signal scorecard** (the 5 signals from Ch 4.4, first run once the live MVP is up) | Recurring monthly check from live launch onward. The scorecard is the early-warning system that decides whether you stay self-serve or graduate while you sell. | -| **Output for Module 5: 4-6 active users as the starting cohort + a path to 10+ via Ch 2.3 (a + b) outreach** (from Ch 4.3 (a + b) onboarding) | Ch 5.1 Sean Ellis 40% test input. 4-6 is the directional starting cohort - Ch 5.1's "Under-10 respondents" sidebar reads that as MAYBE, not a verdict. Re-engage your Ch 2.3 (a + b) interview leads as Ch 5.1 invites to get above 10 for a confident reading. Their Q2-Q3 verbatims become the persona language for Ch 5.2-5.5 outbound. | +| **Output for Module 5: 4-6 active users as the starting cohort + a path to 10+ via Ch 2.3-2.4 outreach** (from Ch 4.3 (a + b) onboarding) | Ch 5.1 Sean Ellis 40% test input. 4-6 is the directional starting cohort - Ch 5.1's "Under-10 respondents" sidebar reads that as MAYBE, not a verdict. Re-engage your Ch 2.3-2.4 interview leads as Ch 5.1 invites to get above 10 for a confident reading. Their Q2-Q3 verbatims become the persona language for Ch 5.2-5.5 outbound. | Two ceiling signals firing for 4+ weeks means the shed is no longer holding. Both beat watching the codebase get worse. diff --git a/content/course/tech-for-non-technical-founders-2026/vibe-prd-template/index.md b/content/course/tech-for-non-technical-founders-2026/vibe-prd-template/index.md index 6174a2f62..9350e762d 100644 --- a/content/course/tech-for-non-technical-founders-2026/vibe-prd-template/index.md +++ b/content/course/tech-for-non-technical-founders-2026/vibe-prd-template/index.md @@ -24,7 +24,7 @@ canonical_url: "https://jetthoughts.com/course/tech-for-non-technical-founders-2 related_posts: false --- -📋 Template companion to the [Chapter 3.1 post](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/). Print after running the synthesis from [Chapter 2.1](/course/tech-for-non-technical-founders-2026/mom-test-ask-about-past-not-future/#synthesis-write-down-what-you-heard-decide-whats-next). Fill in 45 minutes. Hand to your AI agent or contractor tomorrow. +📋 Template companion to the [Chapter 3.1 post](/course/tech-for-non-technical-founders-2026/one-page-product-brief-vibe-prd/). Print after running the synthesis from [Chapter 2.1](/course/tech-for-non-technical-founders-2026/mom-test-synthesis-build-pivot-kill/). Fill in 45 minutes. Hand to your AI agent or contractor tomorrow. # Vibe PRD Template - One Page, Five Sections diff --git a/data/course_banned_strings.yaml b/data/course_banned_strings.yaml new file mode 100644 index 000000000..a540b1181 --- /dev/null +++ b/data/course_banned_strings.yaml @@ -0,0 +1,57 @@ +# Regression ratchet for course content (content/course/**). +# Every entry is a string a review round REMOVED - it may never return. +# When any future review fixes a defect, ADD its signature here in the SAME +# commit. Checked by bin/validate-course (check_banned_strings) on every build. +# Substring match, case-sensitive, applied to lesson/template markdown bodies. +banned: + - string: "2.3a" + reason: "M2 flattened to 2.1-2.6 (2026-07-10); letter suffixes retired" + - string: "2.3b" + reason: "M2 flattened to 2.1-2.6" + - string: "2.1b" + reason: "synthesis is Lesson 2.5" + - string: "Most founders" + reason: "banned cohort generalization (voice guide)" + - string: "Most non-technical founders" + reason: "banned cohort generalization" + - string: "## Why this matters" + reason: "banned heading (2026-05-28 audit)" + - string: " -- " + reason: "em-dash replacement artifact" + - string: "Case Study: Tomas & Mia" + reason: "case studies live only in module-end walkthroughs (30.03 §2.7) - applies to migrated modules M1/M2; remove entries per module as each migrates" + scope: "mom-test-|ai-persona-|find-10-|clickable-prototype|smoke-test-|form-your-founding|price-hypothesis|module-1-|module-2-|outreach-sequence|validated-problem" + - string: "<5 of 10 scored" + reason: "gate is 7+/4-6/<4 (canonical: mom-test-synthesis)" + - string: "fewer than 5 scores" + reason: "gate is 7+/4-6/<4" + - string: "$475/mo flat" + reason: "nonexistent HN ad product (2026-07-09 claims gate)" + - string: "70 free credits" + reason: "volatile third-party hardcode" + - string: "bypasses paywalls" + reason: "litigation-adjacent capability claim" + - string: "3-5× the rate" + reason: "fabricated-precision stat" + - string: "6g-how-to-talk-to-users" + reason: "dead YC URL" + - string: "test in five interviews" + reason: "course uses ten interviews everywhere" + - string: "; ." + reason: "sweep-introduced dangling fragment (e.g. 'Free trial; .')" + - string: "opens every Module 2 interview as context" + reason: "1.1 must not instruct pitching the hypothesis in interviews (fixed 2026-07-10)" + - string: "3 ICP characteristics" + reason: "Ch 1.1 never produces this artifact; lessons derive from the [customer] blank" + - string: "transcripts in hand, ready to score" + reason: "2.4 books calls; interviews run after via 2.1 script" + - string: "Sam has five artifacts" + reason: "internal ICP persona name must not appear in reader-facing prose" + - string: "BUILD. Move to Module 4" + reason: "BUILD routes through 2.6 then Module 3" + - string: "Directional KILL" + reason: "gate is pivot-or-kill by count (7+/4-6/<4), not binary" + - string: "persona-setup prompt with your 3 ICP variants" + reason: "2.6 step must use its own 3-screen prompt, not 2.2's" + - string: "47-button admin panel" + reason: "recurring fake-specific number across anecdotes" diff --git a/data/course_sequence.yaml b/data/course_sequence.yaml index 9c187f0f6..fceecb77c 100644 --- a/data/course_sequence.yaml +++ b/data/course_sequence.yaml @@ -67,18 +67,23 @@ sequence: goal: "Polish the Ch 2.1 question list with a Claude persona companion pass before booking real slots." - slug: find-10-people-where-to-look - title: "2.3a · Find 10 People: Where to Look" - module: "Chapter 2.3a" + title: "2.3 · Find 10 People: Where to Look" + module: "Chapter 2.3" goal: "AI ICP map + read threads + build a 30-name list of people you can name because you read what they posted." - slug: find-10-people-with-problem-outreach-2026 - title: "2.3b · Find 10 People: What to Say" - module: "Chapter 2.3b" - goal: "The 3-message sequence, volume targets, and research-panel fallback that books 10 interviews from the 30-name list." + title: "2.4 · Find 10 People: What to Say" + module: "Chapter 2.4" + goal: "The 3-message sequence, volume targets, and research-panel fallback that turn the 30-name list into 10 booked interviews (expanding the list if replies run thin)." + + - slug: mom-test-synthesis-build-pivot-kill + title: "2.5 · Mom Test Synthesis: Build, Pivot, or Kill" + module: "Chapter 2.5" + goal: "Score the 10 transcripts, count strong signals, and make the build / pivot / kill call: 7+ build, 4-6 pivot, under 4 kill." - slug: clickable-prototype-validation-2-hour-lovable - title: "2.4 · Build a Clickable Prototype" - module: "Chapter 2.4" + title: "2.6 · Build a Clickable Prototype" + module: "Chapter 2.6" goal: "Test the SHAPE of your solution with 5 interview subjects via a focused Lovable build." - slug: one-page-product-brief-vibe-prd diff --git a/docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/30.03-course-format-requirements-for-creators.md b/docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/30.03-course-format-requirements-for-creators.md index 201a2e4cc..9aaa7b563 100644 --- a/docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/30.03-course-format-requirements-for-creators.md +++ b/docs/projects/2605-tech-for-non-technical-founders/30-39-architecture-design/30.03-course-format-requirements-for-creators.md @@ -240,7 +240,7 @@ Module-end case studies fix all three. The reader follows ONE founder through AL Pick the founder whose situation most viscerally demonstrates THAT MODULE'S central work for an idea-stage Sam. - Module 1 (Hypothesis + Smoke Test) — visualization-heavy work → **Mia** (B2C; broken WordPress screenshot, parent-voice copy) -- Module 2 (Validate via Interviews) — structured 5-question Mom Test → **Tomas** (B2B; ICP discipline, scored transcripts) +- Module 2 (Validate via Interviews) — structured 5-question Mom Test → **Mia** (B2C continuity from the M1 walkthrough; her Money + location questions resolve here. Changed from Tomas 2026-07-09 when the walkthrough shipped.) - Module 3 (Product Brief) — small-scope brief example → either, pick by which lands sharper - Module 4 (Build MVP) — Supabase + Stripe + RLS depth → **Tomas** (B2B; technical concepts) - Module 5 (First Paying Customer) — DPA + deposit → either; if Tomas was M4, Mia gives variety @@ -382,7 +382,7 @@ Mark lessons as **core** vs **optional** so time-starved learners can skip extra | Module | Core Lessons | Optional | |---|---|---| | M1 (Hypothesis & Smoke Test) | 1.1 Hypothesis, 1.2a Build page, 1.2b Run test, 1.3 Price test | Validation tools field guide | -| M2 (Validate) | 2.1 Mom Test, 2.3a Find people, 2.3b Outreach, 2.4 Prototype | 2.2 AI Personas | +| M2 (Validate) | 2.1 Mom Test, 2.3 Find people, 2.4 Outreach, 2.4 Prototype | 2.2 AI Personas | | M3 (Design) | 3.1 Product Brief, 3.2 Outcomes check | — | | M4 (Build) | 4.1 Hire decision, 4.2 Ownership, 4.3a Stack setup, 4.3b Build phases | 4.4 Ceiling signals | | M5 (First Customer) | 5.1 PMF test, 5.3 Personal network, 5.4 Paid pilot | 5.2 Channel selection, 5.5 Cold outbound | diff --git a/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.12-m2-release-gate-2026-07-09.md b/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.12-m2-release-gate-2026-07-09.md new file mode 100644 index 000000000..ad7cd135c --- /dev/null +++ b/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.12-m2-release-gate-2026-07-09.md @@ -0,0 +1,28 @@ +# 40.12 - M2 Release Gate Report (2026-07-09, consolidated subagent) + +Branch module-2-validate-the-problem. All 4 gates FAIL; ship-ready NO. +Working punch list for the fix loop (verified findings; full detail in session): + +## Top 5 (ordered) +1. Rewrite outreach-sequence-template as true 2.3b companion (NeetoCal not Calendly; 30 hand-picked names not 80-120 Clay rows; panels exception not default; 6%/3% bands not 5%/2%; both Day-3 bump variants, kill hardcoded "30 founders I've spoken to" lie; delete "Module 0", "by Friday", $200-500 tool-stack persona mismatch) - or unlink from 2.3b:173 + _index.md until done. +2. Unify M2 decision gate: canonical BUILD 7+/PIVOT 4-6/KILL <4 (synthesis owns); fix 2.4:352 "<5 of 10" and script:150 "fewer than 5"; add one sentence equating score>=7 with real past spend (quickstart/faq/HTCW/walkthrough phrase). +3. Delete 6 in-lesson "Case Study: Tomas & Mia" blocks (2.1:222, 2.2:269, 2.3a:221, 2.3b:208, 2.4:390, synthesis:124) - spec 30.03 §2.7; they contradict walkthrough (14-vs-10 bookings; reviews-vs-price fail). +4. Dead links: YC how-to-talk-to-users 404 on all 5 lessons; yannklis dead; designkit.org/resources/1 404; Lenny ultimate-guide 404. Plus validated-problem-statement: phantom #synthesis anchor (x2), nonexistent PDF/SVG claim, "Module 3"->2 (:53), "Module 4"->3 (:132). Script:40 ed-tech story promise (2.1 has none); :149 -> synthesis page. +5. Hardcode/fabrication sweep: Lovable $25/5-msg figures; IdeaProof "70 credits"+model list; Apollo credits; Perplexity $20; Gmail 1500/500-day; Maze 3 testers; template price tables -> capability language. Unsourced: 3-5x rate (2.3a:166), 70%+ show (:149), 8-12%/3-5%/60%+ (2.3b:101-135), 70%/200% (2.4:234). "Most founders" x4 (2.3b:57, 2.4:238, 2.3a:219, 2.1:193). + +## Also (from full report) +- T2: synthesis header "Module 2 · After Step 1" -> proper Lesson header; not after step 1. +- T3: word bands blown (2.1=2849..2.4=5175 vs 400-900 spec) - needs split or documented waiver (pre-existing, 40.08). +- T4: 2.1:189 routes to 2.4, :203 to synthesis - make :189 synthesis-first. +- T5: 30.03 line 243 says M2 walkthrough founder = Tomas; shipped Mia (right call) - update spec line. +- C8: reply-rate bands 20-30 vs 30-45 vs 25-35 - one first-party band. +- C9: currency £ vs $ in validated-problem-statement + outreach template. +- C10: time-asks 20/25/30/40/60min drift - standardize ask 20 book 30; 2.4:224 "one hour"->"30 more minutes". +- C11: quickstart:57 "(2 hrs)" + HTCW:72 "2-hour" - drop. +- C12: 2.2:190 "8-12 loose"->"5-8"; walkthrough 11 booked vs 10 scored - add no-show clause. +- S2: "fractional CTO" reviewer refs in script:151 + vps-template:53 -> founder-peer. +- S3: gloss G2/Capterra (2.3a:147), mail merge/Workspace (2.3b:54), funding-signal line (2.3a:179). +- S4: 2.4 glosses Lovable 3x - keep one. +- V5: slogany flips 2.1:193, script:80/86 (x2), 2.1:46 staccato triple. +- V6: unspaced hyphen-dashes 2.4:101, :324. +- V7: Pushshift claim (restricted since 2023) -> drop, keep F5Bot/Keyworddit; 2.4:276 $49-299 attribution -> reference/stripe-price-test-full. diff --git a/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.13-retrospective-review-churn-2026-07-10.md b/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.13-retrospective-review-churn-2026-07-10.md new file mode 100644 index 000000000..137dffb1c --- /dev/null +++ b/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.13-retrospective-review-churn-2026-07-10.md @@ -0,0 +1,47 @@ +# 40.13 - Retrospective: why every re-review found new issues (2026-07-10) + +## The symptom +Across the M1+M2 release cycle, 7 review rounds EACH found new defects, +including rounds run after "everything is fine" verdicts. Two defects were +introduced BY fix sweeps themselves. + +## 5-Why +1. Every edit pass is a defect source (perl sweeps left "Free trial; .", + duplicated phrases; the 2.1-2.6 renumber left prose written against the + old order routing readers around the 2.5 gate). +2. Those survive because checks were structural (titles/links/tables), not + semantic (thresholds, durations, budgets, voice). +3. Semantic facts are denormalized - the decision gate lived in 9 places; + each copy is an invariant no machine enforced. +4. Reviews SAMPLE an unbounded space; each reviewer greps a different + subset. "Everything fine" = "my sample found nothing." +5. ROOT CAUSE: nothing ratcheted. A hand-fixed defect could silently + return, and new edits re-created old defect classes. + +## Fixes shipped (this branch) +1. **banned-string-ratchet validator** (validator 8 in bin/validate-course, + data/course_banned_strings.yaml, 17 seed entries). Every string a review + round removes gets added there IN THE SAME COMMIT - a fixed defect can + never return, and the check runs on every build. First run immediately + caught 3 live "Most founders" instances human rounds had missed. +2. Single-source counts already exist (course-stat shortcode); the ratchet + extends machine enforcement to voice + stale-fact classes. + +## Process rules going forward (definition of done for content edits) +- A review finding is not "fixed" until its signature is in the ratchet + (when expressible as a string) or a validator covers its class. +- Fix sweeps must end with: bin/validate-course + a scoped DIFF review + (reviewer gets the diff, not the world) - review the change, not + re-sample the universe. +- Renumbering/restructuring edits require a semantic-leftover pass: grep + for prose that encodes ORDER ("next chapter", "proceed to", "after + step") in every touched file, not just the moved labels. +- Report language: never "everything is fine" - state "all N mechanized + gates pass; review round K found X" so confidence claims are auditable. + +## Candidates for future validators (not yet built) +- course_facts.yaml + course-fact shortcode for thresholds/budgets (kills + the 9-copies problem at the root). +- External-link checker on a weekly schedule (dead links recur as sites + rot; per-build is too slow). +- Dangling-fragment lint beyond "; ." (doubled hr, "]] ", " ,."). diff --git a/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.14-m2-final-fanout-2026-07-10.md b/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.14-m2-final-fanout-2026-07-10.md new file mode 100644 index 000000000..35e26f31d --- /dev/null +++ b/docs/projects/2605-tech-for-non-technical-founders/40-49-review/40.14-m2-final-fanout-2026-07-10.md @@ -0,0 +1,270 @@ +# 40.14 - M2 final fan-out verified punch list (2026-07-10) + +65 confirmed findings ({'MAJOR': 20, 'MINOR': 34, 'NIT': 11}). 69 agents, 4 lenses + adversarial verify. +Fix loop: every fix adds its signature to data/course_banned_strings.yaml per 40.13. + + +## 1. [MAJOR] (m1-crosscheck) mom-test-ask-about-past-not-future:34 +2.1, 2.2, and 2.3 all declare '3 ICP characteristics ... introduced in Ch 1.1' as required input, but Ch 1.1 never mentions ICP or has any step producing 3 characteristics - the artifact only exists on the optional reference page. +EVIDENCE: 2.1 Input (line 34): 'a Founding Hypothesis sentence (from Ch 1.1) + 3 ICP characteristics (ICP = Ideal Customer Profile - the specific kind of person your hypothesis names; introduced in Ch 1.1)'. Same claim in 2.2 line 35, and 2.2 line 117 goes further: 'The three ICP characteristics you wrote in + +## 2. [MAJOR] (m1-crosscheck) form-your-founding-hypothesis-90-minute-sprint:93 +1.1 promises the founder will 'paste [the hypothesis] verbatim into ... every Module 2 interview' and that it 'opens every Module 2 interview as context' - directly contradicting Module 2's core rule that you never describe your idea/product to interviewees. +EVIDENCE: 1.1 line 93: 'You'll paste it verbatim into Lessons 1.2, 1.4, 1.5, and every Module 2 interview.' and line 46: 'opens every Module 2 interview as context.' Module 2 teaches the opposite: 2.1 line 165 says 'Improvise mid-call ("oh that reminds me of my product idea") and you contaminate the rest of t + +## 3. [MAJOR] (m1-crosscheck) smoke-test-landing-page-7-day-demand-test:67 +1.4's Promising band tells the reader to 'Move to Module 2 interviews' and links to 2.3, skipping both Lesson 1.5 (the declared 5th M1 lesson and Module 2's stated prerequisite chain) and 2.1-2.2 (which produce the question list 2.3 declares as its input). +EVIDENCE: 1.4 decision table line 67: '| 6-10% | Promising | Move to [Module 2 interviews](/course/tech-for-non-technical-founders-2026/find-10-people-where-to-look/).' The linked page is 2.3, whose Input (line 34) requires 'a sharpened Mom Test question list (built in Ch 2.1, polished in Ch 2.2)' - which the + +## 4. [MAJOR] (consistency) validated-problem-statement-template:132 +Template's fill-in decision block routes BUILD to Module 4, contradicting its own prose (Module 3) and the course spine (2.6 then 3.1). +EVIDENCE: Line 132 in the copy-paste template: " [ ] 7 or more → BUILD. Move to Module 4." — but line 181 of the same file says "**BUILD** if: ... Move to [Module 3 Product Brief]", 2.5's Next block says "If build - [2.6 · Build a Clickable Prototype] ... then [3.1 ...]", and the landing/yaml place 2.6 and M + +## 5. [MAJOR] (consistency) mom-test-synthesis-build-pivot-kill:72 +2.5's decision flowchart and body route BUILD directly to Chapter 3.1, skipping 2.6 — a leftover seam from before 2.5/2.6 reordering; the page's own Next block routes BUILD through 2.6 first. +EVIDENCE: Flowchart line 72: "BUILD
Move to Chapter 3.1
Write the Product Brief" and body line 96: "The validated problem statement is your input to [The One-Page Product Brief]" — vs Next block line 124: "If build - [2.6 · Build a Clickable Prototype] ... to test the shape with 5 of your strongest-si + +## 6. [MAJOR] (consistency) mom-test-synthesis-build-pivot-kill:74 +The KILL outcome has three different destinations within the same page: restart at 2.3 (flowchart), restart at 2.4 with a different hypothesis (body), or return to 1.1 then re-run 2.3 (Next block). +EVIDENCE: Flowchart line 74: "KILL
Find a different problem
Restart at Ch 2.3". Body line 102: "Start [Find 10 People With the Problem](/course/.../find-10-people-with-problem-outreach-2026/) again with a different hypothesis" — that link is 2.4 (What to Say) under the pre-split combined title, and a + +## 7. [MAJOR] (consistency) clickable-prototype-validation-2-hour-lovable:365 +2.6's action table tells the reader to run Ch 2.2's persona-setup prompt in Lovable — the wrong prompt from a different lesson; 2.6's own artifact is the Lovable 3-screen prototype prompt template. +EVIDENCE: Line 365 Step 1: "Open Lovable and run the persona-setup prompt with your 3 ICP variants." The "persona setup prompt" and "3 ICP personas" belong to Ch 2.2 (Claude rehearsal); nothing else in 2.6 mentions ICP variants. 2.6's own build section (lines 139-160) calls its artifact "Prompt template to pa + +## 8. [MAJOR] (consistency) find-10-people-with-problem-outreach-2026:36 +2.4's header Output claims "transcripts in hand" while its own Done block says only calls are booked and the first batch is sent — breaking the Input=Output chain into 2.5, which requires 10 scored transcripts. +EVIDENCE: Header line 36: "**Output:** 10 interview calls booked, transcripts in hand, ready to score per the Ch 2.1 rubric" vs Done block line 202: "**Done:** 10 interview calls are booked on your calendar and you have sent the first batch of outreach messages." and Next line 205: "return to [2.1 · The Mom T + +## 9. [MAJOR] (consistency) clickable-prototype-validation-2-hour-lovable:39 +2.6's Progress "Results so far" and Input omit 2.5's outputs (build/pivot/kill decision + validated problem statement) — the accumulating chain breaks exactly at the 2.5 insertion point. +EVIDENCE: Line 39: "**Progress:** M2 · 6 of 6 · Results so far: question list + 30-name list + 10 interviews run and scored" — identical accumulation to 2.5's line 38 ("question list + 30-name list + 10 scored interviews"), as if lesson 5 of 6 produced nothing. Line 35 Input names only "5 of the 10 Mom Test i + +## 10. [MAJOR] (sam-flow) clickable-prototype-validation-2-hour-lovable:332 +Internal ICP persona name 'Sam' leaks into reader-facing copy - the reader has never been introduced to anyone named Sam (the walkthrough character is Mia). +EVIDENCE: Line 332: "After finishing Ch 2.1-2.6, Sam has five artifacts. Each one feeds a specific downstream destination - this table is the map:" - grep across all M2 lessons, templates, orientation pages, and _index.md confirms this is the only occurrence of 'Sam'; a first-time reader hits an unexplained t + +## 11. [MAJOR] (sam-flow) mom-test-synthesis-build-pivot-kill:102 +The KILL path gives three contradictory next steps within one page: body prose says restart at Ch 2.4, the flowchart says restart at Ch 2.3, and the Next block says return to Ch 1.1 then re-run 2.3. +EVIDENCE: Line 102: "Start [Find 10 People With the Problem](/course/tech-for-non-technical-founders-2026/find-10-people-with-problem-outreach-2026/) again with a different hypothesis." (links to 2.4, the outreach chapter - with a new hypothesis Sam needs a new 30-name list from 2.3 first). Flowchart line 74: + +## 12. [MAJOR] (sam-flow) validated-problem-statement-template:132 +The template's decision checkbox routes BUILD to Module 4, contradicting the same page's prose (Module 3), Ch 2.5's routing (2.6 then 3.1), and skipping the 2.6 prototype gate entirely. +EVIDENCE: Line 132: "[ ] 7 or more → BUILD. Move to Module 4." vs line 181 on the same page: "**BUILD** if: ... Move to [Module 3 Product Brief](/course/tech-for-non-technical-founders-2026/)." and Ch 2.5 Next block: "If build - [2.6 · Build a Clickable Prototype]... then [3.1 · The One-Page Product Brief]". + +## 13. [MAJOR] (sam-flow) clickable-prototype-validation-2-hour-lovable:365 +'What to do next' Step 1 tells the reader to run 'the persona-setup prompt with your 3 ICP variants' in Lovable - that prompt is Ch 2.2's Claude persona rehearsal, not this chapter's 3-screen Lovable prompt template; 2.6 has no '3 ICP variants' step. +EVIDENCE: Line 365: "Open Lovable and run the persona-setup prompt with your 3 ICP variants. Aim for a navigable 3-screen prototype..." The only prompt this chapter provides is 'The Lovable Prompt Template' (lines 139-160), which takes [PRODUCT CATEGORY]/[TARGET USER]/screen specs - not personas. A first-time + +## 14. [MAJOR] (sam-flow) find-10-people-with-problem-outreach-2026:36 +Ch 2.4's declared Output claims 'transcripts in hand' but the chapter only books calls; its own Done block and the interview-running instructions (return to 2.1 script) confirm no transcripts exist yet at chapter end. +EVIDENCE: Header line 36: "**Output:** 10 interview calls booked, transcripts in hand, ready to score per the Ch 2.1 rubric" vs Done block line 202: "**Done:** 10 interview calls are booked on your calendar and you have sent the first batch of outreach messages." and line 183: "**Run each interview using the + +## 15. [MAJOR] (voice-claims) find-10-people-where-to-look:203 +Sweep-broken sentence fragment renders literally on the live page: 'Reddinbox / " These tools surface the threads faster' +EVIDENCE: Source: '[Reddinbox](https://reddinbox.com) / " These tools surface the threads faster - you still read them yourself.' Rendered HTML confirmed via curl: 'Reddinbox / " These tools surface the threads faster'. A stray '/ "' is left where a clause (likely Reddinbox's description) was deleted + +## 16. [MAJOR] (voice-claims) clickable-prototype-validation-2-hour-lovable:129 +Sweep-orphaned clause: mid-sentence period followed by lowercase 'and are only worth it later...', producing a circular non-sentence +EVIDENCE: '**Paid plans lift the cap - check Lovable's pricing page.** and are only worth it later if you decide to upgrade for higher message volume - not required for this chapter.' Rendered page shows 'check Lovable’s pricing page. and are only worth it later if you decide to upgrade' - a period inside the + +## 17. [MAJOR] (voice-claims) clickable-prototype-validation-2-hour-lovable:365 +'What to do next' Step 1 gives the wrong instruction: it tells the reader to run Ch 2.2's persona-setup prompt in Lovable instead of this chapter's 3-screen prototype prompt +EVIDENCE: Step 1 reads: 'Open Lovable and run the persona-setup prompt with your 3 ICP variants.' The 'persona setup prompt' with '3 ICP personas' is Ch 2.2's Claude rehearsal (ai-persona-pre-validation-mom-test-prep lines 97-129). Ch 2.6's only prompt is the 'Prompt template to paste into Lovable' (line 137) + +## 18. [MAJOR] (voice-claims) validated-problem-statement-template:132 +Printable template's BUILD lane says 'Move to Module 4', contradicting the same page (line 181: 'Move to Module 3 Product Brief') and the course flow (build -> 2.6 -> 3.1) +EVIDENCE: Template block: '[ ] 7 or more → BUILD. Move to Module 4.' vs 'What to do after' on line 181: 'BUILD if: ... Move to [Module 3 Product Brief]'. Ch 2.5 line 96 also routes BUILD to 'The One-Page Product Brief' (3.1). A founder printing the template is told to skip Module 3 entirely. + +## 19. [MAJOR] (voice-claims) faq:70 +FAQ answer 'Directional KILL' for fewer than 7 strong interviews contradicts the unified 7+/4-6/<4 gate, where 4-6 is PIVOT - and contradicts itself two sentences later ('Before you pivot') +EVIDENCE: 'Directional KILL. The Module 2 gate is ≥7 of 10 interviewees with real past spend - fewer means the problem isn't acute enough to build for. Before you pivot, check...' Per mom-test-synthesis-build-pivot-kill (lines 72-74, 100) and course_sequence.yaml ('7+ build, 4-6 pivot, under 4 kill'), a count + +## 20. [MAJOR] (voice-claims) clickable-prototype-validation-2-hour-lovable:332 +Internal editorial persona 'Sam' leaks into reader-facing lesson body without ever being introduced anywhere on the site +EVIDENCE: 'After finishing Ch 2.1-2.6, Sam has five artifacts.' No orientation page (_index.md, quickstart, faq, how-this-course-works) or walkthrough introduces 'Sam' - the reader-facing example founder is 'Mia'. grep shows the same unexplained 'Sam' in 5 other chapters (should-you-hire:145, vibe-coding-ceil + +## 21. [MINOR] (m1-crosscheck) find-10-people-where-to-look:122 +2.3 references a 'naive Claude/ChatGPT prompt in Chapter 1.1' with a follow-up 'name 3-5 competitors' - no such prompt exists in Ch 1.1 or its reference page. +EVIDENCE: 2.3 line 122: 'If you ran the [naive Claude/ChatGPT prompt in Chapter 1.1](/course/.../form-your-founding-hypothesis-90-minute-sprint/) with the follow-up "name 3-5 competitors," you already have them.' Ch 1.1 contains zero AI prompts (grep 'competitor|naive|Claude|ChatGPT' returns nothing), and ref + +## 22. [MINOR] (m1-crosscheck) clickable-prototype-validation-2-hour-lovable:276 +2.6 attributes a '$49-$299 band' to Chapter 1.5 ('the chapter's $49-$299 band'), but that band appears nowhere in the 1.5 lesson - it exists only on the reference/stripe-price-test-full page. +EVIDENCE: 2.6 line 276: 'Use the price hypothesis you tested in [Chapter 1.5] - if you haven't run that test yet, the chapter's $49-$299 band is your default starting point.' Lesson 1.5 (price-hypothesis-on-smoke-test-page/index.md) contains no $49-$299 band (grep '49|299' finds only the $49/month examples an + +## 23. [MINOR] (m1-crosscheck) find-10-people-where-to-look:40 +2.3 calls the Ch 1.1 artifact 'your three-sentence hypothesis' in its TL;DR while 1.1's Founding Hypothesis is explicitly a ONE-sentence artifact - and 2.3's own flowchart says 'Your 1-sentence hypothesis (from Ch 1.1)'. +EVIDENCE: 2.3 line 40 (TL;DR): 'Paste your three-sentence hypothesis into Claude, get back the ICP ... profile'. 1.1 line 46: 'Five blanks. One sentence - not a deck'; 1.1's saved artifact is 'the sentence'. 2.3's mermaid (line 53) correctly says 'Your 1-sentence hypothesis (from Ch 1.1)', and the three sente + +## 24. [MINOR] (m1-crosscheck) how-this-course-works:73 +Chapter 0 says Module 2 takes '~2-3 weeks full-time', but 2.3 says booking the 10 interviews ALONE takes a full-time founder 2-4 calendar weeks (6-8 weeks evening-only) - before running interviews, synthesis, and the 2.6 prototype sessions. +EVIDENCE: how-this-course-works line 73: '**Time:** ~2-3 weeks full-time.' vs 2.3 line 75: 'Full-time founder typically books 10 interviews across 2-4 calendar weeks; evening-only founder (2-4 hr/week) typically needs 6-8 calendar weeks - plan around the longer version.' The orientation estimate is below the + +## 25. [MINOR] (m1-crosscheck) validated-problem-statement-template:132 +(Adjacent to lens, flagged because it is a wrong chain promise in an in-scope M2 template) The template's decision checkbox says BUILD → 'Move to Module 4', skipping Module 3 - contradicting 2.5, 2.6, and the template's own later prose which all route BUILD to Ch 3.1. +EVIDENCE: Template line 132: '[ ] 7 or more → BUILD. Move to Module 4.' vs the same file line 181: 'BUILD if: ... Move to [Module 3 Product Brief]', 2.5's flowchart ('BUILD - Move to Chapter 3.1 - Write the Product Brief'), and 2.6 line 387 ('Module 3 cannot start without the validated problem statement'). N + +## 26. [MINOR] (consistency) mom-test-interview-script:149 +PIVOT re-interview count disagrees across pages: 5 sharper interviews (2.5, VPS template) vs another 10 calls (interview script, Ch 2.1). +EVIDENCE: Script line 149: "If 4 to 6 scored 7+: PIVOT - re-evaluate the ICP ... before booking another 10 calls." 2.1 line 189: "re-frame the ICP and run another 10". But 2.5 line 100: "run 5 more interviews against that narrower group ... The 5 sharper interviews cost you a week" and VPS template line 133: + +## 27. [MINOR] (consistency) mom-test-synthesis-build-pivot-kill:98 +The 3-pre-orders test is internally inconsistent in 2.5 (ask 3 interviewees, but judged "3 of your top 5" / "0 of 5") and disagrees with the template (email 5). +EVIDENCE: 2.5 line 98: "ask 3 of your strongest-signal interviewees for a pre-order ... If 3 of your top 5 say yes ... If 0 of 5 say yes" — you cannot get 3-of-5 or 0-of-5 from asking 3 people. VPS template line 188 says: "Email your 5 strongest-signal interviewees. Ask each for a $500 deposit ... Three yes-a + +## 28. [MINOR] (consistency) find-10-people-with-problem-outreach-2026:117 +Reply-rate thresholds conflict within 2.4: 10-19% is simultaneously "opener too generic" (Volume targets) and "let the sequence run" (Step 4 calibration). +EVIDENCE: Line 117: "Target a reply rate of 20% or higher - below that, your opener is too generic or you're in the wrong channel." vs line 169 Step 4: "If under 10%, rewrite Day-0 subject line ... If 10-30%, let the sequence run." The If-blocked footer (line 206) uses the 10% bar again: "If your reply rate i + +## 29. [MINOR] (consistency) find-10-people-with-problem-outreach-2026:40 +The promised interview yield doesn't close arithmetically from the 30-name list at the chapter's own rates, and the yaml goal repeats the promise. +EVIDENCE: TL;DR line 40: "Send 30 staggered messages ... books 10 interviews. Reply rate runs 20-30%" and yaml goal 2.4: "books 10 interviews from the 30-name list". 30 messages at 20-30% reply = 6-9 replies maximum; with line 117's "expect roughly half or more to actually show," 10 completed interviews is un + +## 30. [MINOR] (consistency) clickable-prototype-validation-2-hour-lovable:224 +2.6 contradicts itself on session length within one section: "one hour of a different kind of time" vs 30-minute booked calls vs "the second ask is half that time" (half of 40 is 20, not 30). +EVIDENCE: Line 224: "Now you are asking them one hour of a different kind of time"; line 226: "Book the sessions as 30-minute video calls"; re-engagement message line 230 asks for "30 more minutes" and thanks them "for the 40 minutes last week"; line 232: "They invested 40 minutes in the first call; the secon + +## 31. [MINOR] (consistency) find-10-people-with-problem-outreach-2026:98 +Interview-length drift across the M2 cluster: Day-0 asks 20 min, 2.4's Day-3 bump asks 25 min (the template 2.4 calls "verbatim" asks 20), the script hard-caps at 30 booked, and 2.4 elsewhere says calls run 30-40 minutes. +EVIDENCE: 2.4 line 98 first-round bump: "would value 25 minutes if you have it" vs outreach-sequence-template line 51 bump: "20 minutes, any day this week" — while 2.4 line 173 claims "The [Outreach Sequence Template] carries the verbatim sequence". 2.4 line 183: "30-40 minutes per call" vs mom-test-interview + +## 32. [MINOR] (consistency) clickable-prototype-validation-2-hour-lovable:379 +Founder OS numbering starts at "Artifact #3 of 6" — no page in the course assigns #1 or #2, and the #3 bundle excludes 2.5's Validated Problem Statement despite 2.6's own table listing it among Module 2's five artifacts. +EVIDENCE: Line 379: "**Founder OS · Artifact #3 of 6:** 10 scored Mom Test transcripts ... + 5 prototype session pass/fail signals + the `Prototype Vocabulary - [date]` doc". Course-wide grep for "Artifact #" returns only #3 (2.6), #4 (3.1), #5 (4.3b), #6 (5.4); no M1 page labels #1/#2 (M1 lesson files never + +## 33. [MINOR] (consistency) clickable-prototype-validation-2-hour-lovable:344 +Pre-split seam: 2.6's combined decision matrix intro counts Module 2 as "the 2 chapters" and assigns the interview-signal iteration guidance to Ch 2.3-2.4, ignoring that 2.5 now owns the build/pivot/kill call. +EVIDENCE: Line 344: "The 2 chapters each have their own iteration guidance (Ch 2.3-2.4 reply rate, Ch 2.6 pass count above). The COMBINED decision uses both signals together" — Module 2 has six lessons, the matrix's first column ("7+ of 10 scored ≥7") is 2.5's synthesis output not 2.3-2.4's reply rate, and th + +## 34. [MINOR] (consistency) mom-test-synthesis-build-pivot-kill:124 +2.5's pivot instruction contradicts itself in one sentence: "rebuild your list around a sharper hypothesis (same hypothesis, different list)". +EVIDENCE: Line 124: "If pivot - return to [2.3 · Find 10 People: Where to Look] to rebuild your list around a sharper hypothesis (same hypothesis, different list)." A sharper hypothesis and the same hypothesis are mutually exclusive; body line 100 says pivot means "sharpen the ICP definition" (i.e., the hypot + +## 35. [MINOR] (consistency) how-this-course-works:73 +HTCW's Module 2 wall time (~2-3 weeks full-time) is exceeded by Ch 2.3's estimate for the interview-booking step alone (2-4 calendar weeks full-time). +EVIDENCE: HTCW line 73: "**Time:** ~2-3 weeks full-time." vs 2.3 line 75: "Full-time founder typically books 10 interviews across 2-4 calendar weeks; evening-only founder (2-4 hr/week) typically needs 6-8 calendar weeks" — and Module 2 additionally includes running/scoring 10 calls (2.4/2.5) and 5 prototype s + +## 36. [MINOR] (sam-flow) find-10-people-where-to-look:203 +Garbled, truncated sentence in the Monitoring tools paragraph renders visibly broken on the live page - an orphaned '/ "' after the Reddinbox link. +EVIDENCE: Line 203: "[Reddinbox](https://reddinbox.com) / \" These tools surface the threads faster - you still read them yourself." Rendered HTML confirms: 'Reddinbox / " These tools surface the threads faster...'. Reads as a half-deleted sentence; Sam cannot tell what Reddinbox is or whether text i + +## 37. [MINOR] (sam-flow) clickable-prototype-validation-2-hour-lovable:129 +Garbled sentence in the Lovable onramp callout: a bolded sentence ends with a period, then continues lowercase with a circular clause ('only worth it later if you decide to upgrade'). +EVIDENCE: Line 129: "**Paid plans lift the cap - check Lovable's pricing page.** and are only worth it later if you decide to upgrade for higher message volume - not required for this chapter." Rendered page confirms 'pricing page. and are only worth it later if you decide to upgrade for higher messa + +## 38. [MINOR] (sam-flow) faq:70 +FAQ answer says fewer than 7 strong signals is 'Directional KILL', contradicting the unified gate where 4-6 is PIVOT and only under 4 is KILL (Ch 2.5, template, course_sequence.yaml goal line). +EVIDENCE: FAQ line 70: "Directional KILL. The Module 2 gate is ≥7 of 10 interviewees with real past spend - fewer means the problem isn't acute enough to build for. Before you pivot, check..." vs Ch 2.5: "**4-6 strong signals: pivot.** ... **Below 4 strong signals: kill.**" A Sam with 5/10 gets 'KILL' from th + +## 39. [MINOR] (sam-flow) find-10-people-with-problem-outreach-2026:99 +The 'experienced' Day-3 bump variant hardcodes 'Already 30+ founders in' while its own trigger is '10+ interviews done', conflicting with the companion template's rule to use the true number and never claim conversations you have not had. +EVIDENCE: Line 99: "**Experienced variant (you have 10+ interviews done):** 'Hi [name] - circling back on the [topic] piece. Already 30+ founders in...'" vs outreach-sequence-template lines 55-57: "I've now talked to [TRUE NUMBER] people about this... **Never claim conversations you have not had.**" A Sam wit + +## 40. [MINOR] (sam-flow) find-10-people-where-to-look:122 +Callout points Sam back to a 'naive Claude/ChatGPT prompt in Chapter 1.1 with the follow-up name 3-5 competitors' that does not exist in Ch 1.1 or its hypothesis-sprint-full reference. +EVIDENCE: Line 122: "If you ran the [naive Claude/ChatGPT prompt in Chapter 1.1](/course/tech-for-non-technical-founders-2026/form-your-founding-hypothesis-90-minute-sprint/) with the follow-up 'name 3-5 competitors,' you already have them." grep -i 'claude|chatgpt|competitor|naive|3-5' across form-your-found + +## 41. [MINOR] (sam-flow) clickable-prototype-validation-2-hour-lovable:276 +Closing question attributes a '$49-$299 band' to Chapter 1.5, but that band only exists in the reference page stripe-price-test-full - Sam clicking through to 1.5 will not find it. +EVIDENCE: Line 276: "(Use the price hypothesis you tested in [Chapter 1.5](...price-hypothesis-on-smoke-test-page/) - if you haven't run that test yet, the chapter's $49-$299 band is your default starting point.)" grep '299' shows the band only in reference/stripe-price-test-full/index.md line 59 ("Thresholds + +## 42. [MINOR] (sam-flow) validated-problem-statement-template:53 +Garbled advisor definition (duplicated phrase) plus a 1-vs-2 reviewer mismatch on the same page - the quick-fill box says send to 'one founder friend' while everything else demands 2 advisor signatures. +EVIDENCE: Line 53: "One advisor (a founder one step ahead, a founder friend one step ahead, a peer from a founder community). One peer (another founder still pre-launch)." - 'one step ahead' duplicated, and 'advisor' is defined as three alternatives including 'a peer', making the advisor/peer distinction circ + +## 43. [MINOR] (sam-flow) clickable-prototype-validation-2-hour-lovable:224 +Session-length contradiction in the recruiting section: the ask is described as 'one hour of a different kind of time' two lines before instructing to book 30-minute calls. +EVIDENCE: Line 224: "Now you are asking them one hour of a different kind of time: watching them use the interface..." vs line 226: "Book the sessions as 30-minute video calls." and the re-engagement message line 230: "I'd like 30 more minutes to watch you try it". Sam drafting his own re-engagement message c + +## 44. [MINOR] (voice-claims) mom-test-ask-about-past-not-future:44 +Opening hypothetical uses 'eleven interviews' / 'nine yeses' while the course standardizes on ten interviews everywhere (same defect class as the ratcheted 'test in five interviews') +EVIDENCE: 'Run eleven interviews where the only question is "would you pay for this?" and you'll close the week with nine yeses and an empty launch.' data/course_banned_strings.yaml banned 'test in five interviews' with reason 'course uses ten interviews everywhere'; this is a new off-count instance plus fabr + +## 45. [MINOR] (voice-claims) mom-test-ask-about-past-not-future:177 +Orphaned context-free paragraph 'Sometimes Q1 is wrong...' dropped between the action table and an unrelated link - stranded pivot guidance with no lead-in +EVIDENCE: Standalone paragraph: 'Sometimes Q1 is wrong - the problem context is too narrow - and a broader framing wakes the interviewee up.' It follows the 'What to do tomorrow' table and precedes the PMF-guide link with no connective context. The same thought lives correctly inside the PIVOT bullet of mom-t + +## 46. [MINOR] (voice-claims) find-10-people-where-to-look:168 +New volatile third-party hardcode: Apollo free-tier credit counts ('roughly 100 email credits + 10 export credits per month, no credit card') +EVIDENCE: '[Apollo](https://apollo.io)'s free tier (credit-based: roughly 100 email credits + 10 export credits per month, no credit card) ... (at 10 exports/month, this fills the gap over several weeks...)'. Same defect class as the ratcheted '70 free credits' ('volatile third-party hardcode'); the specific + +## 47. [MINOR] (voice-claims) find-10-people-with-problem-outreach-2026:135 +Sweep-orphaned comparative: 'the highest in this whole chapter' has no noun after the reply-rate number was removed +EVIDENCE: 'That opener out-performs every cold variant - the person already raised a hand - the highest in this whole chapter.' 'The highest' [what?] dangles; the sentence reads as if a rate figure ('the highest reply rate') was deleted by a stat-scrub pass, leaving grammar damage. + +## 48. [MINOR] (voice-claims) find-10-people-with-problem-outreach-2026:117 +Volume-target claim contradicts the chapter's own funnel math: 30-50 messages at 20-30% reply and ~50% show yields 3-8 interviews, not 10 +EVIDENCE: 'Send 30 to 50 messages to land 10 interviews. Target a reply rate of 20% or higher... Of the replies who say yes, expect roughly half or more to actually show.' Even the best case (50 msgs x 30% reply x ~50-100% yes x 50%+ show) lands ~4-15 with the midpoint well under 10; at the stated 20% floor w + +## 49. [MINOR] (voice-claims) clickable-prototype-validation-2-hour-lovable:234 +Fabricated-precision stats in async-variant callout: '70% catch rate' unsourced and '200% better than skipping' is innumerate +EVIDENCE: 'Catch rate is about 70% of what live sessions surface (you miss the "what were you about to click" follow-ups) but 200% better than skipping the validation step because you couldn't schedule it.' No source for 70%; '200% better than skipping' (a zero baseline) is mathematically meaningless - same c + +## 50. [MINOR] (voice-claims) clickable-prototype-validation-2-hour-lovable:276 +Misattributed cross-reference: 'the chapter's $49-$299 band' points at Ch 1.5, but that band appears only on the reference page, not in Ch 1.5 +EVIDENCE: '(Use the price hypothesis you tested in [Chapter 1.5](...) - if you haven't run that test yet, the chapter's $49-$299 band is your default starting point.)' grep of price-hypothesis-on-smoke-test-page/index.md shows no '$299' or stated band; the band lives in reference/stripe-price-test-full/index. + +## 51. [MINOR] (voice-claims) validated-problem-statement-template:53 +Sweep-duplicated phrase: 'a founder one step ahead, a founder friend one step ahead' repeats the same descriptor twice in one parenthetical +EVIDENCE: 'One advisor (a founder one step ahead, a founder friend one step ahead, a peer from a founder community). One peer (another founder still pre-launch).' The first two list items are near-identical, and the advisor parenthetical also includes 'a peer' while the next sentence defines 'One peer' separa + +## 52. [MINOR] (voice-claims) validated-problem-statement-template:173 +'Good example' block asserts a false real-company claim: 'Stripe's automated tax product (launching Q1 2026)' - Stripe Tax launched in 2021 +EVIDENCE: Good why-now example: 'Stripe's automated tax product (launching Q1 2026) signals SMB finance is being deconstructed...' Stripe Tax has been generally available since 2021; presenting a real company's product with an invented future launch date inside the model answer teaches Sam to anchor 'good' st + +## 53. [MINOR] (voice-claims) ai-persona-pre-validation-mom-test-prep:63 +Fabricated-precision claim stated as fact: 'one focused rehearsal session saves 5 wasted interview slots' +EVIDENCE: 'You catch the broken question shapes before they reach a real human - one focused rehearsal session saves 5 wasted interview slots.' No source; the exact-5 figure also appears at line 51 ('absorbs five real interview slots before you notice the pattern'). Softening to 'can save several real slots' + +## 54. [MINOR] (voice-claims) mom-test-synthesis-build-pivot-kill:102 +Kill-lane routing inconsistency within the page: body sends the reader back to 2.4 'with a different hypothesis' (flowchart: 'Restart at Ch 2.3'), while the footer, interview script, and Ch 2.6 matrix all route kill through Ch 1.1 first +EVIDENCE: Line 102: 'Start [Find 10 People With the Problem](/course/.../find-10-people-with-problem-outreach-2026/) again with a different hypothesis.' vs line 124: 'If kill - the hypothesis is wrong, not the list; return to [1.1 ...] and rewrite the weakest blank... then re-run 2.3.' Flowchart line 74: 'KIL + +## 55. [NIT] (m1-crosscheck) ai-persona-pre-validation-mom-test-prep:123 +2.2's placeholder table points to 'the Ch 1.1 sidebar' for deep-research findings; Ch 1.1 has no sidebar - the deep-research prompt lives on the separate reference/hypothesis-sprint-full page linked only from 1.1's 'If blocked' line. +EVIDENCE: 2.2 line 123: 'Your judgment, anchored to deep-research findings if you ran the Ch 1.1 sidebar'. 1.1's only deep-research mention is line 113: 'run the deep-research prompt on the [full sprint reference](/course/.../reference/hypothesis-sprint-full/)'. Nothing in 1.1 is labeled or structured as a si + +## 56. [NIT] (m1-crosscheck) price-hypothesis-on-smoke-test-page:88 +1.5's handoff blurb promises 2.1 'takes your price signal into customer interviews to find out WHY strangers paid (or didn't)', but 2.1 never consumes the price signal - its declared inputs are the hypothesis + ICP characteristics, and M2's rules forbid raising your offer/price in the interviews (pricing surfaces only as an optional 2.6 closing question). +EVIDENCE: 1.5 line 88: 'Next: [2.1 · The Mom Test...] - takes your price signal into customer interviews to find out WHY strangers paid (or didn't).' 2.1's Input (line 34) lists only 'a Founding Hypothesis sentence ... + 3 ICP characteristics'; the 5-question script has no pricing slot, and asking why strange + +## 57. [NIT] (consistency) how-this-course-works:78 +HTCW's Module 2 step table lists 2.2 as a plain step with no optional marker, unlike the landing card, quickstart (which omits it), and 2.2 itself ([OPTIONAL]). +EVIDENCE: HTCW line 78: "| 2.2 | Rehearse your questions with an AI persona | Claude or ChatGPT (free) |" — no skip note. Landing card line 97 tags 2.2 with "optional", quickstart's minimal path excludes it, and 2.2's header reads "Lesson 2.2 · [OPTIONAL]". + +## 58. [NIT] (consistency) clickable-prototype-validation-2-hour-lovable:276 +2.6 attributes a "$49-$299 band" to Chapter 1.5, but that band appears only in the stripe-price-test-full reference page, not in Ch 1.5 itself. +EVIDENCE: Line 276: "(Use the price hypothesis you tested in [Chapter 1.5] - if you haven't run that test yet, the chapter's $49-$299 band is your default starting point.)" — grep of price-hypothesis-on-smoke-test-page/index.md finds only $49 examples and no $299; the band lives at reference/stripe-price-test + +## 59. [NIT] (consistency) clickable-prototype-validation-2-hour-lovable:387 +The Module-2-closes checklist garbles the gate (reads as all 10 transcripts scoring 7+) and attributes scoring to Ch 2.4 alone. +EVIDENCE: Line 387 item (3): "10 interview transcripts scored 7+/10 strong signal (Ch 2.4)" — the unified gate is ≥7 OF 10 transcripts scoring ≥7 (per 2.5, quickstart, HTCW, FAQ), and the scoring rubric is taught in 2.1 with the decision made in 2.5, not in 2.4. + +## 60. [NIT] (sam-flow) mom-test-ask-about-past-not-future:94 +'VA' is used unglossed at its first mention on the reading path - a non-technical first-timer may not know it means virtual assistant. +EVIDENCE: Line 94 (Q3 pass signal): "A hack, a paid tool, a hired VA, two spreadsheets duct-taped = real." and line 95: "My VA on Upwork fixes it." No gloss on the landing page or earlier in 2.1; the term recurs in the flags table (line 122 "My VA does it manually") and in the interview-script template, all u + +## 61. [NIT] (sam-flow) find-10-people-where-to-look:40 +TL;DR says 'Paste your three-sentence hypothesis into Claude' before the chapter has introduced the three sentences - Sam arrives from 1.1/2.1 with a ONE-sentence Founding Hypothesis. +EVIDENCE: Line 40: "**TL;DR (Part 1 of 2):** Paste your three-sentence hypothesis into Claude..." while the Input line (34) says "a hypothesis you suspect is real (from Ch 1.1)" (one sentence) and the three sentences are only defined later at line 79 ("## Before you start: write three sentences"). First-timer + +## 62. [NIT] (sam-flow) mom-test-ask-about-past-not-future:177 +Orphaned sentence dangles after the 'What to do tomorrow' table with no context or actionable instruction - in the script template the same sentence lives inside the PIVOT bullet where it makes sense. +EVIDENCE: Line 177 stands alone between the actions table and an unrelated blog link: "Sometimes Q1 is wrong - the problem context is too narrow - and a broader framing wakes the interviewee up." Compare mom-test-interview-script/index.md line 149 where it is attached to the PIVOT guidance ("Sometimes Q1 is w + +## 63. [NIT] (sam-flow) outreach-sequence-template:91 +'If blocked' pointer promises a 'diagnosis table' in Chapter 2.4 that does not exist as such - 2.4 only has a single reply-rate calibration row inside its 'What to do next' steps. +EVIDENCE: Line 91: "replies not coming? [Chapter 2.4's diagnosis table](...) covers the failure modes". In find-10-people-with-problem-outreach-2026/index.md the closest match is step 4 (line 169): "If under 10%, rewrite Day-0 subject line... If 10-30%, let the sequence run. If 30%+, move to [Mom Test script] + +## 64. [NIT] (voice-claims) ai-persona-pre-validation-mom-test-prep:224 +Confusing hardcoded interval: 'Filling the 48 hours between round 1 and round 2 surfaces question gaps' - a 48-hour gap between interview rounds is asserted nowhere else +EVIDENCE: Going-further table 'Why' cell: 'Filling the 48 hours between round 1 and round 2 surfaces question gaps'. No other page defines a 48-hour spacing between interview rounds (2.5 says the 5 sharper interviews 'cost you a week'); the gerund-subject sentence reads as sweep-mangled and leaves the reader + +## 65. [NIT] (voice-claims) validated-problem-statement-template:45 +The 'specific' number 47 recurs across unrelated anecdotes in scope - a fake-specificity tell +EVIDENCE: Line 45: 'sent 47 cold DMs to Twitter strangers'; line 165: 'the panel returned 47 useless responses'; faq/index.md line 96: 'Lovable generated a 47-button admin panel'. Three independent 'concrete' details sharing the same number reads as generated precision rather than recalled incidents; vary or + +## Status: ALL FIXED (2026-07-10, commit 98a7a9e6) +All 65 findings resolved by the six-fixer fan-out or skipped-with-reason; +signatures added to data/course_banned_strings.yaml (17→25). See commit +message of 98a7a9e6 for the per-cluster summary. diff --git a/docs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.md b/docs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.md index 0f057d953..d22e935af 100644 --- a/docs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.md +++ b/docs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.md @@ -4,8 +4,8 @@ **Project ID**: 2605-tech-for-non-technical-founders **Created**: 2026-05-12 -**Last restructured**: 2026-06-10 (Stale-doc cleanup: /blog/ → /course/ path fix, ICP clarified to Sam, chapter count updated, v2 inventory added) -**Status**: 🟢 v1 (long-form course) shipped · 🔄 v2 pilot lessons iterating to ideal · 🔲 Phase 2 gated behind pilot perfection +**Last restructured**: 2026-07-09 (post-#345: course merged + live, M1 fully v2 with lessons 1.1-1.5, M2 v2 migration started) +**Status**: 🟢 Course LIVE (PR #345) · 🟢 M1 v2 · 🟢 M2 v2 COMPLETE (PR #351 awaiting merge, lessons 2.1-2.6) · 🔲 M3-M5 pending **Owner**: JT content team **Parent**: 2510-seo-content-strategy (extends, does not replace) @@ -22,7 +22,7 @@ **Migration plan (see `TASK-TRACKER.md` "Course Migration Schedule")**: - ✅ **Phase 0 / Option C** (shipped 2026-06-07): Quickstart + FAQ + "What not to learn" + 6 Sam recommendations from 40.07 - 🔄 **Phase 1** (iterating 2026-06-08+): 2 pilot lessons (1.2a, 1.2b) being iterated to ideal quality. Strategy: pilot-first, then scale. Phase 2 gated behind: (1) both pilots pass all 6 Sam-review tests, (2) 5-Sam real-founder validation confirms template, (3) 30.03 §7 QA passes, (4) iteration refinements documented. -- 🔲 **Phase 2** (2-4 weeks, gated): Module-by-module full migration (M1 → M2 → M3 → M4 → M5) +- 🔄 **Phase 2** (in flight): module-by-module migration. M1 ✅ live (PR #345, 1.1-1.5). M2 ✅ complete on PR #351 (2.1-2.6 incl. Synthesis as 2.5, walkthrough, ratchet validator). M3-M5 🔲. - 🔲 **Phase 3** (cross-cutting polish, gated): bridges + reflection + visual discipline + viral loop **What we stopped**: Iter 17+ surgical loop on v1 long-form chapters. Each Iter-N round was catching diminishing-return defects. The structural format gap is solved by migration, not by line edits. diff --git a/docs/projects/2605-tech-for-non-technical-founders/PROJECT-INDEX.md b/docs/projects/2605-tech-for-non-technical-founders/PROJECT-INDEX.md index 5917990aa..4a8d5c8a1 100644 --- a/docs/projects/2605-tech-for-non-technical-founders/PROJECT-INDEX.md +++ b/docs/projects/2605-tech-for-non-technical-founders/PROJECT-INDEX.md @@ -1,8 +1,8 @@ # Project 2605 - Master Index **Project**: Tech for Non-Technical Founders 2026 -**Status**: 🟢 v1 (long-form) shipped + 🟡 v2 (micro-lesson) pilot in flight -**Last Updated**: 2026-06-10 (Stale-doc cleanup: integration rules v1/v2 split, ICP clarified to Sam, archived 10.06, archived SPRINT-RUNBOOK + 50.01, path fixes) +**Status**: 🟢 Course LIVE (PR #345) · 🟢 M2 v2 COMPLETE on PR #351 (awaiting merge) · 🔲 M3 next +**Last Updated**: 2026-07-10 (M2 done: flattened 2.1-2.6 with Synthesis as 2.5, walkthrough, all review rounds closed, regression ratchet validator live - see 40.12/40.13/40.14) **Parent**: `../2510-seo-content-strategy/` This is the **single navigation hub** for the 2605 project. Read top-to-bottom on first visit. @@ -11,10 +11,10 @@ This is the **single navigation hub** for the 2605 project. Read top-to-bottom o ## 🚀 IMMEDIATE ACTION - START HERE -**v1 (long-form) is shipped**: 5 modules, 18 chapters, live at `/course/tech-for-non-technical-founders-2026/`. +**The course is merged and live** (PR #345, squash 90216d2f): 5 modules, 24 spine chapters (count derives from `data/course_sequence.yaml` via the `course-stat` shortcode - never hardcode it), live at `/course/tech-for-non-technical-founders-2026/`. Module 1 is fully v2 (lessons **1.1-1.5**) with redesigned landing, covers, and four review rounds resolved. **Strategic pivot (2026-06-07)**: v2 (micro-learning format) is the next iteration based on `30.03-course-format-requirements-for-creators.md`. All 21 v1 chapters score 1.0-1.5/8 against the 8-part template (per 40.08 gap report). The 5 micro-lesson exploration drafts (Mom Test 3-lesson sequence + paid-pilot + mom-test-5-questions) were removed 2026-06-08 to start the migration from a clean slate; the **Quickstart and FAQ pages remain in `content/course/...`** as the v2 entry points already wired into the landing. -**Currently in flight**: Phase 1 pilot COMPLETE (2026-06-08). Phase 2 (module-by-module migration) next. Phase 0 (mechanical quick wins) deferred until after pilot lessons finish. +**Currently in flight**: nothing - PR #351 (Module 2 complete) awaits merge. Next work stream: M3 migration, using M1+M2 lessons as the pattern and the ratchet discipline from 40.13 (every review fix adds its signature to data/course_banned_strings.yaml in the same commit). Post-ship work is tracked in `TASK-TRACKER.md` (see "Course Migration Schedule" section for the 4-phase rollout). Review docs in `40-49-review/`. @@ -26,8 +26,7 @@ Post-ship work is tracked in `TASK-TRACKER.md` (see "Course Migration Schedule" 3. Read 40-49-review/40.08-chapter-template-gap-report.md — every v1 chapter scored against the spec. Use as the "starting state" map. 4. Reference 40-49-review/_ARCHIVED_40.09-mom-test-micro-lesson-qa-report.md ONLY for the QA methodology pattern (criterion-by-criterion binary scoring). 5. Read the pilot lessons as the canonical implementation pattern: - - content/course/tech-for-non-technical-founders-2026/smoke-test-build-page/ (Lesson 1.2a - agnostic AI-builder workflow, Mixo as worked example, ~870w; Sam-glossing pushed over the 800w pilot ceiling deliberately - jargon decode beats word count) - - content/course/tech-for-non-technical-founders-2026/smoke-test-wire-tracking/ (Lesson 1.2b - heavy gloss pass for snippet/head tag/heatmap/session recording/pixel/GA4/incognito, ~640w) + - all five Module 1 lessons (now numbered 1.1-1.5): form-your-founding-hypothesis-90-minute-sprint (1.1), smoke-test-build-page (1.2), smoke-test-wire-tracking (1.3), smoke-test-landing-page-7-day-demand-test (1.4), price-hypothesis-on-smoke-test-page (1.5) - plus module-1-walkthrough-mia 6. Open the v2 production pages already wired into the landing: content/course/tech-for-non-technical-founders-2026/quickstart/ + .../faq/ 7. Voice gates: no em-dashes (use `-` not `—`); no "Founders who"/"Most founders"/"## Why this matters"/"ICP-E"; no template labels visible in published content; ZERO case studies inside lesson body (they live at module-end walkthrough page). The `See it in action` footer link is added in the SAME commit that publishes the module's walkthrough page - never before; otherwise the lesson promises a page that does not exist. 8. After every micro-lesson rewrite: run bin/validate-course + em-dash sweep + Hugo build + mobile viewport check at 375px. diff --git a/docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md b/docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md index 47d7885dd..c36f468f9 100644 --- a/docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md +++ b/docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md @@ -1,8 +1,37 @@ # Task Tracker - 2605 Tech for Non-Technical Founders -**Last Updated**: 2026-06-22 (Module 1 RELEASED. Landing/Quickstart/FAQ reframed as "M1 released, M2-5 roll out 2026". M2 migration is the active work stream.) - -## Active Phase: M2 Migration · (M1 Released today) +**Last Updated**: 2026-07-10 (M2 v2 migration COMPLETE on PR #351 - awaiting merge. All review rounds closed, 65-finding fan-out fixed, regression ratchet live.) + +## Active Phase: M2 release (PR #351 ready) → next: M3 migration + +**🚀 What shipped 2026-07-09..10: Module 2 v2 complete (PR #351, 20 commits)** +- ✅ All chapters on the M1 v2 template; numbering FLATTENED to 2.1-2.6 (letters retired; Synthesis is Lesson 2.5, in yaml prev/next). Chapter count derives 25 via course-stat. +- ✅ Module 2 Mia walkthrough (incl. Lesson 2.5 section) wired into all lessons + landing. +- ✅ Decision gate canonical everywhere: BUILD 7+ / PIVOT 4-6 / KILL <4, with score≥7 ≡ real-past-spend equivalence stated on 2.5. +- ✅ outreach-sequence-template rewritten as the true 2.4 companion (Gmail + NeetoCal, honest bump variants). +- ✅ Four gatekeeper reports + re-verification + final cold-eyes + 65-finding fan-out (40.12/40.14) - ALL findings fixed or skipped-with-reason. M1↔M2 boundary breaks fixed (no pitch-the-hypothesis instruction; 1.4→1.5→2.1 spine; ICP derives from the [customer] blank). +- ✅ Covers: stale landing-copy covers on 2.3/2.5 replaced with purpose-made lesson covers; clipped Q5 SVG + 1881px interview-flow mermaid fixed (now 971px). +- ✅ **Regression ratchet** (40.13): validator 8 `banned-string-ratchet` + data/course_banned_strings.yaml (25 signatures). Every review fix adds its signature in the same commit. Caught 6 live instances outside review scope across 3 runs. +- ✅ Six external reader reviews triaged: 8 improvements adopted (2.1 awkward-first-calls + no-story interviewee; 2.2 GIGO routing + objection emotional-prep; 2.3 perfectionism time-box; 2.4 flattery reframe), rest confirmed content. +- 🔲 Carry-forwards: "Artifact #N of 6" labels in 3.1/4.3b/5.4 renumber in their sprints; M3-M5 in-lesson case studies removed in their sprints; word-count-band spec gap needs split-or-waiver decision; 2.5 "why now" timing factor = backlog idea. + +## Previous phase (merged): course shipped via PR #345 + +**🚀 What shipped 2026-07-07..09: full course merged + Module 1 hardened (PR #345, squash 90216d2f, deployed)** +- ✅ Landing page redesigned: hero lede + chips + CTA buttons above the fold, module cards, mistake list; Founder OS artifact grid merged into the module-map intro (dedup). Old 12,000px bullet-list layout gone. +- ✅ Module 1 lesson numbering is now **1.1-1.5** (was 1.1/1.2a/1.2b/1.2c/1.3 in older tracker entries below - historical sections keep the old labels). +- ✅ 1.1 reframed as strategy-as-hypothesis (Click / lean-inception rationale): advantage + assumptions exposed as blanks, blank→experiment map table, why-one-sentence. +- ✅ Four independent review rounds all resolved: 2 cold-eyes subagent reviews, CodeRabbit triage, 5-lens fan-out (66 raw → 60 verified findings) + reviewer re-verification. Gate table bands contiguous (Under 3 / 3-6 / 6-10 / 10-20 / Over 20, proceed = ≥6%); FAQ/quickstart/HTCW aligned to it. +- ✅ Single-source stats: `course-stat` shortcode derives chapters/modules/artifacts from `data/course_sequence.yaml` (24 chapters currently render). Covers use near numbers ("20+ chapters"). Never hardcode counts in prose. +- ✅ Covers added for 1.2 + 1.3; landing + HTCW covers regenerated ("5 modules · 20+ chapters", TEMPLATES chip now "All free" - the old "14 free" note below is obsolete). +- ✅ De-hardcoded volatile third-party claims (tool prices/limits → capability language + check-pricing-page note). Removed fabricated "Hacker News $475/mo" ad product. CPC table arithmetically consistent (Meta plan band $250-$700). +- ✅ Site-wide fix: render-link.html trailing-newline chomp (stray space before punctuation after every markdown link). +- ✅ Legacy deleted: drafted pre-split 5.3 chapter (first-ten-customers-personal-network) + 17 links retargeted to 5.3a/b/c. + +**🔄 In flight (this branch): M2 v2 migration** +- ✅ 2026-07-09: all 5 M2 chapters aligned to the M1 v2 lesson template (Lesson 2.x · [CORE/OPTIONAL] headers, Progress chain M2 · n of 5, "After this lesson" lines, Done/You-have-now/Next/If-blocked footers). Commit 48552e7b. +- 🔲 Module 2 Mia walkthrough (`module-2-walkthrough-mia`) + See-it-in-action lines in the 5 lessons (same-commit rule per 30.03 §2.7). +- 🔲 Cross-page consistency pass + sweeps + cold-eyes review loop → ONE PR for the sprint. **Current sprint focus:** migrate Module 2 (Validate the Problem) to v2 micro-lesson format — 5 v1 chapters → ~6 micro-lessons following the 30.03 8-part template. M1 v2 is complete and serves as the canonical pattern. Cold AI agents should read `30.03-course-format-requirements-for-creators.md` + the M1 v2 lessons (1.1, 1.2a, 1.2b, 1.2c, 1.3) + the Mia walkthrough as the implementation reference before touching any M2 lesson. @@ -17,8 +46,8 @@ - ✅ Build clean: 0 em-dashes across all 3 pages; all 7 course validators pass. **Deferred to follow-up sweeps (NOT in this release):** -- 🔲 **M2-M5 chapter-top callouts** (per user direction 2026-06-22 "separate sweep, later"): ~21 chapter pages need a 1-line opening callout: *"This chapter is part of v1 of the course. A polished v2 lands in 2026."* Estimated ~10 min mechanical edit. Gate: do this before/alongside M2 v2 conversion so v1 readers see the status note as they browse. -- 🔲 **Cover image regen**: current `cover.png` visually shows "5 modules". After Option C reframe, the cover ideally shows Module 1 as released and M2-5 as roadmap. Separate task: regenerate via chrome-devtools at 2400×1260 with updated badge per `.stitch/design.md`. +- ✅ OBSOLETE (2026-07-09): the "M2-M5 v1/v2 status callout" idea was dropped - the released-vs-rolling-out status lines were removed from the landing during the #345 redesign; the course presents as one coherent product. +- ✅ Done differently (2026-07-08): covers regenerated with "5 modules · 20+ chapters" and "All free" chips; no roadmap badges. **What shipped earlier (2026-06-16): M1 v2 conversion COMPLETE** @@ -276,16 +305,51 @@ Six principles drive this schedule. The wrong order wastes hours; the right orde **Module 2 exit gate:** All 6 micro-lessons follow template. Core path (2.1 → 2.3a → 2.3b → 2.4) produces validated problem statement without 2.2. Bridge chain verified. -#### Module 3 — Design from Evidence (~2-3 days) +#### Module 3 — Design from Evidence (~1-2 days) — PLAN REVISED + CONFIRMED 2026-07-09 (post-M2 re-review) -2 chapters → ~3 micro-lessons. Shortest module, fastest to rewrite. +> The original "2 chapters → ~3 micro-lessons" plan predates the M2 sprint and is superseded by this section. Revision grounded in: M2 shipped shape (PR #351), 40.13 process rules, 30.03 §2.7, and a fresh re-read of both M3 chapters on 2026-07-09. -| Chapter | → Micro-lessons | Key split | -|---|---|---| -| 3.1 Product Brief | ~2 lessons | Problem statement → user + build + metric + no-go rows | -| 3.2 Outcomes Check | ~1 lesson | Feature audit → outcome mapping → decision | +**Prerequisite:** merge PR #351 first. Then branch `module-3-design-from-evidence` off fresh master. Cold agents read 30.03 + the M1/M2 v2 lessons + both Mia walkthroughs before touching M3. -**Module 3 exit gate:** All 3 micro-lessons follow template. The brief-to-outcomes handoff is tight — the bridge from 3.1 names exactly which rows 3.2 audits. +**Shape decision (revised): 1 chapter = 1 lesson, NO splits.** M2 retired letter-splits and shipped 1:1; splitting 3.1 would mint a new slug, cover, and redirect churn for no reader gain. Numbering stays 3.1 / 3.2 (already flat, already on landing/quickstart/yaml - no renumber needed, which removes M2's biggest defect source). Word-count band: both chapters sit at ~2.8-3.0k words vs the 30.03 400-900 band - proceed under the same waiver-by-precedent as M2 (spec split-or-waiver decision remains an open carry-forward, not a blocker). + +| Page | Slug (stable) | Work | +|---|---|---| +| 3.1 The One-Page Product Brief | `one-page-product-brief-vibe-prd` | v2 8-part template (Module 3 · Lesson 3.1 · CORE, Progress M3 · 1 of 2); remove in-lesson "Case Study: Tomas & Mia" block; fix defects 1-3 below; improvements I4-I5 | +| 3.2 Quality-check Your Brief | `stop-specifying-features-start-outcomes` | v2 template (Lesson 3.2 · CORE, Progress M3 · 2 of 2); remove case block; align "Artifacts you carry out of Module 3" with Founder OS framing; fix defect 4; improvements I1-I3 | +| Walkthrough (NEW) | `module-3-walkthrough-mia` | Mia drafts + quality-checks the TutorMatch brief. Seed content already exists in the two case blocks being removed (core 3 jobs, no-go list, job-story rewrites). M2 walkthrough's closing promise binds it: "Every feature on that page will trace back to a line a parent actually said." See-it-in-action lines land in the SAME commit (30.03 §2.7) | +| Companion | `vibe-prd-template` | Align with 3.1 v2 the way `outreach-sequence-template` was aligned with 2.4 last sprint: fix defect 5 below, adopt the M2-companion header format (Input/Output callout), verify cover exists | + +**Known defects to fix regardless (found in the 2026-07-09 plan re-review):** +1. 3.1 body says "Chapter 2.1 synthesis" twice (Section 1 heading + "What comes next") - M2 renumber leftover; synthesis is now Ch 2.5. The Input callout was fixed in the M2 fan-out, the body was not. Add `Chapter 2.1 synthesis` to the ratchet in the same commit. +2. 3.1 "Founder OS · Artifact #4 of 6" hardcoded index - reconcile with the landing "You leave with" lines and the v2 footer style (name the artifact, drop the fragile index). 4.3b/5.4 keep theirs until their sprints. +3. 3.1 hardcodes the "$1,000 Maven cohort" price 3× plus a "4.8/5 reviews" score (section heading, intro, Further reading) - volatile third-party facts; convert to capability language + check-the-pricing-page note per the de-hardcoding policy. +4. Verify 3.2's `admin-panel-spaceship.svg` desc/alt text ("47 buttons") doesn't collide with the `47-button admin panel` ratchet signature; the illustration itself stays (informational, not decorative). +5. `vibe-prd-template` companion: header says "synthesis from **Chapter 2.1**" while linking the 2.5 synthesis page (same renumber-leftover class); "one-page one-page brief" doubled-word typo; "$1,000" Maven price echoed twice more. + +**Content improvements IN scope (numbered; I1-I3 grounded in 40.06 trust-score friction, both chapters 7/10; I4-I5 grounded in documented CLAUDE.md content-organization rules):** +- **I1 - 3.2 hook reframe.** 40.06 records Sam's resistance verbatim: "I already wrote Section 3 in Chapter 3.1 - why do I need to rewrite it?" The v2 Hook (≤3 sentences) must earn the rewrite up front - the 20-minute rewrite is insurance against the $15K admin-panel spaceship - and the objection gets answered before the first exercise, not assumed away. *Lands in: 3.2 Hook + the sentence right after Input/Output.* +- **I2 - AI critic manual fallback.** 40.06 flags that 3.2's quality-check prompt requires a Claude account. Add the manual path (read each Section 3 sentence and ask: "is this a thing the user does, or a thing the software has?") per the manual-minimum policy. *Lands in: 3.2, directly under the existing AI quality-check prompt block.* +- **I3 - Explicit module gate in the Done footer.** M1 ends on go/iterate/kill, M2 on build/pivot/kill; M3's implicit pass ("4 of 5 sections outcome-shaped", currently buried in the case blocks being deleted) becomes the stated Done criterion. *Lands in: 3.2 Done footer ("Done when 4 of 5 brief sections read as outcomes; brief saved to Founder OS").* +- **I4 - "The 2 forks: Vibe PRD vs traditional PRD" → decision table.** The section is if-X-then-Y prose; the decision-aid rule (10.05 Part 2 / CLAUDE.md F-pattern rules) says render it as a compact decision table, and it currently sits BEFORE the 5-section walkthrough - demote it below the template so action comes first. *Lands in: 3.1.* +- **I5 - First-fold visual hook check.** Verify both lessons put an informational visual inside the first viewport at 1280×800 (hero rule, Pew 2026); `vibe-prd-template-visual.svg` / `feature-vs-outcome.svg` are the natural candidates if repositioning is needed. *Lands in: 3.1 + 3.2, verified in the visual-QA step.* + +**Backlog rows this sprint closes for M3** (mark them in the ICP backlog table when done): P2 "TL;DR summaries" and P2 "completion criteria" for 3.1/3.2 - both are delivered inherently by the v2 template ("After this lesson you will be able to" + Done/Next/If-blocked footers). + +**Content improvements OUT of scope (decided, don't relitigate):** no new lessons, no splits, no synthesis-style addition. M3's two-step arc (draft → quality-check) is sound, trust scores are healthy, and the module is deliberately the short breather between M2 interviews and the M4 build. OpinionX stack-ranking stays the optional callout it already is. + +**Ordered steps (each gate before the next):** +1. Voice sweep on both v1 chapters BEFORE template conversion (em-dash, banned patterns, full ratchet run) - so v2 inherits clean voice. +2. Convert 3.1 (with I4), then 3.2 (with I1-I3) - dependency order; the 3.1→3.2 bridge names exactly which brief sections 3.2 audits. +3. Walkthrough + See-it-in-action lines + case-block removal in one commit. +4. Cross-page pass: landing/quickstart/FAQ/HTCW M3 rows; M2→M3 inbound promises honored (2.5 problem statement → Section 1 verbatim; 2.6 "describe in one sentence" vocabulary → Section 3; prototype code discarded, fresh M4 build); M3→M4 outbound intact (4.1 reads the brief for the build-path decision, 4.3 prompts Lovable from it). +5. Semantic-leftover pass (40.13): grep order-encoding prose ("next chapter", "proceed to", "after step") in every touched file. +6. Chrome-devtools visual QA at 1280×800 + 390×844: all 4 SVGs, both mermaid diagrams (height ≤ ~1600px), both covers (verify content is current - 2.3/2.5 covers turned out to be stale copies last sprint; regen from the family template if facts are wrong), first-fold visual hook per I5. +7. ONE fan-out review (find → dedup → adversarial verify) AFTER migration is complete; fixes reviewed as scoped diffs, never whole-world re-samples; every fix adds its ratchet signature in the same commit. +8. Mechanized gates: `bin/hugo-build` (8 validators) + `bin/rake test:critical`; `bin/dtest` too if any template/CSS file is touched; production link sweep. +9. ONE PR for the sprint. + +**Module 3 exit gate:** both lessons on the 8-part template; walkthrough live and linked; boundary promises verified in both directions; all mechanized gates pass. Report format per 40.13: "all N mechanized gates pass; review round K found X" - never "everything is fine". #### Module 4 — Build It Yourself (~4-5 days) diff --git a/lib/course_validators.rb b/lib/course_validators.rb index 117302cf4..e9d0c3774 100644 --- a/lib/course_validators.rb +++ b/lib/course_validators.rb @@ -36,7 +36,8 @@ def run_all check_table_width, check_disclaimer_consistency, check_em_dash_in_content, - check_year_stamp_fabrication + check_year_stamp_fabrication, + check_banned_strings ] end @@ -339,6 +340,32 @@ def build_valid_chapter_set end end + # ── Validator 8: Banned-string regression ratchet ──────────────────────── + # data/course_banned_strings.yaml lists strings prior review rounds removed. + # A fixed defect may never return: every new review fix adds its signature + # there in the same commit. Optional per-entry `scope` regex limits which + # course files the entry applies to (matched against the bundle dir name). + + def check_banned_strings + violations = [] + ratchet_path = "data/course_banned_strings.yaml" + if File.exist?(ratchet_path) + entries = YAML.load_file(ratchet_path).fetch("banned", []) + course_chapters.each do |path| + dir = File.basename(File.dirname(path)) + body = File.read(path) + entries.each do |e| + next if e["scope"] && dir !~ Regexp.new(e["scope"]) + if body.include?(e["string"]) + line = body.lines.index { |l| l.include?(e["string"]) } + violations << "#{path}:#{line ? line + 1 : "?"} banned string #{e["string"].inspect} - #{e["reason"]}" + end + end + end + end + Result.new(name: "banned-string-ratchet", passed: violations.empty?, violations: violations) + end + def build_yaml_title_map @yaml_title_map ||= begin map = {} diff --git a/test/unit/course_validators_test.rb b/test/unit/course_validators_test.rb index 82e3dce82..78f35d8fb 100644 --- a/test/unit/course_validators_test.rb +++ b/test/unit/course_validators_test.rb @@ -344,7 +344,7 @@ def test_table_width_non_course_posts_skipped # ── Integration: all validators run together ──────────────────────────── - def test_run_all_returns_seven_results + def test_run_all_returns_eight_results write_yaml([ { "slug" => "ch1", "title" => "1.1 · Test", "module" => "Chapter 1.1", "goal" => "Test" } ]) @@ -353,7 +353,7 @@ def test_run_all_returns_seven_results results = CourseValidators.run_all - assert_equal 7, results.length + assert_equal 8, results.length names = results.map(&:name) assert_includes names, "chapter-number-consistency" assert_includes names, "title-yaml-match" @@ -368,7 +368,7 @@ def test_run_all_with_no_course_chapters write_yaml([]) results = CourseValidators.run_all - assert_equal 7, results.length + assert_equal 8, results.length results.each do |r| assert r.passed, "All validators should pass when no course chapters exist: #{r.name} failed" end @@ -383,7 +383,7 @@ def test_missing_yaml_file_does_not_crash results = CourseValidators.run_all - assert_equal 7, results.length + assert_equal 8, results.length # Should not crash - just produce empty violations end