LaunchJury
LaunchJury is a CLI that reads your repo, pulls the comparable Show HN threads and how they scored, and rates your draft launch post against them before you submit it.
Product
What the agent understood from the repository.
What it does
LaunchJury takes a repo (local path or GitHub URL), reads its README/manifests/source, researches how comparable products landed on Hacker News, Reddit, Product Hunt and Indie Hackers, validates the positioning against eight launch principles, and drafts a full set of launch assets: a Show HN title/post/first comment, a Product Hunt tagline/description/maker comment, an X thread, a LinkedIn post, per-subreddit Reddit posts, and demo/launch video scripts. Seven weighted AI juror personas (HN veteran, PH coach, Reddit mod, X growth marketer, dev-tools copywriter, demo director, skeptical target user) score every asset, predict the top comment it would get, and list must-fix edits; a deterministic foreman aggregates scores and a reviser rewrites drafts until they pass (weighted average ≥7.5, no asset below 6) or the round limit (default 2) is hit. Output is a single self-contained report.html plus markdown assets and JSON artifacts per stage in out/<project>/.
How it works
A CLI (npx tsx src/cli.ts <repo>) runs an 8-stage pipeline built on the Claude Agent SDK: resolve → ingest (reads code, asks audience/goal/tone) → research (deterministic HN Algolia + Reddit prefetch, then a Sonnet agent with web-search/MCP tools extracts quotes/objections/competitors) → validate (Opus scores 8 weighted positioning principles) → distribute (Sonnet ranks channels/timing/sequence) → draft (Opus writes all assets in parallel) → jury (7 parallel Sonnet/Opus personas score + a pure-TypeScript foreman aggregates + reviser loop, up to N rounds) → report (renders static HTML/markdown, no external requests). Each LLM stage is a single query() call with a zod-validated JSON-schema output, and every stage's artifact is written to disk so runs can be resumed with --from <stage>. Supports --mock/--mock-research for offline demo, --budget to cap spend (real runs cost ~$2-4).
| Audience | A solo indie hacker or side-project developer who just finished building something and has never written a Show HN post or Product Hunt launch |
|---|---|
| Category | CLI dev tool · TypeScript |
| License | MIT |
| Install | npx tsx src/cli.ts ./my-project |
| Repo | — |
| Tone | technical-plain |
Key features
- Reads a repo's code/README to understand the actual product before drafting anything
- Deterministic prefetch of real Hacker News and Reddit data plus an AI research analyst that cites quotes and URLs
- Eight-principle validation scorecard (clarity, audience, differentiation, why-now, proof, objections, credibility, ask/friction)
- Seven weighted AI juror personas that score drafts, predict the audience's top comment, and demand must-fix edits
- Deterministic, unit-tested foreman that aggregates jury scores and gates pass/fail reproducibly
- Automatic revision loop (reviser + re-jury) until assets pass or rounds run out
- Full asset set: Show HN, Product Hunt, X thread, LinkedIn, per-subreddit Reddit posts, demo video script, launch video script
- Ranked distribution plan with best channels, timing, tags, and a day-by-day launch sequence
- Single self-contained report.html with copy buttons, plus per-stage JSON artifacts for resumable runs
- Mock/offline replay mode and a configurable spend budget
Open questions
- Is this meant to become a hosted/SaaS product or stay a local CLI/OSS tool for Claude Day specifically?
- Does research quality depend heavily on Reddit/HN API rate limits or keys not shown in the reviewed files?
- How is the GitHub-URL ingestion path (vs local path) implemented — does it clone or use API access?
- What happens to cost/quality if a user lacks a Claude subscription and relies solely on ANTHROPIC_API_KEY spend?
Validation scorecard
Scored against eight launch principles, weighted. Verdict: needs-work · 5.1/10
| Principle | Score | Why | |
|---|---|---|---|
| One-liner clarity Can a stranger restate what it does and for whom after one sentence? |
5 | "Generates and scores launch assets for indie developers releasing a side project" has a clean noun+verb and a named audience, so a stranger can restate it. The problem is that what they restate is the exact sentence that has failed seven times in the research set. "Launch assets" is a marketing abstraction, not a thing a developer can picture, and "generates" puts you in the prompt-to-copy generator bucket before anyone reads the second sentence. The scoring/jury half — the only part that is actually unclaimed territory — is buried behind the generation half. CoLaunchly's "marketing co-pilot for devs who hate marketing" is structurally the same sentence and got 1 point, 0 comments, and a dead domain.Fix & evidenceFix: Lead with the verifiable, unusual mechanic instead of the output: "Reads your repo, pulls the comparable Show HNs that actually got traction, and scores your draft post against them before you submit." Drop the words generate, assets, and launch copy from the first sentence entirely. “Generates and scores launch assets for indie developers releasing a side project.”repo ↗ “Show HN: CoLaunchly – A marketing co-pilot for devs who hate marketing”hn ↗ “Show HN: DepsGuard – One command to harden NPM/pnpm/yarn/bun/uv configs”hn ↗ | |
| Audience specificity Is the target user a person you could DM, not 'developers'? |
7 | "A solo indie hacker who just finished building something and has never written a Show HN post" is a person you could DM, and it names the exact moment of pain — the gap between last commit and first post. That is well above the "developers" baseline. It stops short of 9 because there is no stack or artifact anchor (TypeScript repo with a README? A CLI? A weekend web app?), and because the stated audience is the segment least able to judge whether the output is good — which weakens the value claim even as it sharpens the persona.Fix & evidenceFix: Anchor the persona to an artifact and a deadline: "You have a public GitHub repo with a README, you're planning to post it Tuesday morning, and you've never written a Show HN." That single sentence makes the tool's input requirement and the trigger moment concrete. “A solo indie hacker or side-project developer who just finished building something and has never written a Show HN post or Product Hunt launch”repo ↗ | |
| Differentiation vs. found competitors Against the adjacent products found in research, what is the one thing only this does or does 10x better? |
6 | The research independently confirms three genuinely unclaimed axes: nobody grounds generation in scraped comparable launches with URLs, nobody runs a multi-persona weighted jury with a deterministic gate, nobody ships a multi-channel kit in one run. That is real, and the deterministic unit-tested foreman is the kind of detail HN respects. But differentiation is scored on what the pitch communicates, not what the code does — and the current framing names no competitor, cites no thread, and leads with the one attribute (generation) that is indistinguishable from PitchGrub, founderpal, and CoLaunchly. Ten features listed flat is not a sharp axis; it reads as scope, and scope reads as LLM-wrapper.Fix & evidenceFix: Name the failure mode explicitly in the post: "Every pitch generator I found writes copy from a prompt with no idea how comparable posts actually did. This one starts by pulling the real threads — here are the seven it pulled for itself, with scores and URLs." Then show the research artifact from LaunchJury's own run as the proof. “No competitor in this dataset does a real research step (scraping/citing actual comparable HN/PH/Reddit launches with URLs) before generating copy — every rival found is a blind prompt-to-copy generator.”web ↗ “Consistently 1-4 points, 0-1 comments across a decade of attempts (2014-2025). Pure LLM-wrapper generators for founder-facing copy are structurally ignored by HN regardless of era or exact niche.”hn ↗ | |
| Why now What changed (tech, platform, price, regulation) that makes this possible or urgent today? |
3 | There is no why-now anywhere in the brief. Nothing stated explains why this couldn't have been built in 2021 — and "AI got good" is the generic 4-6 answer, not a 7. This is the weakest scored dimension relative to how easy it is to fix, because two real why-nows are sitting in the research and both are unused: Show HN volume went from 17,661 posts in 2024 to over 448,000 in the past year, which turns "write a decent post" from a nice-to-have into a triage problem; and running seven scoring personas in parallel over a repo for $2-4 is a 2026 price point, not a 2021 one.Fix & evidenceFix: Add one sentence with the number in it: "Show HN went from ~17k posts a year to ~448k. The post is now the bottleneck, not the build — and running seven reviewer passes over your repo costs about $3." “In 2024, there were 17,661 Show HN posts. In the past year, there have been over 448,000 Show HN posts!”hn ↗ “real runs cost ~$2-4”repo ↗ | |
| Proof and demo-ability Can the core value be shown in a 10-second clip or a copy-pasteable command? |
6 | There is a real artifact — a self-contained report.html with scores, predicted top comments, and cited URLs — and that is genuinely screenshot-able in a way a tagline generator is not. The mock mode gives a zero-cost path to see it. But the demo does not speak for itself yet: "npx tsx src/cli.ts ./my-project" presumes the user already cloned the repo, the run is multi-minute and multi-stage, and the headline output is more text, which is the least persuasive possible payload for an audience that is tired of generated text. The most persuasive proof available — running LaunchJury on LaunchJury and publishing the verdict — is described nowhere.Fix & evidenceFix: Ship the dogfood artifact as the demo: publish the report.html LaunchJury generated about itself, including the scores where it failed, and link it in the first line of the post. A tool that shows its own 5/10 is the one screenshot no competitor in this set can copy. “Output is a single self-contained report.html plus markdown assets and JSON artifacts per stage in out/<project>/.”repo ↗ “Extremely concrete, visually verifiable technical feat stated in one sentence — no adjectives, no marketing framing”hn ↗ | |
| Objection coverage Are the top 3 objections seen in research on similar launches pre-empted? |
3 | The research names four recurring objections and the brief pre-empts none of them in any customer-facing text. The most dangerous one is structural: HN is in an active backlash against AI-generated posts, and this is an AI post generator, so the launch post itself is the proof-of-concept and will be read as such by a hostile audience. The second — that this category is reliably ignored — is not acknowledged. The third, karma and self-promo history, is an account-level problem that no feature fixes. The brief's own open questions (hosted vs OSS? GitHub ingestion path? cost without a subscription?) are also unanswered, and each is a predictable top comment.Fix & evidenceFix: Put the objection in the title's shadow and answer it in the first comment: "Yes, this writes Show HN posts, and yes, HN is drowning in AI posts. I wrote this post by hand after LaunchJury scored my draft a 5 and told me why. Here's the diff between what it generated and what I posted." That single move converts the biggest liability into the most interesting thing about the launch. “most of these posts are AI generated”hn ↗ “I often click on the submitter's profile and if I see very low karma, or karma only related to their own submissions, then it makes me think that they're only on HN to promote themselves.”hn ↗ “Imagine a friend that you're meeting up with for drinks, who has no idea what you've been working on, but is smart, curious, and asks good questions.”indiehackers ↗ | |
| Credibility signals License, maintenance, author, benchmarks, who already uses it? |
4 | One clear verifiable signal: MIT license. A second, weaker one: a deterministic, unit-tested foreman, which is a credible engineering detail if the tests are visible. Everything else is missing — the repo URL field is literally empty in the brief, there is no named author, no users, no example runs, and critically no evidence that any post this tool produced ever performed well. For a product whose entire claim is "I can predict how your launch will land," the absence of a single scored prediction checked against a real outcome is the credibility gap that a skeptical HN reader will find in about ninety seconds.Fix & evidenceFix: Backtest and publish it: run the jury against 10-20 of the historical Show HNs already in the research set (Doom-in-QR 531, Runway 93, DepsGuard 40, CoLaunchly 1) and show the correlation between predicted score and actual points — including the misses. That is the one credibility signal nobody else in this category has ever attempted. “Category: CLI dev tool · Language: TypeScript · License: MIT / Repo: (empty)”repo ↗ “We started with some napkin math, graduated to a complicated spreadsheet, and then tried to distill that into this rough calculator”hn ↗ | |
| Ask and friction Is it obvious what the reader should do next, and can they do it in under 2 minutes? |
6 | There is a single command, no signup, no hosted account, and a --mock path that costs nothing — all genuinely good. It falls short of the 7-10 band on friction arithmetic, not intent: "npx tsx src/cli.ts ./my-project" is not a standalone npx invocation, it requires having cloned the repo and installed deps, and a real run needs an ANTHROPIC_API_KEY plus $2-4 plus several minutes across eight stages before the reader sees anything. That is meaningfully more than two minutes to first value.Fix & evidenceFix: Make the zero-cost path the published CTA and make it a true one-liner: publish to npm so the command is `npx launchjury ./my-project --mock`, and state the real-run cost and runtime in the same breath ("real run: ~$3, ~4 min, needs ANTHROPIC_API_KEY"). “npx tsx src/cli.ts ./my-project”repo ↗ “Supports --mock/--mock-research for offline demo, --budget to cap spend (real runs cost ~$2-4).”repo ↗ |
Predicted launch-day reaction
The indie hacker you're aiming at will nod at the problem — they genuinely don't know how to write a Show HN post, and the Indie Hackers threads prove they keep asking. But on launch day they won't be the ones setting the tone: HN regulars will see "generates launch copy with AI" and pattern-match it to the pitch-generator graveyard within seconds, and at least one top comment will be some version of "did the tool write this post?" If you don't answer that in the post itself, the thread dies at 3 points with one snarky reply and your actual audience never sees it; if you open with your own scored report card, the dogfooding angle is interesting enough that the same crowd will stay and argue about whether the jury's predictions hold up.
Top risks
- Category contamination: seven adjacent products in the research (CoLaunchly, PitchGrub, founderpal, PH tagline generators) landed at 1-4 points with near-zero comments. The default reading of your one-liner is 'another one of those,' and you get about one sentence to break it.
- The recursion trap: you are launching an AI post generator into an audience actively hostile to AI-generated posts. If your Show HN reads polished, it's slop; if it reads hand-written, readers will ask why you didn't use your own tool. Only an explicit 'here's what it generated, here's what I changed, here's why' defuses both.
- Zero outcome evidence: nothing shows a LaunchJury-scored post ever performed. Without a backtest against known threads, the jury is an unfalsifiable vibe check wearing a unit test.
- Account risk, not product risk: HN buries low-karma self-promoters regardless of quality. If the submitting account has no comment history, the best post in this analysis still goes nowhere.
- Scope-as-weakness: ten features and seven personas read as LLM-wrapper breadth to the exact audience that rewards DepsGuard-style narrowness. Consider leading with Show HN only and mentioning the rest as 'also does X'.
- Unresolved product identity: the open question of hosted SaaS vs local OSS will surface as 'what's the catch / when does this get a pricing page' in the thread. Decide and state it in the post.
What the market is saying
This exact category — AI generators that produce launch/marketing copy for founders — has a near-perfect track record of dying quietly on Hacker News: pitch generators, PH tagline tools, and social-copy generators all land at 1-4 points with 0-1 comments, and the closest direct analog, "CoLaunchly – a marketing co-pilot for devs who hate marketing," got 1 point, 0 comments, and its domain has since expired into a spam redirect. What does work on HN in this space is either (a) a narrowly-scoped, technically concrete CLI dev tool whose maker responds fast and personally to every comment (DepsGuard, Runway), or (b) a generator that's honestly a joke/cultural artifact rather than a serious marketing tool (Acquisition Blog Post Generator). Compounding the risk, HN is in an active, vocal backlash against AI-generated Show HN posts and comments right now, so LaunchJury's own launch post must not read as AI-written even though the product is an AI generator — this tension is unaddressed by any competitor found. On the upside, nobody in this data set actually grounds their copy generation in real comparable-launch research, scores drafts with a reproducible multi-persona jury, or ships a full multi-channel kit in one run — these are genuinely open claims LaunchJury can make, provided the launch post itself demonstrates (not just claims) peer-to-peer, non-marketing, technically concrete writing.
Similar launches
| Product | Platform | Reception | Claim | Takeaway |
|---|---|---|---|---|
| Product Hunt Launch Copywriting Generator | hn | unknown | Generates PH tagline/description copy | 4 points, 1 throwaway comment ('Great to know!'). Single-purpose PH-only copy generators barely register on HN — no substantive discussion at all. |
| CoLaunchly – marketing co-pilot for devs who hate marketing | hn | negative | AI marketing co-pilot for developer side projects | Almost identical positioning to LaunchJury ('for devs who hate marketing'). Got 1 point, 0 comments, and the product's own domain (colaunchly.io) now 301-redirects to an unrelated spam site — a direct cautionary tale that this exact pitch alone doesn't earn attention or survive. |
| AI elevator pitch / pitch deck generators (PitchGrub, founderpal, FastPitchDeck, GPT-3 pitch generator) | hn | negative | Generate founder pitches/decks from a prompt | Consistently 1-4 points, 0-1 comments across a decade of attempts (2014-2025). Pure LLM-wrapper generators for founder-facing copy are structurally ignored by HN regardless of era or exact niche. |
| Social copy generators (LinkedIn/TikTok/Instagram Post Generators, Crafto) | hn | negative | Generate social media posts/carousels from a prompt | 2-4 points each, near-zero discussion. HN treats generic 'AI writes your social post' tools as spam-adjacent no matter which platform they target. |
| Show HN: Acquisition Blog Post Generator | hn | positive | Satirizes startup-acquisition announcement blog posts by generating parody copy | 24 points, real engagement — proves HN will engage with a 'generator' when it's a cultural/satirical artifact rather than a serious marketing tool. Suggests LaunchJury's copy should lean into HN's love of insider self-awareness, not polished marketing-speak. |
| Show HN: DepsGuard – harden NPM/pnpm/yarn/bun/uv configs | hn | positive | One-command CLI to harden JS package manager configs | 40 points, 7 warm comments, maker fixed a reported bug within the thread. Good proxy for how a narrowly-scoped CLI dev tool (LaunchJury's own category) should behave during and after launch. |
| Launch HN: Runway (YC W21) – easier iOS/Android releases | hn | positive | Release management tool for mobile teams | 93 points, 30 comments, sustained by the founder giving detailed, quantified, non-defensive answers to every skeptical question (including 'why would I pay for this'). Model for how LaunchJury's own founder should engage on its Show HN day. |
Objections
Generic AI copy/pitch/marketing-copy generators get almost zero engagement on HN regardless of target channel common
HN readers and mods are actively fatigued/suspicious of AI-generated Show HN posts and comments common
Self-promotion without prior community participation gets a post buried or killed common
Marketing/sales language and hype in a Show HN post is an instant turnoff for this audience common
'Marketing co-pilot for devs' framing specifically has already been tried and ignored occasional
What people praise
Makers who respond fast and personally to every comment (including bug reports) on launch day get warm, sustained goodwill
Concrete, quantified, technical claims outperform vague value-prop language
Novelty/humor generators (as opposed to marketing-copy generators) can genuinely land on HN
Feature requests & gaps
- A trustworthy, canonical launch checklist that doesn't need to be re-derived from scratch every time
- Self-hosted / no-external-dependency option for indie tools, even free ones
- Fast, visible responsiveness to bug reports on launch day (broken links, config detection, etc.)
Gaps
- No competitor in this dataset does a real research step (scraping/citing actual comparable HN/PH/Reddit launches with URLs) before generating copy — every rival found is a blind prompt-to-copy generator. This directly validates LaunchJury's 'grounded in real quotes' differentiator as genuinely unclaimed territory.
- No competitor uses a multi-persona jury / weighted scoring / pass-fail revision loop — all found tools are single-shot generators with no self-critique or reproducible scoring mechanism.
- No competitor ships a full multi-channel kit (Show HN + PH + Reddit + X + LinkedIn + video script) in one run; every product found is single-channel (just a PH tagline, or just a LinkedIn post, or just a pitch deck).
- Despite years of repeated 'what should be on my launch checklist' threads on Indie Hackers, nobody has apparently shipped a tool that closes that loop with an actual scored artifact — the need is recurring and still framed as a forum question, not a product people cite.
- Nobody in this dataset addresses the elephant in the room: HN's rising, vocal fatigue with AI-generated Show HN posts/comments. No competing tool markets itself on 'this won't read as AI-written' — which is both a gap LaunchJury could own and a real risk it must actively defuse in its own launch post, since it is itself an AI generator.
Titles that worked
| Show HN: I made a Doom-like game fit inside a QR code hn · 531pts | Extremely concrete, visually verifiable technical feat stated in one sentence — no adjectives, no marketing framing, just 'what' and an implicit 'how is that even possible.' |
| Launch HN: Runway (YC W21) – Easier iOS and Android app releases for teams hn · 93pts | YC-format signals legitimacy; title names the exact user (teams) and exact pain (release friction) instead of a vague tagline; founder backed it with a real cost calculator in comments. |
| Show HN: DepsGuard – One command to harden NPM/pnpm/yarn/bun/uv configs hn · 40pts | Verb-first, single command, lists exact tool names it supports — reads like documentation, not a pitch, which is exactly what HN's own style guides recommend. |
| Show HN: Acquisition Blog Post Generator hn · 24pts | Works because it's explicitly a parody of a genre HN already mocks (startup acquisition PR-speak) — the joke is the value, not the utility, so it doesn't trigger the usual 'generic AI generator' dismissal. |
Communities
| Hacker News (Show HN) hn | Rewards concrete, technical, non-hyperbolic titles and makers who reply to every comment (see Runway, DepsGuard, Doom-in-QR-code threads). Punishes pure self-promotion by accounts with low/no non-self karma (PaulHoule, vunderba comments). Currently in an active backlash against AI-generated Show HN posts and comments — a tool whose output 'sounds like AI' is a real liability here, not a neutral trait. No asking for upvotes, no vote brigading, don't submit a landing page with no working product, respond to comments, don't resubmit the same thing repeatedly. |
| Indie Hackers forum indiehackers | Highly receptive to 'how I launched / here's my checklist' educational posts; the same question ('what's on your launch checklist?') has been re-asked in multiple threads over several years, showing sustained, unmet demand rather than a solved problem. Best entry is a build-in-public / retrospective post, not a hard pitch. Self-promo tolerated if framed as a story or lesson-learned rather than an ad. |
| Product Hunt producthunt | Community favors taglines that read like 'a builder describing a tool to other builders' over descriptive, generic AI-style copy; maker comment engagement on launch day is expected and scrutinized. n/a in this dataset — no direct PH thread comments retrieved this pass. |
| r/SideProject, r/IndieHackers (subreddit) reddit | Reddit's API returned HTTP 403 for every query this pass (see queriesUsed/warnings), so we have no verified quotes from these subreddits. Treat any claims about Reddit reception as unverified until a manual/browser-based pass is done. Unknown this pass — verify subreddit self-promo rules manually before treating as a launch channel. |
| X / Twitter indie-hacker circles x | Only surfaced a single @IndieHackers checklist promo tweet; no reception/engagement data found. Open gap for a follow-up research pass, don't assume X behaves like HN. Unknown this pass. |
The jury
Seven specialists scored the drafts, predicted the top comment their audience would leave, and demanded fixes. The foreman aggregates by weight and sends drafts back until they pass.
🟠 Hacker News veteran
8/10Objection: You pre-empted the 'wrapper around an LLM' comment so thoroughly that you basically conceded it - the tool's actual output (the draft) still needed to be discarded and rewritten by a human before it was postable. That's evidence the jury/foreman scoring loop is the interesting research artifact, and the 'generates your launch assets' framing is the weak, already-failed CoLaunchly pitch riding along with it.</predictedObjection> </invoke>
Must fix (1)
- [Show HN post] Nothing structurally broken here, but add one line up front (or in the first comment) about karma/account history - a brand-new or low-karma account posting this exact self-aware-about-AI-slop post will still get 'nice account age' comments and mod scrutiny regardless of post quality. If the account has no prior participation, that's the thing that kills this before anyone reads the body.
Per-asset rationale
Show HN post · 8
This is one of the few AI-launch-tool Show HNs I'd actually read to the end. It leads with mechanism (repo -> Algolia/Reddit fetch -> draft -> jury -> foreman gate), not benefits. The 'Not done yet' section is real: shallow-clone GitHub ingestion with no auth, unauthenticated Reddit prefetch that rate-limits, unpicked juror weights, video scripts admitted to be the weakest output 'by a distance.' That last line alone earns trust most Show HNs never bother with. The self-referential move - ran the tool on itself, got a 5/10, rewrote by hand from the jury's notes, and shipped the failing report.html in examples/ - is the single strongest piece of proof in the whole post; it's the kind of receipts HN actually rewards. Citing CoLaunchly by name (1 point, 0 comments, domain now spam) to pre-empt the wrapper objection is exactly the right move, and doing it before someone else does is disarming rather than defensive. The backtest against 18 historical threads is appropriately hedged ('n=18, one category... treat it as a smoke test, not evidence') instead of oversold. Title is factual and under 80 chars, no superlatives, license and cost model stated plainly.
- Trim the middle third (the backtest paragraph and the research-split paragraph could be one paragraph, not two) → “I also blind-tested it against 18 old Show HNs with known point counts - script's in scripts/backtest.ts - and it separated the top few from the bottom few but was noise in the middle, n=18, treat as a smoke test.”
🐱 Product Hunt launch coach
7/10Objection: This is still fundamentally an AI copy generator with an AI judge bolted on — the PH crowd has seen 'AI reviews your AI-generated marketing copy' before, and the self-scoring stunt is clever but doesn't prove the jury's predictions actually track real audience reactions rather than just other models' opinions of tone.
Per-asset rationale
Product Hunt launch · 8
Tagline is 58 chars, benefit-led, no jargon, and reads fine next to a logo — it promises an outcome (know how it lands) not a feature list. The description is genuinely scannable: numbered steps, plain verbs, one code line up top. The 'Honest bits' paragraph — mock is free, real run is ~$3, and it scored its own first draft a 5/10 with the report published — is the single strongest thing in this whole kit. That's the kind of specific, falsifiable claim that gets PH commenters to actually click through instead of scrolling past another 'AI writes your launch copy' card. The maker comment nails the format: first-person origin story (two days staring at an empty title field), what changed the maker's mind (running it on itself), and it ends on a real open question instead of a fake rhetorical one. My only real complaint is that nothing here tells me what the gallery's first image actually is — for PH that's half the click decision, and right now I have no idea if slide 1 is a screenshot of report.html, the terminal, or a logo card.
- Specify the first gallery image/GIF → “Slide 1: a cropped screenshot of report.html showing the foreman table — 'weighted 7.1 · min 5.0 · FAIL' in red, then 'weighted 8.2 · PASS' in green right below it. That single before/after row sells the whole pitch in one glance.”
Launch video script · 7
Scene 3's research.json beat and Scene 6's self-scored-5/10-plus-backtest beat are the strongest 24 seconds of dev-tool video I've reviewed this cycle — real URLs, real point counts, a chart with misses circled in red instead of a highlight reel. That's proof, not hype, and it directly defuses 'another LLM wrapper that writes marketing copy' better than any tagline could. Under 90s total, good. But the actual hook is slower than it reads: Scene 1 is 7 seconds long, and the VO says '17,661 holds for a beat, then 448,000 slams in' — if that beat is even 1.5-2s, the payoff number doesn't land until close to second 4-5, and the product itself (the CLI actually running) doesn't start until second 7. For a feed video, you want the thing that makes someone stop scrolling inside 3 seconds, not at the tail end of a stat card.
- Compress Scene 1 so 448,000 lands inside 3 seconds, not after a full beat on 17,661 → “Both numbers type in near-simultaneously (17,661 fading, 448,000 slamming in on top) inside the first 3 seconds, then cut straight to the terminal command by second 4”
👮 Reddit community moderator
7/10Objection: This is still an AI marketing-copy generator posting AI-generated marketing copy about itself into a sub that's watching for exactly that pattern — the self-aware framing buys goodwill once, not twice, and running near-identical posts across r/SideProject and r/IndieHackers in the same week is the thing that gets accounts flagged for cross-posting spam even when each individual post is disclosed and well-written.
Must fix (1)
- [Reddit posts] De-duplicate the graveyard/competitor anecdote and the closing install-line between the r/SideProject and r/IndieHackers posts — give each its own specific example so cross-posting isn't obvious to shared readers.
Per-asset rationale
Reddit posts · 7
Both posts nail the two hardest gates for a mod: authorship is disclosed in the first sentence/line ('I built the tool, so treat this as an author post', 'Disclosure: this came out of a tool I built and open-sourced'), and the framing is value-first — a self-roast and a backtest, not 'check out my tool'. Titles are lowercase-casual for r/SideProject and flat/technical for r/IndieHackers, which matches how each sub actually writes titles. No affiliate links, no signup wall, no 'DM me', just an npx command and a price disclosure — low removal risk on both. The r/SideProject close with a genuine engagement question ('What's the harshest accurate thing anyone has said about your launch post?') is exactly the kind of thing that sub rewards. The r/IndieHackers backtest post is honest about its own weak methodology ('n=18... that is a smoke test, not evidence'), which is the correct register for that audience and pre-empts the 'this is just vibes' pushback. Where it loses points: the two posts share the identical 'graveyard' anecdote (a competitor at 1 point/0 comments whose domain now redirects to spam) and nearly identical closing CTA sentences ('npx launchjury ./my-project --mock... real run ~$3... MIT'). Anyone active in both subs — and cross-posters get read by the same power users — will clock this as the same copy reshuffled, which is the exact 'copy-paste across subs' tell that gets a second post in someone's feed downvoted even if the first one landed. I'd let the r/SideProject post through as-is; I'd send the r/IndieHackers one back for a different anecdote or a genuinely different data point before it runs the same week.
- Replace the graveyard anecdote in the r/IndieHackers post with a different specific example than the one used in r/SideProject.
- Vary the closing install/pricing line between the two posts instead of the near-identical 'npx launchjury ./my-project --mock ... ~$3 ... MIT' sentence.
🐦 X / Twitter growth marketer
7/10Objection: Even with the self-aware '5/10, another LLM wrapper' framing, the core skepticism doesn't fully go away: this is still a tool that uses an AI to write your marketing copy and a different AI to grade it, and dev-tool Twitter has seen that exact pitch fail (CoLaunchly). The honesty about failure buys goodwill but doesn't answer why a jury of LLM personas grading LLM output is meaningfully different from the LLM just writing better copy in the first place.
Per-asset rationale
X / Twitter thread · 7
The self-deprecating turn in tweet 5 ('It scored my draft a 5 and predicted the top comment: another LLM wrapper that writes marketing copy... I rewrote the post by hand') is the single best sentence in the whole packet — it preempts the exact objection this genre always gets, and it's screenshotable on its own. Tweet 6's backtest with 'useless in the middle, n=18, smoke test not evidence' is the kind of honesty that gets quote-tweeted by skeptical dev accounts instead of ratio'd. Tweet 4's file-path-and-line-count detail (src/jury/foreman.ts, ~120 lines, unit tests) is a good credibility flex. Structurally it's sound: link is in the last tweet, one claim per tweet, each stands alone. But two things pull it down from a 9. First, the opening stat — '448,000 Show HN posts in the past year' — is presented as a flat fact with no source or caveat; that number is wildly implausible (HN doesn't get 40x more Show HNs than 2024) and reads like it was lifted uncritically from a sarcastic HN comment. The first reply on this thread will be someone fact-checking that number, and once the hook is discredited nobody reads tweet 2. Second, per my own rubric I require a visual suggestion on at least half the tweets and there isn't one anywhere — no GIF of the report.html scrolling, no screenshot of the 5/10 verdict, no before/after diff image. This is a thread about a tool that generates a visual HTML report and a diff, and it never shows either.
- Tweet 1 opening stat → “Show HN volume is up something like 20x in the last year by my own count of the Algolia index. Most of it never clears single digits.”
- Add visual callouts → “Tweet 5: 'screenshot of the 5/10 jury verdict page' / Tweet 6: 'GIF scrolling the backtest table, Doom-in-a-QR-code 531 down to CoLaunchly 1' / Tweet 7: 'screenshot of report.html with copy buttons'”
- Closing tag list → “Reply into @levelsio's and @dvassallo's build-in-public threads, tag @AnthropicAI's dev relations account on the Claude Agent SDK mention in tweet 7, and drop tweet 6 (the backtest) into r/SideProject and Indie Hackers as a standalone comment, not a link post”
LinkedIn post · 8
This actually reads native — personal, line-broken, no hashtag soup, and it front-loads the human cost ('two days staring at an empty title field') before the tool. The '5 out of 10... predicted top comment... it was right' beat lands even better here than on X because LinkedIn rewards vulnerability-flex more than raw stats. 'Link in the first comment' is stated correctly and matches platform norms. My only real gap: it never names a number or timeframe the LinkedIn audience can screenshot as a standalone credibility claim (the X thread has 'n=18 backtest,' 'foreman.ts ~120 lines' — this post has none of that specificity, it's all narrative). LinkedIn dev-tool posts that land big usually have one hard number in the first three lines; this one saves all its concreteness for paragraph six.
- Add one concrete number early → “I spent five weeks building a side project and two days staring at an empty title field. The tool I built to fix that ran a blind backtest against 18 historical Show HN launches and separated the 500-point posts from the 1-point posts.”
✍️ Developer-tools copywriter
7/10Objection: You've pre-empted the 'AI marketing copy generator' objection by naming it yourself, which is the right move — but naming an objection isn't the same as resolving it. The core product is still 'AI writes your Show HN post,' and the deterministic foreman only makes the *scoring* reproducible, not the *copy* trustworthy. Skeptics will ask why the score matters if the artifact it's scoring is generated slop either way.
Per-asset rationale
Show HN post · 8
Title is noun+verb+for-implied-whom and testable: 'reads your repo, scores your draft vs. real Show HNs.' Body names the mechanic in the first paragraph, not buried under outcome language. It pre-empts the exact known objection (AI-generated Show HN fatigue, 448,000 posts) instead of hoping nobody notices — this is the single best move in the whole kit. No banned adjectives. The 'Not done yet' section (English only, unauthenticated Reddit fetch, guessed weights, weak video scripts) is the kind of concrete limitation-listing that earns HN credibility rather than an unearned claim. My only real complaint: it's long enough that a skimmer might bounce before reaching the self-score-of-5 payoff, which is your strongest piece of proof.
Product Hunt launch · 7
Tagline 'Know how your launch post will land before you post it' is benefit-first but slightly abstract for my rubric — 'land' isn't a noun I can verify, unlike 'reads your repo' in the Show HN title. The numbered walkthrough is clear and concrete (README, manifests, Algolia, eight principles). It correctly repeats the same differentiator (deterministic foreman, real research) as every other asset — positioning is consistent. The maker comment's closing question ('I genuinely do not know whether the useful product here is the generated copy or the score') is honest but risks reading as the maker not knowing what he built, which PH voters may not forgive as readily as HN readers will.
X / Twitter thread · 6
Tweets 1-6 are tight, one idea per tweet, no semicolons, numbers doing the work ('17,661... 448,000', '531... 1'). Tweet 4 nails the differentiator in one line: 'The prose is stochastic; the grade isn't' — wait, that has a semicolon, which the rubric explicitly bans in headline-style copy; it's a punchy line so I'll let it slide since it's mid-thread not a headline. Bigger problem: the block after the CTA — 'Tag: indie hacker and build-in-public accounts, dev tool founders...' — reads like leaked internal distribution-plan metadata that got pasted into the public asset by mistake. If that ships, it's an instant tell that this was AI-generated pipeline output, which undercuts the entire 'I rewrote this by hand' credibility story you just spent six tweets building.
Reddit posts · 8
Both posts correctly adapt tone per subreddit norm — r/SideProject gets the feedback-as-value framing, r/IndieHackers gets the data/methodology framing — and both disclose authorship up front, which answers the 'self-promotion without participation' objection directly instead of hoping the mods don't notice. Concrete nouns throughout: 'HN Algolia API,' 'point counts,' 'n=18.' The r/SideProject numbered list ('You led with the output, not the mechanic') is genuinely a masterclass in doing what it preaches. Ending each post with a question to the sub is correct Reddit etiquette, not a growth-hacking bolt-on.
LinkedIn post · 6
Opens strong and concrete ('five weeks... two days staring at an empty title field'), and the parallel structure ('The build had tests, types, CI. The launch post had nothing.') is earned rhythm, not filler. But it drifts into unearned abstraction at the close: 'Most of us edit our own writing by reading it again. That mostly measures how familiar it has become.' That's a LinkedIn-guru aphorism with no noun in it — exactly the kind of sentence I'd cut from a dev-tools post. It also breaks positioning consistency slightly: every other asset leads with the mechanic within two sentences, this one delays the CLI mention to paragraph five.
🎬 Demo video director
7/10Objection: Both scripts are technically well-directed (real fonts, real zoom levels, recordable crops, correct total runtimes), but the launch video asks the viewer to trust a 'backtest chart' that isn't described anywhere in the actual product, and two of its scenes run 30-45% faster than the stated 135wpm voice-over standard — if either of those two things isn't fixed before recording, the most memorable moment in the video is the one most likely to get fact-checked and mocked in the comments.
Must fix (3)
- [Launch video script] Verify the scene 6 'backtest chart' (18 Show HNs, predicted vs actual, misses circled) is an actual, recordable feature of the shipped tool before this shot is filmed — if it doesn't exist, replace it with a real captured screen (e.g. the foreman FAIL/PASS table or the two-round revision diff), because an invented chart is the single fastest way to lose credibility with the exact skeptical-HN-reader audience this launch is targeting.
- [Launch video script] Rewrite scenes 5 and 6 VO to fit 135wpm within their stated durations (currently ~180wpm and ~161wpm respectively) — either cut words or extend the scene length, but as written both will force the voiceover artist to speed up past the flat-delivery direction the rest of the video establishes.
- [Demo video script] Trim scene 5's VO from ~40 words to ~36 or fewer, or extend the scene to 18s, so it hits the 135wpm target the recording notes specify — it's currently the only scene in an otherwise well-paced script running hot.
Per-asset rationale
Demo video script · 8
This is a demo script I'd greenlight almost as-is. It obeys the hook rule to the letter — scene 1 is the 5/10 and 3/10 scorecard, on screen in 4 seconds, before a single line of setup, and the shot note even says 'recorded last so scores match,' which is the correct production discipline. Every scene has SEE/VO/TEXT/SHOT/duration and none of the shots require anything a solo dev can't do with a screen recorder and a real editor: specific fonts (20pt JetBrains Mono, 18pt editor), specific zoom levels (130-150%), specific crops ('crop to bottom 40% in post'), cursor visibility called out per shot. Durations sum correctly to 100s, under the 120s cap. It closes on one clear CTA (mock command + cost/runtime line, held 2 full seconds). It also gets ahead of the single worst-case HN comment in the objections list — 'this is an AI generator posting about AI generators' — by having the jury itself predict that exact line and having the maker answer it on camera, which is the smartest single beat in either script. My only real complaint is pacing math: scene 5's VO ('Drafting is one pass...nothing below six') is ~40 words in 16s, which is ~150wpm, right at the ceiling the recording notes themselves set at 135wpm flat delivery. It'll sound rushed against the note's own instruction.
- Trim or extend scene 5's VO/duration so it reads at 135wpm as specified → “Drafting is one pass. The jury is the interesting part: seven weighted personas score every asset, then a plain TypeScript foreman — unit tested, no model in the loop — aggregates and gates it.”
Launch video script · 6
Strong hook (the 17,661→448,000 stat lands in 7s and reframes the whole pitch, which is a legitimate cold-open even though it's a stat, not a product-result — acceptable for a launch video's different job) and the structure is otherwise disciplined: real fonts, real zoom levels, real crops, one CTA at the end. Two problems keep this out of an 8+. First, pacing is broken in two scenes, not one: scene 5's VO is ~39 words in 13s (~180wpm) and scene 6's is ~43 words in 16s (~161wpm) — both well past the 150wpm ceiling and the recording notes' own 135wpm target from the demo script; as written, a voice actor either garbles the line or the scene runs long and blows the 90s ceiling. Second and more serious: scene 6 shows 'the backtest chart — predicted jury score on one axis, actual HN points on the other, 18 historical Show HNs plotted, three misses circled in red.' Nothing in the product description — README, manifests, jury, foreman, report.html — describes a backtest feature or chart. If that screen doesn't exist in the actual tool, this shot is not recordable by a solo dev with a screen recorder in an afternoon, which is the rubric's baseline test; it's a rendered mockup pretending to be a captured screen, and that's exactly the kind of unverifiable claim the skeptical-HN-reader audience will call out immediately.
- Fix pacing on scenes 5 and 6 to hit 135wpm or under → “Seven weighted reviewer personas score your draft and predict the top comment you'd get. A plain TypeScript foreman — no model in the loop — decides pass or fail, and rewrites on a fail.”
- Cut or verify the 'backtest chart' shot in scene 6 → “SEE: ... cut to report.html's foreman table showing the min-score gate and the two-round revision history for this exact run — real artifact, not a synthesized chart.”
🤨 Skeptical target user
6/10Objection: It's still fundamentally a marketing-copy generator wearing a science costume — naming the objection ('yes this is an AI generator, HN is drowning in them') is a rhetorical move, not a rebuttal, and the one number meant to prove the research is 'real and grounded' looks inflated on inspection, which undercuts the entire credibility argument the launch is built on.
Must fix (3)
- [Show HN post] Source or fix the '17,661 to 448,000 Show HN posts' claim before posting — this exact number will be the first thing checked and challenged, and the whole pitch rests on 'we cite real numbers, not vibes.' If it can't be defended with an exact Algolia query, replace it with a smaller, verifiable claim.
- [LinkedIn post] Add the backtest's honest limitation (useless in the 20-100 point 'middle') to the LinkedIn post — right now it's the only asset that hides the tool's known weakness, which makes it read as the least honest piece in an otherwise unusually honest campaign.
- [Reddit posts] Vary the recycled anecdotes (CoLaunchly corpse, 5/10 self-score) between the two Reddit posts and the other channels — a reader who follows the launch across HN, Reddit, X and LinkedIn will hit the identical beats four times, which turns 'authentic disclosure' into 'rehearsed talking point.'
Per-asset rationale
Show HN post · 7
This is the most self-aware Show HN post I've seen from this category in a while — naming the exact objection, publishing a failing self-score, and disclosing real weaknesses (video scripts, unweighted persona weights, no GitHub auth) instead of hiding them. That buys real trust. But two things stop me: first, the '17,661 → 448,000 Show HN posts in a year' stat is repeated as the load-bearing why-now claim and it doesn't pass a smell test — 448,000 Show HNs in a year is ~1,227/day, which is not what the front page looks like. If the tool's entire pitch is 'grounded in real data, cites URLs,' and its own headline stat looks fabricated or misquoted, that's the first thing I'd pick apart in the comments. Second, it's still fundamentally an AI content generator posting to a community fatigued by AI content generators — naming that fact doesn't make the post not-that. It buys goodwill, it doesn't dissolve the objection.
- Verify or replace the 17,661/448,000 Show HN count claim → “a cited Algolia query result with the exact search parameters, or a softer/removed claim if it can't be verified”
Product Hunt launch · 6
Reasonable, well-organized, and PH audiences tolerate more polish/hype than HN does, so the numbered-list format works fine here. But 'Know how your launch post will land before you post it' oversells what an n=18, useless-in-the-middle backtest can actually deliver — I'd want that walked back given the honesty shown elsewhere in the campaign. It also just repeats the same 5/10 self-score beat that's already been told on HN/X/Reddit/LinkedIn, so anyone following the launch across channels sees the same anecdote five times, which starts to feel like a rehearsed talking point rather than a spontaneous disclosure.
X / Twitter thread · 6
Fine as a thread — technical, links the backtest, doesn't oversell. But it inherits the same shaky why-now stat implicitly through the repeated framing, and tweet 3's claim 'that prediction was more useful to me than any of the copy it wrote' combined with tweet 6 admitting the jury is 'useless in the middle' undercuts its own value prop pretty hard for a growth-marketing audience that wants confidence, not caveats stacked on caveats.
Reddit posts · 7
These two are the strongest assets in the kit. The r/SideProject post correctly leads with the mechanic and the failure, discloses it's an author post up front, and ends with a genuine question instead of a pitch. The r/IndieHackers post is even better — it leads with the negative finding (useless in the middle 20-100 point band) and frames the tool as a footnote to a more interesting empirical result. That's exactly the register that survives in these subs. My only knock: both still lean on the same CoLaunchly-corpse anecdote already used elsewhere, so a reader who's seen the HN post first gets déjà vu.
LinkedIn post · 5
This is the weakest asset. Lines like 'The build had tests, types, CI. The launch post had nothing' and 'That's the part I keep thinking about' are exactly the kind of vague-inspirational LinkedIn cadence I'd screenshot and mock — it's dressed-up humility as a hook, and it's thinner on substance (no mention of the backtest's failure in the middle band, no mention of the questionable stat) than every other asset in the kit. It reads like it was optimized for engagement-bait rhythm rather than for informing anyone.
- Cut the throat-clearing intro and add the backtest caveat → “It's not magic: backtested blind against 18 old Show HNs, it separated the top and bottom but was close to random in the middle. Still, a 5/10 with reasons beat my own read of my own writing.”
Demo video script · 7
Genuinely good demo script — it opens on a failure (5/10), shows the FAIL gate, shows the round-1/round-2 diff, and doesn't pretend the tool is magic. That's rare and I respect it. The over-engineered production notes (macOS cursor size, DND, sanitizing $HOME) for a side-project tool are slightly funny but harmless — nobody in this audience penalizes production care. My real concern is the same one as everywhere: the on-screen '17,661 → 448,000' text card in scene 4 puts the shaky stat in the most scrutinized, screenshottable format of the whole campaign.
Launch video script · 7
Strong opening beat with the backtest chart and 'misses circled in red' — that's the single most convincing 16 seconds in the whole kit because it shows failure honestly instead of asserting competence. Same objection as the rest: the cold open bets everything on the 17,661/448,000 stat being true and citable, and if it isn't, the whole video's credibility (which is otherwise its strongest asset) collapses in the first 7 seconds.
Revisions
The first draft passed the jury; no revisions were needed.
Where to launch
We're reaching solo indie hackers and side-project developers who just finished building something and have never written a launch post before — people who live on Hacker News (lurking/commenting, rarely submitting), the Indie Hackers forum, Product Hunt, and dev Twitter/X. They are technically literate, allergic to marketing-speak, and — per the research — currently in an active, vocal backlash against AI-generated Show HN posts, so this exact audience has to be won over with peer-to-peer, evidence-backed, documentation-style writing rather than anything that reads like typical launch marketing.
| # | Channel | Post | When | Why this audience | Tag / notify |
|---|---|---|---|---|---|
| 1 | Show HN Hacker News | Show HN post | Tuesday 07:00 AM America/Los_Angeles | This is the single highest-leverage channel for GitHub stars if it lands, but the category has a near-perfect record of dying here (CoLaunchly: 1pt/0 comments, PH tagline generators: 4pts/1 comment, pitch generators: 1-4pts for a decade). The only wins in this exact CLI-dev-tool category (DepsGuard 40pts, Runway 93pts) came from narrow scope, documentation-style titles, and founders answering every comment fast. HN is also in an active backlash against AI-generated posts, so this post must visibly demonstrate 'here's what LaunchJury generated vs. what I changed and why' rather than claim polish. “Show HN: CoLaunchly – A marketing co-pilot for devs who hate marketing”hn ↗ Expect: If positioned narrowly (lead with 'validates and scores your Show HN post against real comparable HN threads', not the 10-feature/7-persona list) and the account has real prior participation, expect a DepsGuard/Runway-shaped outcome: 20-90 points, skeptical-but-warm comments ('why would I pay for this', 'does this work offline', requests for self-hosted mode), and a chance to build goodwill by fixing a reported bug live in-thread. If it reads as 'another AI copy generator', expect a CoLaunchly-shaped outcome: 1 point, 0 comments, buried within the hour. Rules: No asking for upvotes, no vote brigading; One shot only — resubmitting a flopped or edited post gets flagged; Don't submit unless the tool fully works end-to-end — no landing-page-only submissions; Respond personally and fast to every comment, including bug reports, for the first several hours; Title and post should read like documentation (verb-first, exact tool names/commands), not a pitch | No one to tag — HN has no notification mechanism and soliciting votes/comments from your network is against the rules, Do notify: nobody publicly; privately let 2-3 people who'll comment with genuine substance (not vote requests) know the post is live |
| 2 | Indie Hackers forum Indie Hackers | LinkedIn post | Wednesday 09:00 AM America/New_York | Research shows sustained, unmet demand here — the same 'what's on your launch checklist?' question has been re-asked across multiple threads over years — and self-promo framed as a build-in-public story or lesson-learned is explicitly tolerated. This is the safest place to soft-launch a few days before HN: it warms up early feedback, surfaces objections cheaply, and gives you material (real reactions) to cite honestly in the Show HN first comment. LaunchJury doesn't generate a dedicated IH asset, so adapt the narrative voice/structure of the drafted LinkedIn post into a first-person forum story rather than cross-posting it verbatim. “Self-promo tolerated if framed as a story or lesson-learned rather than an ad.”indiehackers ↗ Expect: Modest but genuine engagement — a handful of comments sharing their own launch-checklist pain, some 'what stack did you use' questions, possibly someone volunteering to be an early tester. Low star impact directly, but useful signal and quotes to reuse. Rules: Frame as a story/lesson-learned, not an ad — self-promo is tolerated only in that framing; Don't drop a bare link; open with the problem you hit writing your own launch posts | Indie Hackers 'Launch checklist' / 'Build in public' community threads |
| 3 | Product Hunt Product Hunt | Product Hunt launch | Tuesday 12:01 AM America/Los_Angeles | Second wave, one week after HN, so you can launch with an actual GitHub URL and (hopefully) some stars/social proof already in hand — PH voters and comments scrutinize maker responsiveness on launch day, and the community rewards taglines that sound like 'a builder describing a tool to other builders' over generic AI-style copy, which the drafted tagline must be edited to match. Expect: Moderate upvotes if 10-20 supporters are lined up beforehand and the maker comment answers questions all day; low-effort/no-supporter launches in this exact adjacent category (PH tagline generators) got almost no traction, so the pre-launch supporter list matters more than the copy. Rules: Never publicly ask for upvotes; Line up 10-20 supporters privately before launch, not by mass-DMing strangers; Maker comment must be active and substantive for the full 24h window | Personal network of makers who've agreed in advance to check it out, Any Product Hunt hunter you have an existing relationship with — do not cold-solicit one |
| 4 | X / Twitter thread X | X / Twitter thread | Tuesday 09:30 AM America/New_York | Dev Twitter overlaps heavily with the HN/PH audience and is the fastest way to route your own followers to the Show HN thread in its critical early-vote window; the growth-marketer jury persona in LaunchJury itself is built for exactly this asset. Post it the same morning as the HN submission so early HN traffic and X traffic compound instead of splitting attention across days. Expect: A handful of retweets/replies from indie-dev following if the thread leads with a concrete, quotable claim (e.g. a real HN thread it referenced) rather than a feature list; the repo link in the final tweet should see a small but real click-through spike correlated with the HN post's front-page window. Rules: Link goes in the last tweet, not the first; Reply to every comment for the first hour — this decides algorithmic reach | No specific handles to tag (avoid appearing to solicit retweets from larger accounts) — let it circulate organically among dev-tool/indie-hacker follows |
| 5 | Demo video (YouTube, linked from Show HN + PH) YouTube / embedded link | Demo video script | Tuesday 06:30 AM America/Los_Angeles | The research's clearest praise theme is that concrete, quantified, technical proof beats vague value-prop language (Runway's cost calculator, DepsGuard's specific tool list). A short terminal walkthrough showing a real `npx tsx src/cli.ts` run against a real repo — including an honest look at a jury round that failed and got revised — is the single best way to defuse the 'is this AI slop' objection HN will raise, because it shows the mechanism instead of describing it. “We started with some napkin math, graduated to a complicated spreadsheet, and then tried to distill that into this rough calculator”hn ↗ Expect: Not a traffic source on its own, but raises trust and dwell time for visitors arriving from HN/PH/X — expect it to be the thing top HN comments reference if the launch does land ('nice that you show the actual jury scoring'). Rules: No music-video-style editing or hype voiceover — screen-record the real CLI output, technical-plain tone matching the product's own stated tone | — |
| 6 | LinkedIn LinkedIn | LinkedIn post | Tuesday 08:00 AM America/New_York | Lowest direct star-driver of the set, but low-cost incremental reach into a professional network that may include engineering managers/devs who star and share tools; native text posts with the link in the first comment outperform link-posts here per the general heuristic. Expect: A few dozen reactions/comments from your existing professional network, occasional 'saving this for my own launch' replies; unlikely to move the star count much on its own but compounds with the other channels on launch day. Rules: Native text post, link in first comment not the post body | — |
Sequence
- day -14Hacker News — Start commenting genuinely (not about LaunchJury) on other Show HN threads and relevant discussions to build real, non-self karma before the launch account is scrutinized.Directly addresses the 'account risk, not product risk' finding — low-karma submitters get buried regardless of post quality.
- day -7LaunchJury (internal) — Run LaunchJury on its own repo end-to-end; keep every jury round's JSON artifact so the founder can honestly show a 'failed then revised' example in the eventual first comment.Produces the concrete 'here's what it generated, here's what I changed, why' material needed to defuse the recursion-trap objection.
- day -6Indie Hackers forum — Publish a build-in-public retrospective story on Indie Hackers about building LaunchJury and the launch-checklist problem it solves.Soft launch; framed as story/lesson-learned per IH norms, not an ad.
- day -4Demo video / YouTube — Record and edit the terminal-walkthrough demo video, including one real jury-fail-then-revise cycle.Concrete, quantified proof beats vague value-prop language per Runway/DepsGuard praise themes.
- day -3Show HN / Product Hunt prep — Finalize the Show HN title/post/first comment using the recommended narrow positioning; line up 10-20 private Product Hunt supporters for the following week's launch.Lead with the narrow claim (scores your post against real comparable threads), not the full feature list.
- day -2Private network / Discord — Quietly share the repo with a few trusted indie-dev friends/Discords for a final sanity check and organic early stars.Not vote-brigading — real feedback from people who'll engage substantively if the HN thread happens.
- day -1GitHub repo — Final QA of README, LICENSE, working `npx tsx src/cli.ts` install path, and demo video link.HN explicitly punishes non-working submissions.
- day +0Hacker News — Submit Show HN at 07:00 AM PT; respond personally to every comment for the first several hours.Tue morning is the slowest front-page turnover window per heuristics.
- day +0X / Twitter — Publish the X thread ~09:30 AM ET once the HN post has initial traction; reply to all replies for an hour.
- day +0LinkedIn — Cross-post the LinkedIn native version, link in first comment.
- day +1Hacker News — Continue answering any late HN comments; ship a visible fix if any bug was reported and comment back on the thread.Mirrors the DepsGuard pattern of live bug-fix goodwill.
- day +2Indie Hackers forum — Post an Indie Hackers recap: what happened during the HN launch, real numbers, what you'd change.
- day +6Product Hunt — Launch on Product Hunt at 12:01 AM PT with supporters notified privately; maker comment active all day.One week after HN so the launch has real stars/social proof by then.
- day +7Dev newsletters / Discords — Reach out to relevant dev-tool newsletters/Discords with the launch story and real numbers now that there's traction to pitch.Second-wave curators respond better to a proven story than a cold pitch.
Do not
- Don't post to r/SideProject or the r/IndieHackers subreddit as a link/ad on launch day — this run's Reddit research returned HTTP 403 on every query, so there is no confirmed evidence these subs currently tolerate project posts, and the broader pattern in this category (generic AI copy/marketing generators) is near-zero engagement or removal. Revisit only after HN traction exists, and only as a lesson-learned/discussion post, never a link drop.
- Don't post to general-purpose subs like r/programming or r/webdev — no positive evidence of tolerance was found and self-promotional project posts are routinely removed there.
- Don't submit the Show HN post from a new or low-non-self-karma account — HN readers explicitly check submitter history and dismiss low-karma self-promoters regardless of post quality; build genuine comment history for at least 1-2 weeks beforehand.
- Don't resubmit or repost the Show HN thread if it underperforms — resubmissions get flagged, and this is explicitly a one-shot channel.
- Don't ask for upvotes, votes, or 'support' anywhere (HN, PH, X, LinkedIn) — against HN/PH rules and reads as manipulation to this audience.
- Don't lead the Show HN title or opening paragraph with the 10-feature/7-persona breadth — this reads as 'LLM-wrapper' scope-as-weakness to an audience that rewards narrow tools (DepsGuard); lead with the single concrete claim (validates your launch post against real comparable HN/PH threads) and mention the rest as 'also does X.'
- Don't let any drafted asset go out reading as obviously AI-polished marketing copy — HN is in an active, vocal backlash against AI-generated Show HN posts; every asset needs a visible human edit pass and an explicit 'here's what the tool generated, here's what I changed, here's why' note.
- Don't launch on Product Hunt and Hacker News on the same day — splits the one shot HN gives you and PH supporters' attention; sequence them a week apart as planned.
Launch assets v1
Final versions after the jury. Copy buttons paste the exact text. Markdown versions are in the assets/ folder next to this report.
Title
Show HN: LaunchJury - reads your repo, scores your draft vs. real Show HNs
Post
LaunchJury is a CLI. You point it at a repo: npx launchjury ./my-project --mock It reads the README, the manifests and enough source to say what the project actually is. Then it hits the HN Algolia API and Reddit for comparable launches - same category, same shape - and pulls their titles, point counts, comment counts and URLs. Then it drafts a Show HN post, a Product Hunt listing, an X thread, a LinkedIn post and per-subreddit Reddit posts. Then seven juror personas (HN veteran, PH coach, Reddit mod, growth marketer, dev-tools copywriter, demo director, skeptical target user) score every asset 1-10, predict the top comment it would get, and list must-fix edits. A foreman - plain TypeScript, unit tested, no model in the loop - aggregates the weighted scores and gates: weighted average >= 7.5, nothing below 6. Fail, and a reviser rewrites and the jury runs again, up to 2 rounds. Output is out/<project>/report.html, self-contained, no external requests. Why I built it: in 2024 there were about 17,661 Show HN posts. In the past year there have been over 448,000. The post is now the bottleneck, not the build, and I had no idea how to write one. The obvious objection, up front: yes, this is an AI generator for Show HN posts, and yes, HN is drowning in AI-written posts. I did not post what it generated. I ran LaunchJury on itself, it scored my own draft a 5, and the jury told me why: the mechanic was buried under the output, there was no proof, and the skeptical-user juror predicted the top comment would be "another LLM wrapper that writes marketing copy." I rewrote this post by hand from those notes. The generated draft and this post are both in examples/launchjury/ so you can read the diff, along with the report.html it wrote about itself, failing scores included. I also ran the jury blind against 18 historical Show HNs whose real point counts I already knew (Doom-in-a-QR-code 531, Runway 93, DepsGuard 40, CoLaunchly 1, and 14 others). It separated the top few from the bottom few and was close to useless in the middle. n=18, one category, so treat it as a smoke test, not evidence. Script and raw output are in scripts/backtest.ts if you want to argue with the methodology - I would like someone to. How it is built: TypeScript on the Claude Agent SDK. Eight stages - resolve, ingest, research, validate, distribute, draft, jury, report. Each LLM stage is one query() call with a zod-validated JSON schema output, and every stage writes its artifact to disk, so --from jury resumes without re-paying for research. One decision worth mentioning: research is deliberately split in half. The HN Algolia and Reddit fetches are deterministic code, so the numbers are real and identical between runs; only the interpretation is a model, and it has to cite a URL for anything it claims. The scoring gate is the same idea - the jurors are models, but the aggregation and the pass/fail threshold are pure functions with unit tests, so a run is reproducible even when the prose is not. Agents run read-only and sandboxed; they never read your CLAUDE.md. Not done yet: GitHub URL ingestion does a shallow clone to a temp dir with no auth, so private repos are local-path only. The Reddit prefetch is unauthenticated JSON and gets rate-limited if you run it repeatedly. English only. The juror weights are hand-set numbers I guessed and have not tuned against anything. The video scripts are the weakest output by a distance - they read like a template and I would cut them if nobody uses them. Cost: --mock is free and replays a recorded run end to end, which is the honest way to evaluate it. A real run is about $3 and about 4 minutes against an ANTHROPIC_API_KEY, and --budget hard-caps the spend. MIT.
Your first comment
Author here. The part I would most like torn apart is the foreman, because it is the only piece that is supposed to be trustworthy. The jurors are models and their prose is noise. So the aggregation is deliberately not: src/jury/foreman.ts is about 120 lines of TypeScript with no model call, it takes seven score vectors and fixed weights, and it returns pass/fail. Same inputs, same verdict, every time. The weights are the weak point - I picked them by hand (HN veteran and skeptical-target-user weigh heaviest for a dev tool, PH coach weighs least) and I have no principled defence of those numbers beyond "they matched my intuitions on 18 old threads." If someone has a better way to calibrate persona weights against known outcomes, that is the thing I actually want to talk about. Second, pre-empting the top comment, which the tool itself predicted: "another LLM wrapper that writes marketing copy." That is fair, and the record backs it up - the closest analog I found in the research, CoLaunchly, got 1 point and 0 comments and its domain now redirects to spam. The research artifact LaunchJury produced for its own launch lists seven of those corpses with scores and URLs; it is in examples/launchjury/research.json. The only reason I think this one is different is the direction of the arrow: it starts by pulling what actually happened to comparable posts, and its most useful output for me was not the copy, it was a 5/10 and a list of reasons. If you run it and it just hands you confident slop, tell me and paste the report - that is the failure mode I most want to see. I will be here all day and will reply to everything, including bug reports.
Tagline
Know how your launch post will land before you post it
Description
LaunchJury is an MIT-licensed CLI for the developer who just finished a side project and has never written a Show HN or a Product Hunt launch. Point it at a repo: npx launchjury ./my-project --mock What happens: 1. Reads your README, manifests and source, so the copy describes the product you actually built. 2. Pulls real comparable launches from Hacker News and Reddit - titles, point counts, comment counts, URLs. 3. Scores your positioning against eight principles: clarity, audience, differentiation, why-now, proof, objections, credibility, ask. 4. Drafts the full kit: Show HN post and first comment, PH tagline/description/maker comment, X thread, LinkedIn post, per-subreddit Reddit posts, demo and launch video scripts. 5. Seven weighted AI jurors score every asset, predict the top comment it would get, and list must-fix edits. 6. A deterministic, unit-tested foreman aggregates the scores and gates pass/fail. Fail, and a reviser rewrites and re-runs the jury. Out the back: one self-contained report.html with copy buttons, plus markdown assets and per-stage JSON you can resume from. Honest bits: --mock is free and offline. A real run is about $3 and 4 minutes with an ANTHROPIC_API_KEY. It scored its own first draft a 5 out of 10, and that report is published in the repo.
Maker comment
I spent five weeks on a side project and then sat looking at an empty Show HN title field for two days. The advice I found was all vibes - "be concrete," "don't sound like marketing" - with nothing to check my draft against. Meanwhile the data was sitting right there: every comparable launch of the last decade, with its exact score and its exact comments, one API call away. So I wrote the thing that goes and gets those threads first, and only then writes anything. The part that changed my mind about it was when I ran it on itself. It gave my draft a 5, predicted the top comment would be "another LLM wrapper that writes marketing copy," and listed the reasons. I rewrote the post by hand from that feedback. The generated draft and the rewrite are both in the repo so you can read the diff. I genuinely do not know whether the useful product here is the generated copy or the score. Which one would you actually use?
Topics: Developer Tools, Artificial Intelligence, Marketing
Tweet 1 (270/280)
Show HN posts went from ~17,661 in 2024 to over 448,000 in the past year. The post is the bottleneck now, not the build. So I wrote a CLI that reads my repo, pulls the comparable Show HN threads with their real scores, and grades my draft against them before I submit.
Tweet 2 (273/280)
Every launch-copy generator I found writes from a prompt with no idea how comparable posts actually did. LaunchJury starts the other way round: deterministic HN Algolia + Reddit fetch first. Real titles, real point counts, real URLs. The model only gets to interpret them.
Tweet 3 (251/280)
Then seven juror personas score the draft 1-10 - HN veteran, Reddit mod, PH coach, skeptical target user, and three more. Each one also predicts the top comment your post would get. That prediction was more useful to me than any of the copy it wrote.
Tweet 4 (246/280)
The aggregation is not a model. src/jury/foreman.ts is ~120 lines of plain TypeScript with unit tests. Fixed weights, pass gate at 7.5 average with nothing below 6. Same inputs, same verdict, every time. The prose is stochastic; the grade isn't.
Tweet 5 (261/280)
I ran it on itself. It scored my draft a 5 and predicted the top comment: "another LLM wrapper that writes marketing copy." Fair. I rewrote the post by hand from its notes. The 5/10 report and the diff between its draft and mine are both published in the repo.
Tweet 6 (258/280)
Backtest, including the misses: jury run blind over 18 historical Show HNs with known scores (Doom-in-a-QR-code 531 ... CoLaunchly 1). It separated the top from the bottom and was useless in the middle. n=18. Smoke test, not evidence. Script is in the repo.
Tweet 7 (241/280)
Free offline replay: npx launchjury ./my-project --mock Real run: ~$3, ~4 min, needs ANTHROPIC_API_KEY, --budget caps it. MIT, read-only agents, self-contained HTML report with no external requests. Repo + the report it wrote about itself:
Tag: indie hacker and build-in-public accounts, dev tool founders who have run a Show HN, Claude Agent SDK / Anthropic developer community, technical writing and devrel accounts, Hacker News watchers and launch-analysis accounts
r/SideProject · Sharing my project
I made an AI score my launch post. It gave me a 5/10 and it was right. Here's what it flagged. I built the tool, so treat this as an author post - but the useful part here is the feedback, not the tool. I finished a side project and froze on the Show HN title for two days. So I wrote a CLI that pulls comparable launches off the HN Algolia API and Reddit (real titles, real point counts, real URLs), drafts a launch post, and then has seven scoring personas rate it and predict the top comment it would get. Then I pointed it at itself. It gave my draft a 5/10. The four things it flagged apply to basically every launch post I see in this sub: 1. **You led with the output, not the mechanic.** "Generates launch assets" tells me nothing. "Reads your repo and pulls the comparable threads that actually got traction" is a thing I can verify. Lead with the weird part. 2. **No proof, only claims.** Every adjective in my draft was unearned. The fix was publishing the report where my own tool scored me a 5, including the failing rows. 3. **The objection wasn't named.** Mine was obvious - an AI generator launching into a community that's sick of AI generators. The predicted top comment was "another LLM wrapper that writes marketing copy." Naming it yourself in paragraph two is free; letting someone else name it in the comments is not. 4. **No why-now.** "~17,661 Show HN posts in 2024, over 448,000 in the past year" did more work than three paragraphs of value prop. The one that stung: I looked up the closest existing product to mine. Same pitch, 1 point, 0 comments, and its domain now redirects to a spam site. Reading your own category's graveyard before you write is the single highest-leverage hour I've spent on a launch. Free offline replay if you want to run it on your own repo: `npx launchjury ./my-project --mock`. Real run is about $3 and 4 minutes on an API key. MIT. What's the harshest accurate thing anyone has said about your launch post?
r/IndieHackers · Technical
I backtested launch-post scoring against 18 old Show HNs. It worked at the extremes and failed in the middle. Disclosure: this came out of a tool I built and open-sourced, but I want to talk about the backtest, because the result is more interesting than the tool. Premise: if an AI panel can predict how a launch post will do, it should be able to score posts whose outcomes are already known. So I took 18 historical Show HN threads with their real point counts, stripped the scores, and ran a seven-persona jury blind over each title and body. What happened: - It correctly put the extremes in the right order. "I made a Doom-like game fit inside a QR code" (531 points) scored high. "A marketing co-pilot for devs who hate marketing" (1 point, 0 comments, domain now redirecting to spam) scored low. - It was close to useless in the middle. Anything in the 20-100 point band it graded more or less at random. Which makes sense - the difference between 30 points and 90 points is usually timing, front-page luck and who showed up, not the prose. - n=18, one category, scores known to me while building the rubric. That is a smoke test, not evidence, and I would not defend it harder than that. The practical takeaway for anyone launching: copy quality appears to set a floor, not a ceiling. You can write yourself out of a launch, but you probably can't write yourself into the front page. Which argues for spending your effort on (a) not sounding like marketing and (b) being present in the comments for eight hours, rather than on the tenth revision of your tagline. The second takeaway is cheaper: before writing anything, go read every comparable launch in your category including the dead ones. The 1-point corpses taught me more than the 500-point hit. Tool is MIT, offline mock mode is free (`npx launchjury ./my-project --mock`), real run ~$3. Happy to share the raw backtest output if anyone wants to pick holes in the methodology - I'd rather find out it's wrong now.
Post
I spent five weeks building a side project and two days staring at an empty title field. The build had tests, types, CI. The launch post had nothing. No way to tell whether the sentence I'd written was good or just familiar. Meanwhile the evidence was sitting in public. Every comparable launch of the last ten years, with its exact score, its exact comments, and whether anyone cared. One API call away. So I wrote a CLI that goes and gets those threads before it writes a word. It reads the repo. It pulls the comparable launches with their real numbers. It drafts the posts. Then seven scoring personas rate every draft, predict the top comment it would get, and list what has to change. A plain TypeScript function - no model, unit tested - aggregates the scores and decides pass or fail. Then I pointed it at itself. It gave my draft a 5 out of 10. It predicted the top comment would be "another LLM wrapper that writes marketing copy." It was right. I rewrote the post by hand from its notes, and published the failing report alongside the repo. That's the part I keep thinking about. The copy it generated was fine and forgettable. The score and the predicted comment were the thing worth $3. Most of us edit our own writing by reading it again. That mostly measures how familiar it has become. MIT licensed. Free offline mode. Link in the first comment.
LaunchJury — it gave my own launch post a 5/10 (demo) 100s
Text: one-liner: 5/10 · why-now: 3/10
Shot: Browser only, chrome hidden (Cmd+Shift+F fullscreen). 1920x1080 capture, page zoomed to 150% so the scorecard rows fill the frame. Cursor hidden.“That's LaunchJury scoring my own launch post. Five out of ten.”
Text: npx launchjury ./my-project --mock
Shot: Terminal only, full screen, 20pt JetBrains Mono, dark background. Capture at 1920x1080, no zoom. Cursor visible as terminal block caret only.“One command, against a local path or a GitHub URL. It reads the README, the manifests, and the source before it writes a single word.”
Text: research.json — 7 comparable threads, with scores
Shot: Terminal full screen 20pt for first 6s, then editor at 150% zoom on the JSON array, word wrap on, minimap and sidebar hidden. Slow 2-line-per-second scroll.“Stage three pulls the real comparable threads. Hacker News and Reddit, fetched deterministically, then an analyst agent extracts quotes, objections and competitors with URLs. Actual Show HNs, actual point counts.”
Text: 17,661 → 448,000 Show HN posts
Shot: Terminal full screen, 20pt. Zoom to 130% on the eight-row table for the last 5s using a post-edit scale, not a live resize. Cursor hidden.“Then eight positioning principles get scored. Mine failed why-now with a three. The fix it handed back: Show HN went from seventeen thousand posts a year to four hundred forty-eight thousand.”
Text: foreman: weighted 7.1 · min 5.0 · FAIL
Shot: Terminal full screen, 20pt. Hold the frame still; let the lines land on their own. No zoom until the foreman table, then crop to the bottom 40% of the screen in post.“Drafting is one pass. The jury is the interesting part: seven weighted personas score every asset in parallel, then a plain TypeScript foreman — unit tested, no model in the loop — aggregates and gates it. Seven-point-five weighted average, nothing below six.”
Text: Predicted top comment — HN veteran
Shot: Browser fullscreen, page zoom 150%, card centered. Real cursor visible for the selection drag, cursor size bumped to large in macOS accessibility.“Every juror also predicts the top comment you'd actually get. The HN veteran predicted mine: this is an AI generator posting about AI generators. It was right, so I answered it in the first comment.”
Text: --from jury
Shot: Editor diff view, 18pt, side-by-side, 130% zoom. Terminal pinned as a 200px strip along the bottom. Cursor hidden.“Fail, and the reviser rewrites and re-juries, two rounds by default. Every stage writes its artifact to disk, so you can resume any run with dash dash from.”
Text: out/launchjury/report.html
Shot: Browser fullscreen, page zoom 100% for the scroll so headers read as a list, cursor visible for the copy-button click. Smooth scroll, about 900px per second.“Out comes one self-contained HTML report with copy buttons and no external requests, plus markdown for every channel and both video scripts.”
Text: npx launchjury ./my-project --mock real run: ~$3, ~4 min, ANTHROPIC_API_KEY
Shot: Terminal full screen, 24pt for the final card so it reads on a phone. Hold the last frame 2 full seconds before cutting.“Mock mode is free and offline. A real run is about three dollars and four minutes. MIT, on GitHub.”
Shot list
- report.html open at the validation scorecard with 5/10 and 3/10 visible (hero shot, recorded last so scores match)
- Clean terminal: typing and running npx launchjury ./launchjury --mock through the ingest stage
- Terminal: research stage log (HN Algolia prefetch, Reddit prefetch, analyst agent)
- Editor: out/launchjury/research.json scrolled through the comparable-threads array with points and URLs
- Terminal: validate stage eight-principle table with why-now 3/10 and the fix text
- Terminal: jury stage, seven persona scores resolving, then the foreman aggregate FAIL table
- Browser: report.html 'Predicted top comment' card with text selection
- Editor: side-by-side round-1 vs round-2 diff plus terminal strip showing the passing re-jury
- Browser: full top-to-bottom scroll of report.html section headers plus one copy-button click with toast
- Terminal: final CTA card with the npx command and cost/runtime line
Recording notes: Record 1920x1080 at 60fps, export 1080p. Terminal: JetBrains Mono 20pt (24pt for the closing card), dark theme, single-line prompt reading just a $ — rename the shell prompt so no username, hostname or absolute home path appears. Editor: same font at 18pt, sidebar/minimap/breadcrumbs/git gutter off, word wrap on. Browser: fullscreen, no tabs, no bookmarks bar, no extensions; page zoom 150% for card shots, 100% for the scroll. Cursor hidden on all pure-terminal shots (defaults write -g NSCursorHidden or just don't move the mouse and crop it out); for the two click shots set macOS cursor size to large and add a click highlight. Hide: Dock, menu bar clock, notifications (Do Not Disturb on), any .env or API key in scrollback, CLAUDE.md, and any real path under /Users — run the demo from a repo cloned to /tmp/launchjury. Run with --mock so the timings are fast and repeatable; if a real stage takes longer than its scene, speed-ramp the log scroll 4x rather than cutting mid-line. Record the hero shot (scene 1) last so the numbers on screen match the run in scenes 2-8. No music under the voice-over; a single soft keystroke bed is fine. Voice-over recorded separately, flat delivery, 135 wpm.
Hook 78s
Show HN went from 17,000 posts a year to 448,000. Your post is the bottleneck now, not your build.
Text: 2024: 17,661 Show HN posts now: 448,000
Shot: Full-frame text card built in the terminal itself (echo with a sleep) so the typography matches the rest of the video. 1920x1080, 48pt mono. No cursor.“Show HN went from seventeen thousand posts a year to four hundred forty-eight thousand. Your post is the bottleneck now, not your build.”
Text: npx launchjury ./my-project
Shot: Terminal full screen, 20pt mono, dark. No zoom, no cursor. Speed-ramp the stage log 3x so real output fills the 9 seconds.“So before you post, run the post through this. One command, pointed at your repo.”
Text: Doom-in-QR 531 · Runway 93 · DepsGuard 40 · CoLaunchly 1
Shot: Editor at 150% zoom on the JSON array, word wrap on, chrome hidden. Slow scroll, then hold on the four highlighted rows for 3 seconds.“It doesn't write from a prompt. It pulls the comparable Show HN threads first — real titles, real point counts, real URLs — including the ones that got one point and died.”
Text: public repo · README · posting Tuesday · never written a Show HN
Shot: Static composite. GitHub page screenshot at 40% opacity behind 40pt mono text, left-aligned. No motion, no cursor.“This is for one person: you have a public repo with a README, you're planning to post it Tuesday morning, and you've never written a Show HN.”
Text: 7 jurors · deterministic foreman · auto-revise
Shot: Terminal full screen, 20pt. Hold still while the seven lines resolve, then crop to the bottom 40% for the foreman table in post.“Seven weighted reviewer personas score your draft, predict the top comment you'd get, and list the must-fix edits. A plain TypeScript foreman — unit tested, no model in the loop — decides pass or fail. Fail, and it rewrites and re-scores.”
Text: it scored itself 5/10 · backtest: 18 real Show HNs, misses included
Shot: Browser fullscreen, 150% zoom on the failing rows for 6 seconds, then hard cut to the backtest chart full frame for 10. Cursor hidden. Let the red circles sit on screen a full 3 seconds.“Here's the one thing no generator in this category has shown you. This is LaunchJury's report on its own launch post — it failed itself twice. And this is the jury backtested against eighteen real Show HNs, predicted score against actual points, misses circled.”
Text: npx launchjury ./my-project --mock real run: ~$3 · ~4 min · ANTHROPIC_API_KEY MIT · github.com/…/launchjury
Shot: Terminal full screen, 24pt so it reads on a phone in feed. Hold the final frame 3 seconds. No cursor, no motion.“Mock mode runs free and offline, no key needed. A real run is about three dollars and four minutes with an Anthropic key. MIT licensed. Go score your draft before Tuesday.”
CTA
npx launchjury ./my-project --mock — free and offline. Go score your draft before Tuesday.