research

The Launch Spike: how dev-tool repos get their first few thousand stars

Jul 14, 2026

Lens: the launch-day playbook for an open-source developer tool, reverse-engineered from real launches. Every claim is cited to a primary URL (HN item, tweet, repo, blog). Numbers pulled 2026-07-08: HN metrics via the Algolia API (hn.algolia.com/api/v1/*), star counts via the GitHub API. Anything I could not verify to a source is marked [UNVERIFIED].

Target for this playbook: Claude Mission Control — a native macOS command center that watches a Claude Code agent fleet (SEE / AUDIT / LAUNCH). Its two closest real-world analogs both launched in the last ~12 months and are studied below: CodexBar (steipete, macOS menu-bar Claude/Codex usage, 17.1k stars) and sniffly (Chip Huyen, Claude Code analytics dashboard, 1.2k stars). The 14x gap between two same-category tools is the single most instructive data point in this doc.


TL;DR — the five launch tactics that actually move stars

  1. Ship a submittable artifact, not a repo link. The biggest HN spikes were plain-story submissions of a thing worth reading/watching: ripgrep's benchmark blog post (740 pts), bun's demo-video + bun.sh/?launch landing page (1431 pts), difftastic's "understands syntax" framing (983 pts). A bare GitHub URL underperforms a page that makes the value undeniable in 5 seconds.
  2. The author must work the comment thread — hard. In the launches that spiked, the creator was the single most prolific commenter: ripgrep's Andrew Gallant wrote 41 of 209 comments, difftastic's Wilfred Hughes 17, vibe-kanban's cofounder 18, aider's Paul Gauthier showed up even though a stranger submitted it. Answering every question for 8 hours is the tactic.
  3. Comparative / benchmark / "I built X because Y" framing. "ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}", "Get 10X more out of Claude Code" (vibe-kanban), "a diff that understands syntax". A specific, provable, comparative claim in the title does the work.
  4. You don't have to post it yourself — but you must make it postable. ~8 of the 10 biggest launches here were submitted by a third party, not the author (ccusage, aider, ripgrep, bun, difftastic, atuin, lazygit, claudia). You engineer that by (a) making the artifact irresistible and (b) seeding it to a network that will post it. The controllable alternative is a Show HN you post weekday morning US-Eastern and then babysit.
  5. Chain the channels — don't spend them at once. The compounding pattern is demo on X → HN front page → newsletters (TLDR/Console/Changelog) → Reddit long-tail, each feeding the next. ccusage and CodexBar are X-native (author has an audience); ripgrep/bun/difftastic are HN-native (artifact carries it). Pick your first channel by where your distribution already is.

The evidence table (real launches, roughly by HN launch score)

Tool What it is Launch artifact / event HN launch (pts · comments · date, UTC) Author worked thread? Stars (2026-07-08)
bun JS runtime in Zig bun.sh/?launch landing page + founder tweet, same evening (no video) 1431 · 312 · Tue 2022-07-05 flat thread (creator light here) 93,636
difftastic syntax-aware diff "a diff that understands syntax" 983 · 219 · Tue 2022-03-29 @Wilfred 17 comments (top) 25,610
ripgrep fast grep (Rust) benchmark blog post 740 · 209 · Fri 2016-09-23 13:33 @burntsushi 41 comments (top) 65,893
atuin shell history in SQLite "replaces your shell history with a SQLite database" 551 · 194 · Sat 2023-05-06 08:50 creator @ellieh + @conradludgate 17 30,472
claudia Claude Code GUI claudiacode.com landing 501 · 226 · Sun 2025-08-17 light 22,156
aider AI pair-programming CLI plain repo link (3rd-party submit) 432 · 156 · Wed 2024-04-10 creator @anotherpaulg showed up (5) 47,165
zellij terminal multiplexer zellij.dev/news/beta 414 · 238 · Thu 2021-04-22 13:22 submitter/contributor @ibraheemdev 5 34,152
lazygit git TUI plain repo link (3rd-party submit) 395 · 141 · Tue 2021-11-30 creator @jesseduffield 3 80,148
presenterm terminal slideshows plain repo link 306 · 45 · Sat 2025-03-08 submitter @pea-tear 6 8,586
fzf fuzzy finder (grew via ecosystem, not one spike) 279 · 92 · Sat 2022-03-19 81,547
zx JS for shell scripts (Google) 3rd-party submit "JavaScript for Shell Scripting" 385 · 181 · Fri 2021-05-07 05:28 creator absent 45,587
ollama run LLMs locally Show HN: Ollama – Run LLMs on your Mac 284 · 94 · Thu 2023-07-20 16:06 creator @jmorgan ~12–15 175,685
vibe-kanban manage AI coding agents Show HN + "Get 10X more out of Claude Code" 195 · 132 · Fri 2025-07-11 15:08 cofounder @louiskw 18 (top) 27,302
claude-code-router route Claude Code to any LLM plain repo link 160 · 59 · Mon 2025-07-28 00:19 no 35,668
container-use sandboxes for agents Show HN (Dagger) 82 · 17 · Thu 2025-06-05 founder @shykes 3 3,907
ccusage Claude Code usage CLI X-native; HN was a weak 3rd-party repost 75 · 29 · Fri 2025-07-18 23:22 no (influencer @ghuntley top) 16,963
CodexBar macOS menu-bar CC/Codex usage X-native (steipete audience) (no HN spike) 17,086
sniffly Claude Code analytics dashboard plain repo link 41 · 19 · Sun 2025-08-31 1,244

Sources — HN items are [news.ycombinator.com/item?id=](https://news.ycombinator.com/item?id=)<ID>: bun 31993429 · difftastic 30841244 · ripgrep 12564442 · atuin 35839470 · claudia 44933255 · aider 39995725 · zellij 26902430 · lazygit 29394162 · presenterm 43303752 · fzf 30736518 · vibe-kanban 44533004 · claude-code-router 44705958 · container-use 44193933 · ccusage 44610925 · sniffly 45081711. Star counts: GitHub API repos/{owner}/{repo} on 2026-07-08.


Channel 1 — Hacker News (the highest-leverage channel for dev tools)

HN is where a developer tool can go from ~0 to its first few thousand stars in 24 hours. Two distinct launch modes exist, and conflating them is the most common mistake.

Mode A — the organic third-party submission (highest ceiling)

The single largest spikes here were not self-posts. A stranger found the project and submitted it as a plain story (no "Show HN" prefix). Evidence: the submitter handle ≠ the author handle in nearly every top launch — ccusage submitted by @kristianp, aider by @tosh, ripgrep by @anp, bun by @firloop, difftastic by @tempodox, atuin by @thunderbong, lazygit by @tnorthcutt, claudia by @zerealshadowban. (Verified: the author appears separately in the comments — e.g. aider's @anotherpaulg, ripgrep's @burntsushi.)

Why it wins: a plain story is judged as content and rides the same front-page algorithm as any article, whereas "Show HN" is a smaller, self-selected feed. Plain submissions in this sample scored 279–1431 pts; Show HN posts scored 82–195 pts. You cannot fully control who submits — but you engineer it by making the artifact irresistible (see Tactic 1) and seeding it to people who post to HN.

Mode B — the Show HN self-post (controllable, lower ceiling, needs comment work)

Per the official Show HN rules (news.ycombinator.com/showhn.html):

"Show HN is for something you've made that other people can play with." … "Off topic: blog posts, sign-up pages, newsletters, lists, and other reading material." … "Please make it easy for users to try your thing out, ideally without barriers such as signups or emails." … "If your work isn't ready for users to try out, please don't do a Show HN." … Title must begin with "Show HN". … "New features and upgrades ('Foo 1.3.1 is out') generally aren't substantive enough to be Show HNs."

Implication for a macOS app: a blog post or landing page is off-topic for Show HN — but a downloadable app / brew install / npx with no signup is exactly on-topic. vibe-kanban (195 pts) and container-use (82 pts) are the model. The Show HN ceiling is lower, but you own the timing and the framing.

Title patterns that hit the front page

  • Comparative / benchmark: "ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}" (Andrew Gallant, 2016-09-23, burntsushi.net/ripgrep) — the post is structured as 25 benchmarks; the title is a falsifiable superiority claim.
  • One-line "replaces/understands" value prop: "Atuin replaces your existing shell history with a SQLite database"; "Difftastic: a diff that understands syntax". The reader knows exactly what it does and why it's novel from the title alone.
  • Outcome / multiplier framing: vibe-kanban's repo tagline "Get 10X more out of Claude Code, Codex or any coding agent" (BloopAI/vibe-kanban).
  • Plain "Name – what it is": "Ripgrep – A new command line search tool", "Zellij – A Terminal Workspace and Multiplexer", "Lazygit: A simple terminal UI for git commands". Boring but legible; works when the linked artifact carries the weight.
  • Avoid: version-bump titles ("Foo 1.3 is out") — explicitly discouraged and low-scoring.

Timing (computed from the real launch posts, UTC)

Post Weekday · time (UTC) US-Eastern equiv pts
difftastic Tue 11:38 07:38 983
ripgrep Fri 13:33 09:33 740
zellij Thu 13:22 09:22 414
vibe-kanban (Show HN) Fri 15:08 11:08 195
lazygit Tue 16:49 12:49 395
claudia Sun 17:26 13:26 501
container-use (Show HN) Thu 17:44 13:44 82
bun Tue 20:41 16:41 1431
aider Wed 21:06 17:06 432
atuin Sat 08:50 04:50 551

Read: the controllable self-launches you'd emulate (ripgrep, zellij, vibe-kanban, lazygit, difftastic) cluster at weekday ~11:00–17:00 UTC (07:00–13:00 US-Eastern) — i.e. post as the US East Coast wakes up and before the West Coast lunch, Mon–Thu. Off-hour hits (bun 20:41, aider 21:06, atuin Sat) were organic third-party posts where the submitter chose the time — you don't control those. For a Show HN you control, target Tue–Thu ~14:00–16:00 UTC and be at your keyboard for the next 8 hours.

The killer tactic — the author works the comments

Quantified from the full comment trees (comments authored by the creator, of total):

  • ripgrep — Andrew Gallant (@burntsushi): 41 of 209 — the top commenter by 4x. He answered methodology challenges, benchmark disputes, and feature requests in real time. (item 12564442)
  • difftastic — Wilfred Hughes (@Wilfred): 17 of 219, top commenter. (item 30841244)
  • vibe-kanban — cofounder @louiskw: 18 of 132, top commenter (a Show HN). (item 44533004)
  • atuin — creator @ellieh (6) + core @conradludgate (17) both in the top 5. (item 35839470)
  • aider — creator @anotherpaulg: 5 — showed up in a thread a stranger submitted. (item 39995725)
  • container-use — Dagger founder @shykes: 3 of 17. (item 44193933)

The tools where the author was absent from the thread (claude-code-router, ccusage-on-HN, sniffly) got weaker HN outcomes. Correlation, not proof — but the pattern is consistent and the mechanism is obvious: early substantive author replies keep a thread alive, and thread activity is a front-page ranking input.

Self-post vs. others posting — the honest guidance

  • If you have no audience: do a Show HN, weekday morning ET, and work the comments for 8h. This is the reliable, controllable path (vibe-kanban, container-use).
  • If you have any audience (X following, newsletter, prior HN karma): make the artifact so good that someone else posts it as a plain story — then show up in the comments as the author. If nobody posts it within a day of your X launch, submit it yourself as a plain story (allowed) or as a Show HN.
  • Don't submit your own project as a plain non-"Show HN" story and pretend to be a bystander — HN culture and mods dislike it; the safe self-post is Show HN.

Channel 2 — X / Twitter launch thread anatomy

X is the channel you control and the one that works even with zero HN luck — if you have (or can borrow) an audience. The honest finding from real data: a founder's own launch tweet is usually weak; third-party amplification and "someone else found it" tweets do the heavy lifting.

The "demo-video-first" rule is real but oversold. bun's canonical launch tweet — "Introducing Bun — an incredibly fast all-in-one JavaScript runtime" (x.com/jarredsumner/status/1544460933753229312, 2022-07-05, 7,189 likes / 1,516 RT) — carried no video, just text + a link card to bun.sh. The community-made video (swyx's 2-hour live-test stream) came days later. Meanwhile a typical founder launch tweet with an embedded demo video landed at 13 likes / 2 RT (x.com/4xdotrip/status/2074047919909703848). So: a GIF/video raises the ceiling but does not rescue a tweet with no distribution behind it.

What actually pulls numbers on X (real examples):

  • A curated "study these N repos" listicle thread is a top discovery vector — "If I had to learn Claude Code in 7 days, I would not watch a single tutorial. I would study these 10 GitHub repos" (949 likes / 78,263 views), which slots ccusage at #7 with a one-line pitch (x.com/i/status/2046476497800823280). Getting listed by an aggregator beats most self-announcements.
  • Third-party "SOMEONE JUST BUILT X" hype"SOMEONE JUST BUILT a Claude Code skill called /brag…" (2,269 likes / 229,696 views, x.com/i/status/2069039170451091878). Caveat: that account sells paid promotion — treat as seeded, not organic. Still: the "found it" frame from a non-author out-performs "I built it" from the author.
  • User flex / social-proof tweets become the growth loop — ccusage spreads through users quote-tweeting their own cost screenshots: "npx ccusage — 15 billion tokens, $11k usd in actual token usage in last 5 months 🤯" (x.com/i/status/2074330289585950830). The tool's output is the ad. Design a shareable artifact (a screenshot people want to post) into the product.
  • Before/after + "no cloud / no subscription" framing performs — "Local AI was never this EASY… No cloud required, No subscription required" (1,374 likes / 66,934 views, x.com/i/status/2074287304810885294). For a local-first, privacy-preserving tool, lead with the "nothing leaves your machine" line.

Thread shape that works: tweet 1 = one-sentence value prop + a 10–30s screen-capture GIF/video of the tool doing the thing; reply 1 = the GitHub/brew/npx link (links in the first tweet suppress reach on X); replies 2–n = the "how it works / why I built it" mini-thread; then quote-tweet your own launch a few hours later with an early social-proof screenshot. Tag/seed people who curate dev tools rather than begging big accounts to RT. If you have no audience, your realistic X outcome is the 13-like tweet — so engineer the third-party post (ship to a few people who will say "look what I found").

Channel 3 — Reddit (2026: the megathread era — read the room or get auto-removed)

The biggest change vs. the older playbooks: standalone "I built X" posts are now auto-removed in most dev subreddits and funneled into mandatory weekly/monthly megathreads. Posting blind will get you silently removed.

  • r/macapps — the most relevant sub for a macOS app. Non-"Trust/Transparency"-status accounts must use the monthly "Megathread: The App Pile" in PCP format (Problem / Comparison / Pricing) (reddit.com/r/macapps/comments/1uknpm8). Mod warning, quoted: "There is a 90% chance Reddit will auto-remove your post here if you have not verified your email … and your first comment contains a link… The odds of removal is also higher for AI-assisted posts (em dashes and other AI formatting characteristics likely trigger this)." A third-party discovery post beats a creator's own"FOSS Fully native macOS YouTube/YouTube Music Client…" (about Kaset) hit 133 upvotes (reddit.com/r/macapps/comments/1uq25d9).
  • r/selfhosted — standalone launches used to spike ("Ninite for Linux" hit 1,248 upvotes, reddit.com/r/selfhosted/comments/1pwvxs8) but a 2026 rules overhaul now forces a weekly New Project Megathread (template requires an "AI Involvement: (Please be transparent)" line) — reddit.com/r/selfhosted/comments/1sey9ch.
  • r/commandline — real but low ceiling for a single launch (typical 3–15 upvotes); aggregator threads out-perform launches"Share your favorite CLI tools… fzf, zoxide, lazygit…" hit 104 upvotes (reddit.com/r/commandline/comments/1o86trb).
  • r/programmingnot a tool-launch venue, and directly hostile to AI-adjacent tools: its rules mark "Content about AI and LLMs … off-topic with the sole exclusion of deeply technical content about implementation" (r/programming AI policy). A Mission-Control post survives there only framed as a technical deep-dive (e.g., "parsing Claude Code's JSONL transcript format with an incremental FSEvents index"), never as a product announcement.
  • r/rust / r/golang — language subs also channel launches into weekly "small projects" threads; mature releases can still post to the main feed.

Reddit rules of engagement: verify your email; don't put a link in your first comment; strip AI-tell formatting (em-dashes) from the post; use the sub's required template; and prefer getting someone else to post the discovery. On Reddit the creator's own post is the weakest form.

Secondary channels — Product Hunt / lobste.rs / dev.to / newsletters

  • Product Hunt — works for dev tools, but it's a day-long team operation, not post-and-wait. Corbado hit "#1 Developer Tool of the week" with 2x traffic and 4x signups on launch day (corbado.com/blog/launch-developer-tool-product-hunt). Operational facts: PH doesn't rank anything in the first 4 hours; supporters need 1–2 weeks of prior PH activity for their votes to count (weighted by verified/active users, not raw upvotes); expect an approval queue. Permit.io reached Product of the Day on ~$800 + a multi-channel push (permit.io/blog/producthunt-howto); playbook: awesome-product-hunt.
  • lobste.rs — invite-only, new accounts restricted for their first 70 days, tag system with per-tag RSS, public moderation log, and explicit anti-self-promotion norms; a narrow "technical reading group" audience (great for credibility and deep discussion, bad for a hard sell) (why lobste.rs vs HN). Post the technical story here, not the product pitch.
  • Newsletters — the highest-ROI earned secondary channel. Console.dev is purpose-built for tool discovery ("68% of readers sign up for tools featured", console.dev) and takes editorial submissions. Changelog (Changelog News / podcast) and language-specific weeklies (Golang Weekly, This Week in Rust, Swift Weekly Brief, iOS Dev Weekly, Hacker Newsletter) curate launches editorially. TLDR (275k subs) and Pointer.io surfaced as paid-sponsorship only in this pass ($3,500 / ~$12 CPM, tldr.tech/sponsor) — no confirmed free editorial path. dev.to / Hashnode launch-post conventions and several newsletter free-submission mechanics: [UNVERIFIED] — not confirmed in this pass.

The compounding sequence — which channel first, and how they chain

The launches that spiked did not fire every channel at once; they chained them, each buying the credibility for the next. Two archetypes, chosen by where your distribution already lives:

Archetype 1 — HN-native (no audience, but a killer artifact): ripgrep / difftastic / bun. build a genuinely-better toolmake the artifact undeniable (benchmark blog post, or a polished landing page like bun.sh/?launch) → it hits HN front page (self-post as Show HN if it's runnable, or let a stranger submit the blog as a plain story) → author works the comment thread for 8h → newsletters (Console/Changelog/language-weeklies) pick up the HN winner within days → Reddit/X carry the long tail. bun ran HN + a founder tweet ~2.5 hours apart the same evening and let them cross-feed.

Archetype 2 — X-native (you or a friend has an audience): ccusage / CodexBar. tease/demo on Xthe tool's own output becomes the ad (users post cost-screenshots) → get listed in a "study these repos" thread → HN is optional and often a weak echo (ccusage's HN was a 75-pt third-party repost while the repo sailed past 16k stars on X + word-of-mouth). Here the flywheel is shareable output + influencer listicles, not a front-page spike.

The universal spine: (1) one irresistible artifact, (2) launched into your strongest channel first, (3) with the author visibly present, (4) then syndicated to newsletters, (5) with Reddit/PH as deliberate, rules-aware follow-ups — never the opening move.

Deep dives — real launches, with the transferable lesson

The headline contrast: CodexBar (17.1k) vs sniffly (1.2k) — same category, 14x gap

Both are Claude-Code usage tools shipped in mid/late-2025. CodexBar (Peter Steinberger / @steipete) is a macOS menu-bar app: "Show usage stats for OpenAI Codex and Claude Code, without having to login" (github.com/steipete/CodexBar). It has no Show HN and no HN spike at all — it grew 0→17k stars in ~8 months purely on the founder's X audience + a relentless ship-in-public cadence (single feature tweets pulling 800–3,840 likes and 765k–2.7M views, e.g. 2.7M-view tweet), plus 56 community-contributed provider integrations and a README "Privacy Note" that preempts the OAuth/token-security objection users kept raising. sniffly (Chip Huyen — a famous author) is a local web dashboard you run and open in a browser; it got a 41-pt HN post and sits at 1,244 stars (chiphuyen/sniffly). Lesson for Mission Control: author fame and a good tool are not enough. The winning form was always-visible + glanceable + zero-friction (a menu-bar glance) over "a dashboard you have to launch," and the winning motion was public shipping + fast response to user pain — not a one-shot launch. Mission Control already has the CodexBar-shaped hook (menu-bar count + dock badge + the "door light"); lead with that, not the full app. (Star totals are hard facts; the causal attribution of the gap is reasoned inference from the two products' form + channel, not a claim from a single source.)

ccusage — the "resubmit until it catches, then let output be the ad" pattern

ryoppippi's Claude-Code usage CLI took three HN submissions: two flops (44211946 4pts, 44234470 2pts) before the third landed at 75pts (44610925, submitted by a third party, kristianp). 75 HN points does not explain 16,963 stars — a dev.to writeup calls it "the de facto standard" that "went viral" (dev.to writeup). The real engine was X + the tool's own output: users quote-tweet their npx ccusage cost screenshots ("15 billion tokens, $11k…") and it gets listed in "study these 10 Claude Code repos" threads. Lesson: (1) HN reposts are allowed and normal — if a good post flops, try again days later with a better title; (2) build a shareable screenshot into the product so the output markets the tool.

aider — benchmark-leaderboard-as-content, then a two-stage HN launch

aider's spike came 11 months after the repo appeared, in two HN hits ~2 weeks apart: first Paul Gauthier's blog "Claude 3 beats GPT-4 on Aider's code editing benchmark" (39838169, 202pts, blog aider.chat/2024/03/08), then the tool itself "Aider: AI pair programming in your terminal" (39995725, 432pts — the strongest single HN showing of the AI-tool cohort). Lesson: a rigorous benchmark/leaderboard is recurring, re-postable content that builds credibility and keeps putting the tool in front of HN without "launching" again — the same move as ripgrep's benchmark post.

vibe-kanban — the textbook founder Show HN (the model to copy for a controllable launch)

Show HN was the launch (repo + post shipped together, 4 weeks after repo creation). Cofounder Louis Knight-Webb opened with "Hey HN! I'm Louis, one of the creators of Vibe Kanban" and a pain-first body, verbatim: "Personally, I was feeling pretty useless working synchronously with coding agents. The 2–5 minutes that they take to complete their work often led me to distraction and doomscrolling." Posted **Fri 15:08 UTC (8am PT — prime US-morning window)**, 195pts / 132 comments (the highest comment count of the cohort). He worked the thread hard (18 comments) and shipped a fix live — when a user flagged silent opt-out analytics, he merged the fix in-thread: "Merged and building, thanks for bearing with us." (44533004). Now 27,302 stars. Lesson: first-person pain-story + prime-time slot + relentless comment work + fixing real bugs live = the repeatable Show HN.

ripgrep — the benchmark blog post + the most extreme comment-working case

Andrew Gallant's post "ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}" (burntsushi.net/ripgrep, 2016-09-23) was structured as 25 benchmarks. A stranger (@anp) submitted it to HN, retitled to the bland "Ripgrep – A new command line search tool" (740pts, 12564442). Gallant then posted ~41 comments over 6 days, answering methodology disputes and opening GitHub issues from thread feedback. Now 65,893 stars. Lesson: prove a superiority claim with real benchmarks; expect to defend it personally for a week.

bun — coordinated same-evening two-channel launch, no video in the launch tweet

The HN post (bun.sh/?launch, submitted by @firloop, 20:41 UTC) fired ~2.5h before Jarred Sumner's own tweet "Introducing Bun — an incredibly fast all-in-one JavaScript runtime" (23:19 UTC, 7,189 likes, tweet); both the same Tuesday. HN hit 1,431pts. The launch tweet had no video — a polished landing page did the selling; video came from the community days later. [UNVERIFIED] a secondary source claims "20k stars in the first week." Lesson: a great landing page + near-simultaneous HN + X can cross-feed; the artifact matters more than the tweet's media type.

ollama — a macOS-framed Show HN that under-indexed at launch but compounded to #1

"Show HN: Ollama – Run LLMs on your Mac" (36802582, Thu 2023-07-20 16:06 UTC) was a modest 284pts — yet ollama is now 175,685 stars, the largest here. Growth came from a sustained cadence of 300–650-pt product posts over three years, not the debut. Lesson: the launch is ignition; a repeatable release-post rhythm is the fuel. (Also: "Run LLMs on your Mac" — a platform-specific Show HN framing that maps directly onto a macOS tool.)

fzf & zx — the counter-examples (no launch spike required, and the reframing effect)

fzf (81.5k stars) had no launch spike — its early HN posts got 1 pt; its best-ever HN post is a third-party tutorial a decade later ("So you've installed fzf – now what?", 1,102pts, 35248098). It grew through dotfiles/tutorial culture. zx (google/zx) was submitted by a stranger as "JavaScript for Shell Scripting" (385pts, 27072515) — note the submitter's reframe beat the repo's own tagline ("a tool for writing better scripts"). Lesson: a spike is one path, not the only one; and whoever writes the HN title controls the framing — so give submitters a great one-liner to copy.


Launch plan for Claude Mission Control

Mission Control's situation: a native macOS app, AI/Claude-Code-adjacent, local-first / privacy-preserving (reads files Claude already writes, never writes ~/.claude, nothing leaves the machine), by an author (@ss251) with a real but not steipete-scale X presence. That profile says: run the vibe-kanban Show HN playbook as the controllable core, wrap it in a CodexBar-style ship-in-public cadence, and engineer shareable output like ccusage. Don't bet on a CodexBar-style audience spike you don't have.

The wedge (what to lead with)

Not "a Claude Code dashboard" (that's sniffly — 1.2k). Lead with the one glanceable job: "which of my N agents needs me right now?" — the Attention Strip + menu-bar count + dock badge (the "door light"). CodexBar proved the always-visible menu-bar glance is the form that wins. The full SEE/AUDIT/LAUNCH app is the upsell you reveal after the hook lands.

The comparative claim (your ripgrep-style title line)

Use the differentiator already in the README: *"Anthropic's Remote Control owns single-session mobile; CodexBar owns menu-bar usage; Omnara owns a cloud. None sees a fleet across machines."* The cross-machine Tailscale fleet is the falsifiable "we do the thing they don't" claim — put it front and center.

The demo asset (build these before launch day)

  1. A 15–30s screen-capture GIF/video (tweet-1 asset): 8 agents running across two machines → the menu-bar glyph flips to filled+count ("needs you") → the BLOCKED session's heartbeat goes still. The motion is the pitch. (Not a talking-head; the tool doing its job.)
  2. A shareable "audit" screenshot (the ccusage flex loop): the AUDIT view showing "cache-miss dollars" or the dead-skill prompt tax ("95 of 110 skills never fired") — a number people want to post about their own setup. This is the output-as-ad.
  3. Deterministic static shots for posts/README via the existing --render-* PNG modes (identity, fleet, audit, attention) — light+dark. No display/Space flakiness.

Channel sequence (the compounding chain)

  1. X first (you control it). Tweet 1 = one-liner value prop + the demo GIF; link in reply 1 (brew / signed .dmg — no signup); replies = a short "why I built it" (running 8 agents and not knowing which was blocked on me) + the cross-machine differentiator. Quote-tweet yourself a few hours later with an early audit screenshot. Seed it to a handful of Claude-Code-community accounts as "look what I found," not "please RT" — third-party framing out-performs the author's own.
  2. Show HN, same day or next weekday morning. Target Tue–Thu ~14:00–16:00 UTC (9–11am ET). Title: Show HN: Mission Control – see which of your Claude Code agents needs you (macOS). Body = vibe-kanban shape: first-person pain story, one-paragraph what/why, a Privacy Note that preempts the CodexBar objection (read-only; reads only files Claude already writes; never writes ~/.claude; nothing leaves the machine; cross-machine mirror is a read-only Tailscale pull). It qualifies as Show HN because it's runnable with no signup. Then be at your keyboard for 8 hours and work every comment; if someone finds a bug, fix and say so in-thread (the Louis move).
  3. If HN flops, resubmit. ccusage took 3 tries, claude-code-router 2. Wait ~3–7 days, sharpen the title, post again. A flop is data, not a verdict.
  4. Syndicate the HN/X winner to newsletters (earned, free): Console.dev (editorial, tool-focused — "68% of readers sign up for featured tools"), Changelog News, and the macOS/Swift lane (iOS Dev Weekly, Swift Weekly Brief) since it's a native Swift app. Hacker Newsletter picks up HN front-page items.
  5. Reddit as a rules-aware follow-up (never the opener):
    • r/macapps monthly "Megathread: The App Pile" in PCP format (Problem / Comparison / Pricing). Verify your email, don't put the link in your first comment, and strip em-dashes / AI-tells or you hit the "90% auto-remove" rule. Better: get a user to post the "look what I found" discovery.
    • Tool-specific subs (r/ClaudeAI, r/ClaudeCode/community subs) are the natural home for "I built this to manage my Claude Code fleet."
    • r/programming only as a deep-technical post, never a product pitch — e.g. "Parsing Claude Code's JSONL transcripts with an incremental FSEvents index (13k lines of Swift, 265 tests)". Anything that reads as an AI product announcement is off-topic there and will be removed.
  6. Recurring content = your benchmark/leaderboard (the aider/ripgrep move). Publish the audit methodology as standalone posts/threads: "I measured cache-miss waste across my Claude Code fleet — here's the $X/month the warm-cache floor was silently costing me," or "95 of 110 skills never fire: pricing the dead-prompt tax." Each is re-postable, credibility-building, and drags the tool along.
  7. Product Hunt: optional, later. Only if you'll run it as a full-day team op with 1–2 weeks of pre-seeded supporters (it doesn't rank the first 4 hours and weights active-user votes). Not a cold post-and-wait.

What NOT to do

  • Don't launch as "another Claude Code analytics dashboard" (sniffly's grave).
  • Don't rely on a single big tweet — the median founder launch tweet, even with video, lands ~13 likes.
  • Don't cold-post to r/programming or a standalone r/macapps thread — you'll be auto-removed.
  • Don't fire every channel at once; chain them so each buys the next one's credibility.
  • Don't disappear after posting — absence from the thread correlates with the weak outcomes here.

One-line summary of the plan

Build the menu-bar "door light" wedge + a 20-second fleet demo GIF + a screenshottable audit number → launch on X (author present, seeded as discovery) → Show HN Tue–Thu 9–11am ET with a pain-first body and a privacy note, and babysit the thread for 8h → syndicate the winner to Console.dev/Changelog + the Swift newsletters → follow with rules-aware r/macapps + tool-sub posts and a recurring "cost-of-waste" benchmark series. Resubmit if it flops.


Appendix — method & caveats

  • HN metrics: Algolia API (hn.algolia.com/api/v1/search, /items/{id}), pulled 2026-07-08; points/comments are as-of-pull, not launch-day snapshots. Star counts: GitHub REST repos/{owner}/{repo}, 2026-07-08.
  • "Author worked the thread" counts were computed by walking each HN item's full comment tree and tallying comments per author (the creator is identified by their known handle, e.g. @burntsushi, @Wilfred, @louiskw, @anotherpaulg, @ellieh).
  • X/Twitter engagement figures are live-fetched but the opencli twitter backend surfaced mostly recent (2026) tweets; original 2025 launch-week tweets for some AI tools could not be recovered and are marked [UNVERIFIED] rather than asserted absent.
  • Star-delta "spike magnitude" at launch is [UNVERIFIED] for every tool — no public source snapshots day-over-day stars; HN points/comments are the launch-intensity proxy used throughout.
  • Causal claims (e.g. why CodexBar beat sniffly) are reasoned inference from form + channel, flagged as such; the underlying numbers are hard facts.