Tech for Non-Technical Founders 2026: Sprint 3 closes Module 3 + 4A (self-serve path complete end-to-end)#341
Conversation
… course infra Sprint 1 deliverables (3 chapters of the 26-post course): - Module 0.1 - Where Are You? + Self-Assessment Worksheet artifact - Module 1.1 - Find 10 People with the Problem (2026 outreach stack) + Outreach Sequence Template - Module 1.2 - The Mom Test + Mom Test Interview Script Course infrastructure: - Stub landing page at /blog/tech-for-non-technical-founders-2026/ (build-in-public mode) - 8 artifacts moved from docs/.../lead-magnets/ to public Hugo URLs at /blog/<slug>/ - Strategy + execution scaffolding under docs/projects/2605-tech-for-non-technical-founders/ Team-mode pipeline that ran: - Writer (general-purpose agent) -> mechanical gates -> voice critic + cold-eyes verifier (parallel where independent) -> editor revisions where needed -> ship - WIP=1 sequential discipline maintained across all 3 Sprint 1 chunks Doctrine in scope (memory feedbacks): - Pure lead magnet (zero JT service CTAs; authorship credit only) - Viral shareability (contrarian hook + tweetable insight + weekly tactic + artifact) - KISS - simplest method on main path; frameworks in Advanced sidebars only - Course-as-journey (input/output/checkpoint/artifact per module) - No length caps; cut test per section - >=3 handmade infographics per post (Mermaid + sketchy SVG mix) - Rails / Django / Laravel default tech stack; no React/Node/Java as lead Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…page module-first framing
S2.1 deliverable:
- /blog/validated-problem-statement-decide-whats-next/ (Module 1.3 post)
- /blog/validated-problem-statement-template/ (companion artifact, public URL)
- 2 inline SVGs + 1 Mermaid diagram
Hook archetype rotated to Reddit-poster (per hook-bank diversity rule applied after S1.3 cold-eyes review flagged "founder we picked up" pattern saturation). 0 em-dashes, 0 banned words, 0 JT service CTAs.
Landing page restructured per user directive (2026-07-22):
- Removed public post-count framing ("X of 26 posts") - too granular for ICP
- Module table now shows status (Complete / Partial / Coming) + approx reading time per module
- ICP cares about modules + time, not chapter-by-chapter granularity
Module 1 is now complete (3 of 3 chapters live: outreach + Mom Test + validated problem statement).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…Module 2 complete)
Sprint 2 deliverables (3 chapters):
- Module 1.3 "Write Down What You Heard, Decide What's Next" + Validated Problem Statement Template artifact
- Module 2.2 "The One-Page Product Brief (Vibe PRD)" + Vibe PRD Template artifact
- Module 2.3 "Stop Specifying Features. Start Specifying Outcomes." (no artifact - inline tactic, KISS doctrine: job-story framework name stays in citations only)
After Sprint 2:
- Module 1 (Validate the Problem) is COMPLETE - 3 of 3 chapters live
- Module 2 (Design the Solution) is COMPLETE - 3 of 3 chapters live
- Reader can now go idea -> validated problem -> Product Brief without external resources
Hook-bank diversity enforced per S1.3 cold-eyes flag:
- S2.1 Reddit-poster archetype
- S2.2 News-pegged ($1,000 Maven cohort vs free)
- S2.3 Direct address ("You asked for a simple admin panel. You got a spaceship.")
- Zero "founder we picked up" leads in Sprint 2
Landing page updated per ICP feedback (2026-07-22):
- Module-first framing (no post counts to readers)
- Reading time per module + status (Complete/Partial/Coming)
All gates clean: 0 em-dashes, 0 banned words, 0 JT service CTAs across all 3 new posts + 2 new artifacts.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…r S2.3 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…th complete) Sprint 3 deliverables (4 chapters + 2 artifacts): - Module 3.1 "Should You Hire? The 2026 Decision Tree" + Build Path Decision Worksheet - Module 3.2 "The Fractional CTO Bridge" (no separate artifact) - Module 4A.1 "The Self-Serve MVP Stack: Lovable + Supabase + Stripe" + Self-Serve Stack Walkthrough - Module 4A.2 "Vibe Coding Done Right: 5 Ceiling Signals" (no separate artifact) After Sprint 3: - Modules 0-3 + 4A all COMPLETE - Self-serve path is shippable end-to-end: idea -> validated problem -> Vibe PRD -> outcome spec -> build decision -> live MVP -> when-to-graduate signal - Reader who chose self-serve in Module 3 now has a complete free path through to a paying-customer-ready product Hook archetype rotation continued (no "founder we picked up" / Reddit / news-pegged saturation): - S3.1 honest-qualifier raw stat - S3.2 product-tour Calendly reveal - S3.3 interview transcript snippet - S3.4 scene-painting present-tense All gates clean: 0 em-dashes, 0 banned words, 0 JT service CTAs, 0 React/Node/Java as lead stack across all 4 posts + 2 artifacts. Landing page updated: 5 modules now complete, status reads "self-serve path shippable end-to-end." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR introduces a complete, free 26-post curriculum for non-technical founders structured across 8 modules with strategic branching. It includes comprehensive research on competitive offerings, detailed course architecture specifications, 20+ new blog posts with embedded templates and Mermaid diagrams, lead-magnet artifact specifications, a full Sprint 1 execution runbook with mechanical audit checklists, distribution planning across social channels, and minor updates to Claude agent workflows and LinkedIn post copy for voice consistency. ChangesTech for Non-Technical Founders 2026: Complete Curriculum
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
Actionable comments posted: 19
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (16)
docs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.02-positioning-vs-courses.md (1)
1-87:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftNew docs file path violates repository documentation placement rule.
This is a newly added file under
docs/projects/..., but the guideline allows new documentation files only underdocs/workflows/. If this content is required, move it to an allowed location or merge it into an existing non-workflow doc.As per coding guidelines, "New documentation files allowed ONLY under
docs/workflows/directory; for all other documentation needs, edit existing files."🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.02-positioning-vs-courses.md` around lines 1 - 87, This new documentation file "Positioning vs Paid Courses" (project 2605-tech-for-non-technical-founders / header "The one-sentence positioning") was added outside the allowed docs/workflows area; either relocate this content into an allowed workflow doc or merge its contents into an existing non-workflow documentation file per the repository rule that new docs must be created under docs/workflows/, e.g., move the 14-post curriculum material into an appropriate existing workflow doc or recreate it under docs/workflows/ and update any references (the document title and project identifier "2605-tech-for-non-technical-founders" / headings like "Positioning vs Paid Courses") so links and indexes still resolve.docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md (1)
1-124:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftThis new documentation file is in a disallowed path.
Repository guidance allows new docs only under
docs/workflows/, but this new file is underdocs/projects/.... Please move/merge accordingly.As per coding guidelines, "New documentation files allowed ONLY under
docs/workflows/directory; for all other documentation needs, edit existing files."🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.md` around lines 1 - 124, The new doc "Task Tracker - 2605 Tech for Non-Technical Founders" lives in a disallowed path; move its content into an allowed location under docs/workflows/ (either create a new workflow doc named e.g. workflow-2605-task-tracker.md or merge the content into the closest existing workflow file), remove the file from docs/projects/, and update any internal links/references (e.g. the S1.1/S1.2/S1.3 slugs and PROJECT-INDEX integration rules) to point to the new workflow location; commit with a clear message and run the docs lint/CI to ensure the repository rule ("New documentation files allowed ONLY under docs/workflows/") is satisfied.docs/projects/2605-tech-for-non-technical-founders/PROJECT-INDEX.md (1)
1-130:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winLine length violations exceed 80-character documentation limit.
Multiple lines exceed the mandated 80-character limit for documentation files. Examples:
- Line 78: 193 characters
- Line 109: 231 characters
- Line 127: 227 characters
- Line 129: 364 characters
Reflow to respect the 80-character boundary per coding guidelines.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/PROJECT-INDEX.md` around lines 1 - 130, Several paragraphs and table rows in PROJECT-INDEX.md exceed the 80-character line-length rule; reflow the text to wrap at 80 chars while preserving Markdown structure (headings like "🚀 IMMEDIATE ACTION - START HERE", the code block numbered sprint steps, the tables under "Files a fresh session reads..." and "CORE DOCUMENTS", and inline/backtick paths such as `50-59-execution/SPRINT-RUNBOOK.md`) so that no logical line exceeds 80 characters; keep original wording and punctuation, do not break inline code or backtick paths, and ensure lists, code fences, and table alignment remain valid Markdown after wrapping.docs/projects/2605-tech-for-non-technical-founders/50-59-execution/distribution-prep.md (1)
1-168:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winLine length violations exceed the 80-character limit for documentation.
Multiple lines in this file exceed 80 characters, violating the coding guideline for
**/*.mdfiles. Examples:
- Line 3: 234 characters
- Line 25: 214 characters
- Line 35: 181 characters
- Line 37: 191 characters
As per coding guidelines, each line in documentation should be max 80 characters.
Recommended approach
Reflow long paragraphs and table cell content to respect the 80-character boundary. For table cells with long text, consider breaking content across multiple rows or using abbreviations with footnotes.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/50-59-execution/distribution-prep.md` around lines 1 - 168, The document "Distribution Prep - Where to Share Course Content" (headings: "Channel inventory (ranked by ICP fit)", "Reddit (highest share-velocity for non-tech founders)", "Twitter / X (highest quote-tweet velocity)", etc.) contains many lines exceeding the 80‑character limit; reflow all paragraphs and table cells to 80 chars max, break long table cell content across multiple rows or add abbreviated text with footnotes where needed (e.g., split the long Reddit and Twitter table cells and the "Title pattern that works" and "Thread structure that works" blocks), wrap code blocks and templates to 80 chars, and then run the repo markdown linter/formatter to verify no remaining line‑length violations. Ensure headings and templates remain semantically identical while only changing wrapping/line breaks.docs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.07-content-plan-tnt-founders-2026.md (1)
1-237:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winLine length violations exceed 80-character limit.
Multiple lines exceed the mandated 80-character limit for documentation. Examples:
- Line 14: 145 characters
- Line 15: 146 characters
- Line 20: 238 characters
- Line 76: 143 characters
Reflow to respect the 80-character boundary per coding guidelines.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.07-content-plan-tnt-founders-2026.md` around lines 1 - 237, The document has many lines >80 chars (e.g. within the "⚠️ INTEGRATION RULES - read first" section, the course overview paragraphs, and the "Required course-frame in every post" examples) and needs soft-wrapping to an 80-character line length; reflow all long Markdown paragraphs and prose (but do NOT alter code blocks, fenced examples, tables' cell contents semantics, or headings) so every non-code line is wrapped at or below 80 characters, preserving the exact wording, link targets, table structure, and callout examples like the Top callout and Bottom course-nav block.docs/projects/2605-tech-for-non-technical-founders/50-59-execution/mechanical-audit-checklist.md (1)
1-140:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winLine length violations exceed 80-character limit.
Multiple lines outside code blocks exceed the 80-character documentation limit:
- Line 88: 124 characters
- Line 93: 180 characters
- Line 97: 155 characters
Reflow these lines to respect the boundary per coding guidelines.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/50-59-execution/mechanical-audit-checklist.md` around lines 1 - 140, Several prose lines exceed the 80-char limit; reflow the long sentences that appear in the "Expected outputs:" section and the two long bash/echo lines containing the phrases "SVG files in post directory:" and "Mermaid blocks in post:" so every non-code line is <=80 chars. Edit the markdown paragraphs (not the fenced code blocks or the bash commands themselves) by inserting line breaks at natural punctuation or clause boundaries, preserving original wording and meaning, and ensure list bullets like "Expected outputs:" remain readable after wrapping.docs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.01-course-modules.md (1)
1-246:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winLine length violations exceed documentation limit.
Multiple lines exceed the 80-character limit mandated by coding guidelines for
**/*.mdfiles. Examples include:
- Line 59: 179 characters
- Line 76: 202 characters
- Line 91: 171 characters
- Line 140: 450+ characters
Reflow these lines to respect the 80-character boundary.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.01-course-modules.md` around lines 1 - 246, The file 20.01-course-modules.md has multiple lines exceeding the 80-character docs limit (examples called out at lines with the 10-question routing table, long post descriptions such as Module 1/2/5 entries, and the ASCII "How modules connect" diagram); fix by reflowing those long paragraphs, table cells, list items and the diagram so no physical line exceeds 80 characters, inserting soft line breaks inside Markdown paragraphs and list items (but not inside inline code/backticks or URLs), and preserve content and markup (headings like "Module 0 - Where Are You?", the "10 self-assessment questions + routing logic" table, and the "How modules connect" code block) while wrapping long sentences into multiple lines at sensible word boundaries.content/blog/outreach-sequence-template/index.md (1)
25-215:⚠️ Potential issue | 🟠 MajorAdd course frame (top callout + bottom course nav) to match Module 1.1 structure.
The docs explicitly mandate: "Every course post carries the course frame" (PROJECT-INDEX.md §3). This page is marked as a Module 1.1 template companion but lacks both required elements. The related Module 1.1 post (
find-10-people-with-problem-outreach-2026) shows the correct structure:
- Top: Blockquote callout with
> **Module 1 · Step 1 of 3** · [Tech for Non-Technical Founders 2026](/blog/tech-for-non-technical-founders-2026/) free course. Input: [your problem hypothesis]. Output: [10 booked calls by Friday].- Bottom:
## Continue the coursesection with the 9-row module navigation table + "In Module 1 · Validate the Problem:" subsection marking this template as the Step 1 artifact.The current page opens with the emoji callout and closes with the JT attribution line. Replace both sections to match the frame pattern.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/blog/outreach-sequence-template/index.md` around lines 25 - 215, This page is missing the required course frame: add the top blockquote callout used by Module 1.1 (copy the pattern: "> **Module 1 · Step 1 of 3** · [Tech for Non-Technical Founders 2026](/blog/tech-for-non-technical-founders-2026/) free course. Input: [your problem hypothesis]. Output: [10 booked calls by Friday].") as the first element, and append a "## Continue the course" block at the bottom that includes the 9-row module navigation table plus the "In Module 1 · Validate the Problem:" subsection that marks this page as the Step 1 artifact (match the structure and wording used in the find-10-people-with-problem-outreach-2026 post so the top callout and bottom nav mirror that page).docs/projects/2605-tech-for-non-technical-founders/50-59-execution/sprint-1/artifact-specs.md (2)
1-172:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftNew docs file location violates repository docs policy.
This is a newly added
docs/**/*.mdfile outsidedocs/workflows/.
Per policy, new documentation files are only allowed underdocs/workflows/.As per coding guidelines: “New documentation files allowed ONLY under
docs/workflows/directory; for all other documentation needs, edit existing
files”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/50-59-execution/sprint-1/artifact-specs.md` around lines 1 - 172, The new Sprint 1 artifact specs file docs/projects/2605-tech-for-non-technical-founders/50-59-execution/sprint-1/artifact-specs.md violates the repo rule that new docs must be added under docs/workflows/; move this new markdown content into an appropriate existing file under docs/workflows/ or, if it truly needs its own file, relocate it to docs/workflows/ and update any references (paths used in the diff: the three artifact paths and titles like "self-assessment-worksheet.md", "outreach-sequence-template.md", "mom-test-interview-script.md") so CI/policy checks pass; ensure you do not leave a duplicate in docs/projects and update any internal links or TOC entries to point to the new location.
3-172:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftDocumentation style gates are not met (symbolic vocabulary + 80-char lines).
Multiple lines exceed 80 chars, and the required symbolic vocabulary convention
(→, ∵, ∴, ⊕, ⊖, Δ, ≈, ≠, ∈, ∅, ✓, ✗) is not being applied across the doc.As per coding guidelines: “
**/*.md: Use symbolic vocabulary in documentation:
→ … ✓ … ✗” and “Each line in documentation: max 80 characters”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/50-59-execution/sprint-1/artifact-specs.md` around lines 3 - 172, The markdown violates project doc style: many lines exceed 80 characters and the required symbolic vocabulary (→, ∵, ∴, ⊕, ⊖, Δ, ≈, ≠, ∈, ∅, ✓, ✗) is not applied; fix by rewrapping all paragraphs and list items in docs/projects/2605-tech-for-non-technical-founders/50-59-execution/sprint-1/artifact-specs.md to a max of 80 characters per line and insert the mandated symbols where the guidelines expect directional/rule/checkbox semantics (use → for routing/flow, ✓/✗ for pass/fail, and other symbols from the set for annotated bullets), update the three artifact sections (Artifact 1: self-assessment worksheet, Artifact 2: outreach-sequence-template, Artifact 3: mom-test-interview-script) to use those symbols consistently (e.g., routing lines in the 10-question table use →, good/bad pairs use ✓/✗), and run the repo markdown linter/formatter to verify 80-char wrap and symbol usage before committing.docs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.md (2)
3-128:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftRepository Markdown conventions are not satisfied (symbols and line width).
The file does not apply the required symbolic vocabulary style and includes many
lines above 80 characters.As per coding guidelines: “
**/*.md: Use symbolic vocabulary in documentation:
→ … ✓ … ✗” and “Each line in documentation: max 80 characters”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.md` around lines 3 - 128, The document GOAL-AT-A-GLANCE.md violates the repository Markdown conventions: it must use the mandated symbolic vocabulary (e.g., the approved tokens like → … ✓ … ✗) and wrap all lines to a max of 80 characters; update the whole file to replace long inline phrases (examples: the "Course promise", "JT positioning", "Engineered for viral sharing", and long metric table cells) with the symbolic vocabulary where appropriate and reflow every paragraph, table cell, and header to <=80 columns without changing content intent or headings (keep headings like "THE GOAL", "KEY METRICS DASHBOARD", "THE 8 MODULES", and "DELIVERY PRINCIPLES"); run the repo's Markdown linter/formatter after changes to ensure compliance.
1-128:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftNew docs file is created outside the allowed docs directory.
This new Markdown file is under
docs/projects/, but new docs files must be
added only underdocs/workflows/.As per coding guidelines: “New documentation files allowed ONLY under
docs/workflows/directory; for all other documentation needs, edit existing
files”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.md` around lines 1 - 128, The new docs file "GOAL-AT-A-GLANCE.md" was created under docs/projects/ which violates the rule that new documentation must be added only under docs/workflows/; fix by either moving the file into docs/workflows/ (preserve filename and front-matter) and updating any internal links/reference to point to the new path, or fold its contents into the appropriate existing workflows doc (per the guideline) and remove the new file; ensure the commit updates any navigation/index references (PROJECT-INDEX or related links) so no broken links remain.docs/projects/2605-tech-for-non-technical-founders/50-59-execution/SPRINT-RUNBOOK.md (2)
1-320:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftNew docs file is added in a disallowed directory.
This is a new
docs/**/*.mdfile underdocs/projects/, but new docs files are
restricted todocs/workflows/.As per coding guidelines: “New documentation files allowed ONLY under
docs/workflows/directory; for all other documentation needs, edit existing
files”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/50-59-execution/SPRINT-RUNBOOK.md` around lines 1 - 320, The new file docs/projects/2605-tech-for-non-technical-founders/50-59-execution/SPRINT-RUNBOOK.md violates the rule that new documentation files must be created only under docs/workflows/; remove or relocate this new file and instead place its contents into an existing allowed docs/workflows/ file (or create a new file under docs/workflows/ if a dedicated runbook is required), preserving the runbook content (headers like "Sprint Runbook - 2605 Course Execution" and sections such as "Sprint 1 task briefs" and "Post-return review") and updating any internal links or references (e.g., artifact paths and TASK-TRACKER pointers) so they point to the new allowed location; commit the change and ensure no other new docs/* files outside docs/workflows/ remain in the diff.
10-320:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftDoc formatting policy is broadly violated (symbols + line length).
The document does not consistently use the required symbolic vocabulary and
contains many lines longer than 80 characters.As per coding guidelines: “
**/*.md: Use symbolic vocabulary in documentation:
→ … ✓ … ✗” and “Each line in documentation: max 80 characters”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/50-59-execution/SPRINT-RUNBOOK.md` around lines 10 - 320, Summary: the markdown violates the documentation formatting policy by using inconsistent symbolic vocabulary and many lines exceeding 80 characters. Fix: update this runbook to use the required symbolic vocabulary consistently (e.g., replace/normalize icons and tokens in headings like "🚀 How to use this runbook", "📜 Canonical writer brief template", "## 🔎 Post-return review checklist", "## 🔁 After Sprint 1 closes", "## 🛑 Stop conditions" to the project's canonical symbols) and reflow all paragraphs and diff blocks to a hard 80-character wrap (no lines >80 chars); ensure bullets, checklists, and rule blocks (e.g., "RULES", "DELIVERABLES", the grep mechanical gates block, and the Hook-bank diversity rule) follow the symbol and line-length policy; scan the entire file for stray emoji/symbol variants and long lines and correct them so every line <=80 chars and symbolic vocabulary matches the project's documented set.docs/projects/2605-tech-for-non-technical-founders/10-19-research/10.02-curriculum-sequence-synthesis.md (2)
1-258:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftDocumentation style constraints are not met across this file.
The required symbolic vocabulary convention is not used consistently, and many
lines exceed the 80-character limit.As per coding guidelines: “
**/*.md: Use symbolic vocabulary in documentation:
→ … ✓ … ✗” and “Each line in documentation: max 80 characters”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/10-19-research/10.02-curriculum-sequence-synthesis.md` around lines 1 - 258, This document violates the docs style: it must use the required symbolic vocabulary (e.g. → … ✓ … ✗) consistently and wrap all lines to a maximum of 80 characters; fix by editing this markdown to (1) replace or annotate list headers, callouts and decision-tree markers with the symbolic vocabulary everywhere (search for headings like "The 2026 founder's decision tree", "Pillar 1 - Self-Serve First", "Stage 1:", and post slugs such as `agency-ai-five-questions.md`, `friday-demo-template.md` to locate sections), (2) hard-wrap/reflow paragraphs, tables and code-block-free text to ≤80 columns without changing meaning, and (3) run the project markdown linter/style-check to ensure the symbolic markers and 80-char rule are satisfied before committing.
1-258:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftNew documentation file path is non-compliant.
This new file is under
docs/projects/, while newdocs/**/*.mdfiles are
allowed only underdocs/workflows/.As per coding guidelines: “New documentation files allowed ONLY under
docs/workflows/directory; for all other documentation needs, edit existing
files”.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/projects/2605-tech-for-non-technical-founders/10-19-research/10.02-curriculum-sequence-synthesis.md` around lines 1 - 258, The new documentation file "10.02-curriculum-sequence-synthesis.md" violates the repo rule that new docs must be created only under the workflows docs area; fix by either moving this markdown into the approved workflows docs location or folding its content into an existing documentation file that already lives in the workflows area, update any table-of-contents or landing-page references to point to the new location, and ensure the document's top heading ("Curriculum Sequence Synthesis - The 2026 Non-Tech Founder's Decision Tree") is preserved so reviewers can find it during validation.
🧹 Nitpick comments (6)
content/blog/reading-sow-clause-by-clause/index.md (1)
45-45: 💤 Low valueConsider US spelling: "blank check" instead of "blank cheque".
The post uses "blank cheque" (British spelling). For consistency with US-oriented founder audience, consider "blank check" (US spelling).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/blog/reading-sow-clause-by-clause/index.md` at line 45, Change the British spelling "blank cheque" to the US spelling "blank check" in the sentence describing agency-favoring scope language (the sentence quoting "scope to be defined sprint by sprint with Client's product owner" / "agile discovery throughout"); also scan the same file for any other occurrences of "cheque" and update them for US spelling to keep the post consistent for a US-oriented audience.content/blog/sow-reading-guide/index.md (2)
49-49: 💤 Low valueConsider US spelling for consistency.
LanguageTool flagged British spellings:
- Line 49: "cheque" → US: "check"
- Line 141: "afterwards" → US: "afterward"
The repo targets US-based founders (ICP-E per
90.10-icp-primary-website-target.md). For consistency with other posts, consider US spelling unless international audience is explicitly intended for this template.Also applies to: 141-141
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/blog/sow-reading-guide/index.md` at line 49, The post uses British spellings; update the two flagged words in the markdown: replace "cheque" with US spelling "check" in the sentence containing "Scope to be defined sprint by sprint", and replace "afterwards" with "afterward" where that word appears; ensure only those two occurrences are changed so the rest of the template remains intact.
35-35: 💤 Low valueVerify client story attribution.
The opening story is specific ("$78K," "four of five milestones," "three months in," "runway compressed from twelve months to seven") but lacks the typical JT practitioner markers. Per the voice guide's "practitioner test": "replace generalized scenarios with specific incidents (name the client, version, timeline, exact failure)."
If this is a real Q1 2026 client: add one more grounding detail (industry, month, or technical stack). If it's composite/illustrative: add a brief marker.
Based on learnings: Voice guide's "practitioner test" requires specific incidents with client type, timeline, and exact failure.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/blog/sow-reading-guide/index.md` at line 35, The opening anecdote "A SaaS founder we picked up in late Q1 2026..." is specific but lacks attribution; either confirm this is a real client and append one grounding detail (e.g., industry, month, or tech stack) to the same sentence, or mark it explicitly as composite/illustrative (e.g., add "(composite example)") so readers know it’s not identifying; update the phrase about "$78K" / "four of five milestones" / "three months in" accordingly to reflect the chosen attribution approach.content/blog/find-10-people-with-problem-outreach-2026/index.md (1)
33-33: ⚡ Quick winVerify the anecdote specificity or add attribution.
The opening story ("A consumer-app founder we spoke with last month...60 polite DMs...booked 3 calls...") reads specific but lacks the typical JT practitioner attribution (client type, timeline, exact failure mechanic). Per the voice guide's "practitioner test," specific incidents should name the client type, version, timeline, and exact failure - or be marked as composite/illustrative.
If this is a real client story: add one more concrete detail (industry vertical, month, or tool used). If it's a composite: add a brief note that it's illustrative of a common pattern.
Based on learnings: Voice guide requires "specific incidents (name the client, version, timeline, exact failure)" and rejects "timeline fabrication."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/blog/find-10-people-with-problem-outreach-2026/index.md` at line 33, The anecdote "A consumer-app founder we spoke with last month..." is too specific without attribution; either add one concrete, verifiable detail (e.g., vertical or month, or the messaging tool used) to make it a real-client example, or mark the sentence as illustrative/composite; update the opening line (the quoted sentence) accordingly so it includes the added detail (e.g., "a consumer-app founder in fintech, in March 2026, who sent 60 LinkedIn DMs...") or append "(illustrative composite)" to the sentence to satisfy the practitioner test.content/blog/self-serve-stack-walkthrough/index.md (1)
34-34: 💤 Low valueVerify the opening anecdote attribution.
The opening story ("A two-person co-founder team we spoke with last month spent eleven weeks on Lovable...") follows the same pattern as other posts - specific timeline and numbers but lacks the typical JT practitioner markers (industry, technical stack, or month).
Per the voice guide's "practitioner test": add one concrete grounding detail if this is a real client, or mark as illustrative if composite.
Based on learnings: Voice guide requires "specific incidents (name the client, version, timeline, exact failure)."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/blog/self-serve-stack-walkthrough/index.md` at line 34, The opening anecdote ("A two-person co-founder team we spoke with last month spent eleven weeks on Lovable...") lacks practitioner grounding; either add one concrete grounding detail (e.g., industry, month, or tech stack) to the sentence to show it's a real client — for example append "in June, building a marketplace MVP for creators" — or explicitly mark the story as illustrative/composite (e.g., change the lead to "Illustrative example: a two-person...") so it meets the practitioner test; update that single opening line accordingly and keep the rest of the paragraph unchanged.content/blog/outreach-sequence-template/index.md (1)
1-215: 💤 Low valueConsider adding one more internal JT blog link to meet the 4+ guideline.
This post currently has 3 internal JT blog links (lines 25, 204, 214). The mechanical audit checklist specifies 4+ internal blog links woven into prose. Consider adding one more relevant internal link (e.g., to a validation-related post, founder journey post, or ICP-related content).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@content/blog/outreach-sequence-template/index.md` around lines 1 - 215, Add a fourth internal JetThoughts blog link by turning the "Mom Test interview script (Module 1.2)" mention in the "What to do after" section into an internal link to the JT Module 1.2 post (or another relevant JT validation/ICP post); locate the phrase "Mom Test interview script (Module 1.2)" and replace it with a markdown link to the appropriate internal slug so the post meets the 4+ internal link guideline.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 612a7480-da6e-48ed-a22c-c95acd5862c2
⛔ Files ignored due to path filters (25)
content/blog/course-map-self-assessment-non-technical-founder-2026/founder-os-stack.svgis excluded by!**/*.svgcontent/blog/course-map-self-assessment-non-technical-founder-2026/module-map.svgis excluded by!**/*.svgcontent/blog/engineering-org-chart-non-technical-founder/reviewer-attention.svgis excluded by!**/*.svgcontent/blog/engineering-org-chart-non-technical-founder/team-comparison.svgis excluded by!**/*.svgcontent/blog/find-10-people-with-problem-outreach-2026/outreach-funnel.svgis excluded by!**/*.svgcontent/blog/find-10-people-with-problem-outreach-2026/sample-email-sequence.svgis excluded by!**/*.svgcontent/blog/five-tech-words-stop-nodding-at/architecture-comparison.svgis excluded by!**/*.svgcontent/blog/five-tech-words-stop-nodding-at/jargon-translator.svgis excluded by!**/*.svgcontent/blog/fractional-cto-bridge-5-hours-week/5-jobs-fractional-cto.svgis excluded by!**/*.svgcontent/blog/fractional-cto-bridge-5-hours-week/cofounder-vs-fractional.svgis excluded by!**/*.svgcontent/blog/mom-test-ask-about-past-not-future/good-vs-bad-answers.svgis excluded by!**/*.svgcontent/blog/mom-test-ask-about-past-not-future/mom-test-script.svgis excluded by!**/*.svgcontent/blog/one-page-product-brief-vibe-prd/good-vs-bad-prd.svgis excluded by!**/*.svgcontent/blog/one-page-product-brief-vibe-prd/vibe-prd-template-visual.svgis excluded by!**/*.svgcontent/blog/reading-sow-clause-by-clause/cover.pngis excluded by!**/*.pngcontent/blog/self-serve-mvp-stack-lovable-supabase-stripe-2026/cost-breakdown.svgis excluded by!**/*.svgcontent/blog/self-serve-mvp-stack-lovable-supabase-stripe-2026/stack-diagram.svgis excluded by!**/*.svgcontent/blog/should-you-hire-2026-decision-tree/airbnb-test.svgis excluded by!**/*.svgcontent/blog/should-you-hire-2026-decision-tree/decision-matrix.svgis excluded by!**/*.svgcontent/blog/stop-specifying-features-start-outcomes/admin-panel-spaceship.svgis excluded by!**/*.svgcontent/blog/stop-specifying-features-start-outcomes/feature-vs-outcome.svgis excluded by!**/*.svgcontent/blog/validated-problem-statement-decide-whats-next/problem-statement-template.svgis excluded by!**/*.svgcontent/blog/validated-problem-statement-decide-whats-next/score-matrix.svgis excluded by!**/*.svgcontent/blog/vibe-coding-ceiling-signals/shed-house-skyscraper.svgis excluded by!**/*.svgcontent/blog/vibe-coding-ceiling-signals/signals-scoreboard.svgis excluded by!**/*.svg
📒 Files selected for processing (47)
CLAUDE.mdcontent/blog/agency-ai-five-questions/index.mdcontent/blog/build-path-decision-worksheet/index.mdcontent/blog/course-map-self-assessment-non-technical-founder-2026/index.mdcontent/blog/engineering-org-chart-non-technical-founder/index.mdcontent/blog/find-10-people-with-problem-outreach-2026/index.mdcontent/blog/five-tech-words-stop-nodding-at/index.mdcontent/blog/fractional-cto-bridge-5-hours-week/index.mdcontent/blog/friday-demo-template/index.mdcontent/blog/mom-test-ask-about-past-not-future/index.mdcontent/blog/mom-test-interview-script/index.mdcontent/blog/one-page-product-brief-vibe-prd/index.mdcontent/blog/outreach-sequence-template/index.mdcontent/blog/ownership-checklist/index.mdcontent/blog/reading-sow-clause-by-clause/index.mdcontent/blog/salvage-vs-rebuild-decision-tree/index.mdcontent/blog/self-assessment-worksheet/index.mdcontent/blog/self-serve-mvp-stack-lovable-supabase-stripe-2026/index.mdcontent/blog/self-serve-stack-walkthrough/index.mdcontent/blog/should-you-hire-2026-decision-tree/index.mdcontent/blog/sow-reading-guide/index.mdcontent/blog/stop-specifying-features-start-outcomes/index.mdcontent/blog/tech-for-non-technical-founders-2026/index.mdcontent/blog/three-questions-turn-standup-into-proof/index.mdcontent/blog/validated-problem-statement-decide-whats-next/index.mdcontent/blog/validated-problem-statement-template/index.mdcontent/blog/vibe-coding-ceiling-signals/index.mdcontent/blog/vibe-prd-template/index.mddocs/projects/2605-tech-for-non-technical-founders/10-19-research/10.01-course-program-landscape.mddocs/projects/2605-tech-for-non-technical-founders/10-19-research/10.02-curriculum-sequence-synthesis.mddocs/projects/2605-tech-for-non-technical-founders/10-19-research/10.03-2026-ecosystem-research-ru-source.mddocs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.01-course-modules.mddocs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.02-positioning-vs-courses.mddocs/projects/2605-tech-for-non-technical-founders/20-29-strategy/20.07-content-plan-tnt-founders-2026.mddocs/projects/2605-tech-for-non-technical-founders/50-59-execution/SPRINT-RUNBOOK.mddocs/projects/2605-tech-for-non-technical-founders/50-59-execution/distribution-prep.mddocs/projects/2605-tech-for-non-technical-founders/50-59-execution/mechanical-audit-checklist.mddocs/projects/2605-tech-for-non-technical-founders/50-59-execution/sprint-1/artifact-specs.mddocs/projects/2605-tech-for-non-technical-founders/50-59-execution/sprint-1/cover-image-specs.mddocs/projects/2605-tech-for-non-technical-founders/GOAL-AT-A-GLANCE.mddocs/projects/2605-tech-for-non-technical-founders/PROJECT-INDEX.mddocs/projects/2605-tech-for-non-technical-founders/TASK-TRACKER.mddocs/workflows/linkedin-post-pipeline.mdlinkedin-posts/icp-validation/backlog-vibe-coding-disposable.mdlinkedin-posts/icp-validation/week1-mon-jira-not-progress.mdlinkedin-posts/icp-validation/week1-tue-staging-question.mdlinkedin-posts/icp-validation/week1-wed-trust-signals-poll.md
| --- | ||
| title: "Build Path Decision Worksheet" | ||
| description: "5 questions that route a non-technical founder to one of 4 build paths. 30-minute decision, defensible to investors." | ||
| date: 2026-08-12 |
There was a problem hiding this comment.
Publish date is in the future and may block visibility.
date: 2026-08-12 is after May 13, 2026. This can keep the post out of production unless future content is explicitly enabled.
As per coding guidelines, "Build must not break: validate all content changes via bin/hugo-build with zero tolerance for build failures."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/build-path-decision-worksheet/index.md` at line 4, The post's
front-matter contains a future publish date (`date: 2026-08-12`) which may
prevent it from appearing in production; update the front-matter `date` value to
today's or a past date (or change to `draft: true` if you intend to keep it
unpublished), save the `index.md` change, and run `bin/hugo-build` to validate
the site builds with zero errors before committing.
| A wellness-coaching founder we picked up in Q1 2026 had spent four months building a Lovable MVP, then panicked and signed a $24K-per-month agency contract because three advisors told her "you need a real team now." Two of the advisors had never seen her validation data. The third had not asked. She showed us the contract on a Tuesday. By Friday we had walked her through the same 5 questions on this worksheet and the matrix said Path 3 (Fractional CTO at $2,400/mo, 8 hours/week), not Path 4 (the agency at $24K/mo). She paid the agency a kill fee and saved 14 months of runway. The decision was already in the data she had. The advisors had not run the worksheet. Cheaper to spend 30 minutes with this page than to spend a quarter undoing a contract somebody else's instinct signed for you. | ||
|
|
||
| ## How to use this | ||
|
|
||
| Friday afternoon, alone, 30 minutes, before coffee runs out. Bring three documents: your filled-in [Validated Problem Statement](/blog/validated-problem-statement-template/) from Module 1.3, your filled-in [Vibe PRD](/blog/vibe-prd-template/) from Module 2.2, and a current bank statement showing months of runway. Pen on paper. Phone in another room. | ||
|
|
||
| Answer the five questions in order. Each one is factual, not aspirational. "Number of paying pre-orders" is a count from your Stripe dashboard, not a vibe. "Months of runway" is cash on hand divided by monthly burn, not a guess. The matrix at the bottom routes you to Path 1, 2, 3, or 4 based on the five answers. | ||
|
|
||
| If you spill past 30 minutes, you are negotiating with yourself. Stop, write the verdict the data supports, take it to one peer or advisor for a 20-minute call, and move on. | ||
|
|
||
| Total time budget: 30 minutes alone, 20 minutes with one peer, 0 minutes second-guessing. Tomorrow you start the path the worksheet picked. | ||
|
|
||
| ## The 5 questions - check the box that matches | ||
|
|
||
| ``` | ||
| =========== BUILD PATH DECISION WORKSHEET =========== | ||
|
|
||
| Founder: _________________ Date: ____________________ | ||
|
|
||
| Vibe PRD signed by 2 advisors on: ____________________ | ||
|
|
||
| Months of runway in the bank: ________________________ | ||
|
|
||
| ------------------------------------------------------ | ||
| Q1. Is the problem validated? |
There was a problem hiding this comment.
Unsupported factual claims need citations.
This section includes concrete financial/timeline claims but no sources. Please add citations where assertions are made.
As per coding guidelines, "All assertions in blog posts must have citations; reject all unsupported claims with zero tolerance."
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 47-47: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/build-path-decision-worksheet/index.md` around lines 33 - 57,
The post contains unsupported factual claims (e.g., "A wellness-coaching founder
we picked up in Q1 2026", "$24K-per-month agency contract", "Path 3 (Fractional
CTO at $2,400/mo, 8 hours/week)", "saved 14 months of runway", and time-budget
claims like "30 minutes" and "Total time budget: 30 minutes alone, 20 minutes
with one peer") that need citations; update the "A wellness-coaching founder..."
anecdote and all concrete numeric/timeline assertions in this file (the opening
anecdote and the "How to use this" / "Total time budget" sections) to include
inline citations or footnotes pointing to verifiable sources (an anonymized case
study, client consented contract/correspondence, internal metrics, or relevant
external research) and add a brief source note after each claim so readers can
verify the data.
|
|
||
| ## Why this matters more in 2026 | ||
|
|
||
| The vibe-coding wave made the org chart even fuzzier. Agencies that pitch "AI-augmented teams" route work through three layers: a senior who runs the demo, a mid-level who prompts Cursor or Claude Code, and a junior who reviews whatever falls out. The labor cost dropped; the bill rate did not. [TechTIQ Solutions' 2026 staff augmentation report](https://techtiqsolutions.com/it-staff-augmentation-cost-breakdown-and-pricing-models/) flags that hidden costs add 15-30% on top of base rates, with 10-18% already going to vendor margin. The shops we rescue in 2026 are charging the same and paying less, with the gap going to subcontracted juniors and AI tooling the founder never approved as a line item. |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify TechTIQ Solutions URL and cited statistics
echo "=== Checking TechTIQ Solutions URL ==="
curl -s -o /dev/null -w "HTTP Status: %{http_code}\n" "https://techtiqsolutions.com/it-staff-augmentation-cost-breakdown-and-pricing-models/"
echo -e "\n=== Searching for the cited margin statistics ==="
curl -s "https://techtiqsolutions.com/it-staff-augmentation-cost-breakdown-and-pricing-models/" | grep -i "15-30%\|10-18%\|margin" | head -3Repository: jetthoughts/jetthoughts.github.io
Length of output: 12554
Remove or replace unsupported citation: TechTIQ Solutions 2026 staff augmentation report.
The post attributes specific statistics to "TechTIQ Solutions' 2026 staff augmentation report" — "hidden costs add 15-30% on top of base rates, with 10-18% already going to vendor margin." While the URL is accessible (HTTP 200), the cited statistics (15-30%, 10-18%) cannot be located in the page content. Per coding guidelines, all assertions must have citations with zero tolerance for unsupported claims. Either locate the exact source of these percentages within that page or replace the citation with a verifiable source before publishing.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/engineering-org-chart-non-technical-founder/index.md` at line
39, The paragraph cites "TechTIQ Solutions' 2026 staff augmentation report" with
specific percentages (15-30%, 10-18%) that aren't present on the linked page;
either locate and replace the sentence with the exact text/section from that
page that contains those percentages, or remove the unsupported percentages and
rephrase (e.g., cite the report generically or use verified figures from another
credible source). Update the sentence referencing the URL
(https://techtiqsolutions.com/it-staff-augmentation-cost-breakdown-and-pricing-models/)
and the numeric claims so the citation matches the claim exactly, or swap in a
verifiable citation that contains those exact numbers before publishing.
|
|
||
| ## Why this matters in 2026 | ||
|
|
||
| A Y Combinator manifesto says you can validate a startup without writing a line of code. It leaves out the hard part: getting the first 10 strangers to spend 30 minutes telling you about their problem. Most non-technical founders quit here. They post once on LinkedIn, ask their network, get three polite "sounds cool" replies, and start building anyway. Then they spend $30K to $80K finding out the problem they assumed was real wasn't. The 2026 outreach stack costs $200 to $500 in tools and panels and ships you 10 honest conversations in one week. Validation isn't the bottleneck anymore. Discipline is. |
There was a problem hiding this comment.
Add citations for all factual claims and tool pricing.
The post contains multiple specific assertions that require citations per the repo's zero-tolerance policy for unsupported claims:
- Line 39: "A Y Combinator manifesto says you can validate a startup without writing a line of code" - needs a specific YC essay/library citation
- Lines 65-67: Clay and Apollo pricing claims (~$149/mo, $49-$149/mo) - need verification or dated source
- Lines 77-79: Smartlead, Instantly, and Lindy pricing - need verification
- Line 124: User Interviews pricing range ($50-$150 per interviewee) - needs citation
- Line 134: Carrd and Framer pricing - needs verification
- Line 138: "5% or higher email signup rate" - specific metric claim needs source
Additionally, Line 136 uses £ (pounds) while the rest of the post uses $ (dollars) - verify currency consistency.
As per coding guidelines: "All assertions in blog posts must have citations; reject all unsupported claims with zero tolerance."
Also applies to: 65-67, 77-79, 124-124, 134-134, 136-136, 138-138
🧰 Tools
🪛 LanguageTool
[style] ~39-~39: To strengthen your wording, consider replacing the phrasal verb “leave out”.
Context: ...rtup without writing a line of code. It leaves out the hard part: getting the first 10 str...
(OMIT_EXCLUDE)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/find-10-people-with-problem-outreach-2026/index.md` at line 39,
Update the post to add verifiable citations for every factual/pricing/assertion
called out: include a specific YC source (the "validate a startup without
writing a line of code" manifesto/essay) for the YC claim, authoritative pricing
pages or dated screenshots for Clay and Apollo (~$149/mo, $49-$149/mo),
Smartlead/Instantly/Lindy pricing references, User Interviews per-interview
pricing ($50–$150) citation, Carrd and Framer pricing pages, and a source for
the "5% or higher email signup rate" metric; also normalize currency (replace
the stray "£" at line 136 with "$" or explicitly state currency and convert
amounts) and add inline citations/footnotes next to the quoted phrases (e.g.,
the YC line, pricing mentions, and the signup rate) so every asserted number or
claim links to a reliable source.
| --- | ||
| title: "The Mom Test: Ask About the Past, Not the Future" | ||
| description: "The 5-question script that prevents your interviewees from being polite - past-behavior validation for non-technical founders in 2026." | ||
| date: 2026-07-15 |
There was a problem hiding this comment.
This publish date is future relative to current release window.
date: 2026-07-15 is after May 13, 2026, so this page may remain unpublished unless future posts are enabled.
As per coding guidelines, "Build must not break: validate all content changes via bin/hugo-build with zero tolerance for build failures."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/mom-test-ask-about-past-not-future/index.md` at line 4, The
frontmatter `date` value is in the future (date: 2026-07-15) which will prevent
the page from being published during the current release; update the `date`
field in the markdown frontmatter to a non-future date (on or before 2026-05-13)
or remove/adjust any Hugo `future`/publish settings so `bin/hugo-build` passes;
locate and edit the `date` key in the file's frontmatter to apply the change.
|
|
||
| **In Module 2 · Design the Solution**: 2.1 [Five Tech Words to Stop Nodding At](/blog/five-tech-words-stop-nodding-at/) · 2.2 [The One-Page Product Brief (Vibe PRD)](/blog/one-page-product-brief-vibe-prd/) · 2.3 **Stop Specifying Features. Specify Outcomes.** ← you are here. **Module 2 is now closed.** Graduate to Module 3 when your Section 3 rewrite is in your engineer's or your AI agent's hands. | ||
|
|
||
| The full course landing page (with all 11 artifacts) publishes after Module 5 ships. Until then, bookmark this post. |
There was a problem hiding this comment.
Landing-page timing statement conflicts with current rollout.
Line 154 says the full landing page publishes after Module 5, but this PR describes landing updates as already shipped for the self-serve path completion. Please align this sentence with the current state.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/stop-specifying-features-start-outcomes/index.md` at line 154,
The sentence "The full course landing page (with all 11 artifacts) publishes
after Module 5 ships. Until then, bookmark this post." conflicts with the PR
which indicates landing updates are already shipped for self-serve completion;
update that line in
content/blog/stop-specifying-features-start-outcomes/index.md (the paragraph at
Line 154) to reflect the current rollout state—e.g., change it to state that the
full landing page is now published for the self-serve path (or clearly specify
which path still awaits Module 5) so the timing matches the PR.
| --- | ||
| title: "Validate Your Problem: Write the One Page" | ||
| description: "After 10 Mom Test interviews, synthesize the one-page validated problem statement and decide build, pivot, or kill. Module 1.3 of the free 2026 course." | ||
| date: 2026-07-22 |
There was a problem hiding this comment.
Future date likely prevents this page from publishing now.
date: 2026-07-22 is after May 13, 2026. Unless the site enables future content, this page will stay hidden.
As per coding guidelines, "Build must not break: validate all content changes via bin/hugo-build with zero tolerance for build failures."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/validated-problem-statement-decide-whats-next/index.md` at line
4, The frontmatter contains a future date ("date: 2026-07-22") which will
prevent the page from publishing; update the `date:` value in the file so it is
not in the future (e.g., set to today's or an earlier date) or remove/adjust the
date field if your workflow expects drafts, then run `bin/hugo-build` to
validate the site builds with zero failures before pushing.
| > Pre-seed B2B SaaS founders running their own discovery do customer interviews, but 9 of 10 (per our 10-call sample, Apr-May 2026) use hypothetical-future questions and get polite-yes answers. The average interviewee currently spends 6-12 hours running interviews and learns the problem wasn't real only after their first launch flops - typical sunk cost is 6 weeks of build time plus £15-30K of contractor spend. Workarounds tried: YC Library essays (too high-level), $1,500 SurveyMonkey panel (taught one founder I spoke with nothing in the survey style), free templates downloaded but not used. Why now: AI-built MVPs accelerated this failure mode - the prototype lands in 4 days instead of 12 weeks, so the validation gap surfaces faster. Pain average 7.6/10 across 10 calls, 8 strong signals. | ||
|
|
||
| The good answer has named industry, dated sample, named workarounds with named failure modes, a quantified cost, a why-now, and a strong-signal count. A peer can argue with it. The bad answer has nothing to argue with - which is why advisors nod politely when they read it and never get to "I disagree with the pricing because of how you described their workaround." | ||
|
|
||
| **Bad cost statement:** | ||
| > The problem costs founders a lot of time and money. | ||
|
|
||
| **Good cost statement:** | ||
| > Six weeks of full-time founder work plus £15K to £30K of contractor spend per failed validation round. One founder I spoke with paid $1,500 for a SurveyMonkey panel that returned 47 responses, none of which mentioned the problem her product was solving. Another spent six weeks reading r/SaaS for free and learned more in the first three threads. | ||
|
|
||
| A good cost statement is pulled from a real transcript. The bad one is a placeholder you should have deleted. If your statement has the word "many" or "a lot," cross it out. | ||
|
|
||
| **Bad why-now:** | ||
| > The market is changing fast. | ||
|
|
||
| **Good why-now:** | ||
| > AI inference costs dropped 70% from 2024 to 2026, which makes per-document AI processing economical at a $9/month price point for the first time. Stripe's automated tax product launching in Q1 2026 shows the SMB-finance segment is being deconstructed feature by feature, but bookkeeping reconciliation is still manual at pre-seed founder budgets. | ||
|
|
There was a problem hiding this comment.
Citations are missing for concrete statistical/economic claims.
This section includes numeric claims (costs, percentages, timelines) without sources. Please add citations for each factual assertion.
As per coding guidelines, "All assertions in blog posts must have citations; reject all unsupported claims with zero tolerance."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/validated-problem-statement-decide-whats-next/index.md` around
lines 131 - 148, This section makes several concrete numeric/economic claims
(e.g., "10-call sample, Apr-May 2026", "6-12 hours", "Six weeks... £15-30K",
"pain average 7.6/10", "AI inference costs dropped 70% from 2024 to 2026",
"Stripe's automated tax product launching in Q1 2026") without sources—add
inline citations or footnotes for each such claim right after the sentence or
clause that asserts it; for interview-derived numbers cite your raw interview
notes or a summary spreadsheet, for cost ranges cite invoices/quotes or public
market data, for AI inference cost and Stripe timing cite the cloud/benchmark
report and Stripe announcement/press release, and for any survey/sample claims
cite the original dataset or a reproducible appendix; ensure every bolded
example cost/why-now sentence has a corresponding citation.
| date: 2026-07-29 | ||
| draft: false |
There was a problem hiding this comment.
Publish date is in the future while draft is false.
Line 4 sets date: 2026-07-29 (future relative to May 13, 2026), so this post can remain hidden in default Hugo publishing flows until July 29, 2026. That conflicts with the “self-serve path complete now” rollout in this PR.
Suggested fix
-date: 2026-07-29
+date: 2026-05-13
draft: false(Or keep the future date and set draft: true until release day.)
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| date: 2026-07-29 | |
| draft: false | |
| date: 2026-05-13 | |
| draft: false |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/vibe-prd-template/index.md` around lines 4 - 5, The frontmatter
has date: 2026-07-29 while draft: false, which will keep the post unpublished
until that future date; either change the date field to the intended publish
date (e.g., today's date) or set draft: true until release day so the post
remains hidden; update the values for the frontmatter keys "date" and/or "draft"
in content/blog/vibe-prd-template/index.md accordingly.
|
|
||
| ## Why this exists | ||
|
|
||
| A solo founder I spoke with last quarter had a validated problem statement and a Lovable subscription. She typed her problem statement into the Lovable prompt and asked it to "build the simplest version of this." Twelve hours later she had a working web app with a settings page, a billing dashboard, three integrations, and 17 toggles she didn't ask for. She spent the next three weeks deciding which parts to delete. When she opened a second project with a one-page Vibe PRD - the same problem, but now with a no-go list - Lovable shipped the smallest end-to-end thing in 90 minutes. The page she filled in between the two attempts was the difference. The agent fills blanks with reasonable defaults; the brief is your only way to forbid the defaults. |
There was a problem hiding this comment.
Uncited factual claims violate the blog citation gate.
Several statements are written as factual (specific founder anecdotes, interview counts, money/time impacts) without source attribution. Per project policy, these need citations or explicit framing as hypothetical examples.
As per coding guidelines: “content/blog/**/*.md: All assertions in blog posts must have citations; reject all unsupported claims with zero tolerance”.
Also applies to: 190-194, 208-210
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/blog/vibe-prd-template/index.md` at line 33, The paragraph in
content/blog/vibe-prd-template/index.md (the anecdote about a solo founder and
the Vibe PRD) contains uncited factual claims; either add verifiable citations
(links or footnotes) for the founder anecdote, timelines, and outcomes or
reframe the text explicitly as a hypothetical/example (e.g., "Imagine a
founder..." or "In one example...") so it is not presented as an asserted fact;
apply the same treatment to the other flagged spans (around lines 190-194 and
208-210) so all assertions have either a source citation or are clearly labeled
hypothetical per the blog citation rule.
|
Consolidated into #345 — single PR for the full Tech for Non-Technical Founders 2026 course (9 modules, 30 chapters, 12 artifacts, 118 files). Per the user's directive to ship the course as one reviewable diff instead of a 7-PR chain. The commits from this branch are linearly preserved on the consolidated branch |
Summary
What's new in this PR
/blog/should-you-hire-2026-decision-tree//blog/fractional-cto-bridge-5-hours-week//blog/self-serve-mvp-stack-lovable-supabase-stripe-2026//blog/vibe-coding-ceiling-signals/Plus 2 new template artifacts:
/blog/build-path-decision-worksheet/and/blog/self-serve-stack-walkthrough/.Plus landing page update: Modules 3 and 4A flipped to Complete; status now reads "the entire self-serve path is shippable end-to-end."
Doctrine compliance
Test plan
bin/hugo-buildsucceeds with master + sprint-3bin/test+bin/dtestgreen🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation