Skip to content

Commit 7184d13

Browse files
feat(workflow): add step 08 'Launch' — get your first 100 users
The old step 07 Ship covered 'deploy + share the URL'. That conflates two distinct skills: getting to live production (Ship) vs running the actual distribution play (Launch). Splitting them makes the workflow honest about where indie products actually die — channel selection and execution. New step 08 'Launch': - Reddit: which subs, how to frame, karma-first - Show HN: post-time discipline, title pattern, reply cadence - Product Hunt: only if you have 50+ pre-committed voters - Twitter / X: build-in-public thread + daily reply habit - DM first 30 users individually for reviews - Discord/Slack communities (lurk → contribute → mention) - Final store-listing check - UTM tracking per channel - Kill what doesn't work after 7 days, double down on what does Renumbered: - Old 08 Iterate → 09 Iterate (no content change) workflow-related.ts: - 08 Launch links to: launching-on-google-play, getting-your-first-app-reviews, instagram-for-indie-apps articles + the relevant 'reddit-removed', 'ph-launch-8-upvotes', 'show-hn-sunk', 'twitter-12-impressions', 'five-stars-three-reviews', 'rank-brand-only' fixes - 09 Iterate keeps after-launch-troubleshooting workflow-steps.ts (homepage card list): 9 → 10 steps. Workflow is now: Environment · Research · PRD · Stack · Context · Build · Quality · Ship · Launch · Iterate.
1 parent ccebc3f commit 7184d13

2 files changed

Lines changed: 98 additions & 1 deletion

File tree

src/lib/workflow-data.ts

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,6 +554,88 @@ export const WORKFLOW_PAGE_STEPS: StepData[] = [
554554
},
555555
{
556556
step: "08",
557+
title: "Launch",
558+
emoji: "📣",
559+
whatThis: "Get the first 100 real users. Reddit, Show HN, Product Hunt, Twitter, the channels that work for indie builders.",
560+
why: "A live URL with zero users is the same as no URL. Distribution is the #1 reason indie products fail — more than product quality, more than capital.",
561+
tasks: [
562+
{
563+
heading: "Checklist",
564+
description: "Pre-pick channels, prep posts, then launch in a 48-hour window.",
565+
items: [
566+
{
567+
text: "Reddit: post in 2–3 subreddits where your audience already hangs out. Build karma first with 5–10 useful non-promotional comments per sub. Frame: 'I built X to solve Y', not 'Check out my app'.",
568+
detail: "r/SideProject and r/IndieDev are forgiving. r/programming is brutal. Niche subs (r/golf, r/triathlon) work if you have a niche product.",
569+
links: [
570+
{ label: "r/SideProject", href: "https://www.reddit.com/r/SideProject/" },
571+
{ label: "r/IndieDev", href: "https://www.reddit.com/r/IndieDev/" },
572+
{ label: "r/IndieHackers", href: "https://www.reddit.com/r/indiehackers/" },
573+
],
574+
},
575+
{
576+
text: "Show HN: post Tue–Thu, 8–10 AM Eastern. Title leads with what you built AND what's interesting. 'Show HN: I built X — what surprised me about Y' beats 'Show HN: My new app launched'.",
577+
detail: "Reply to every comment in the first 6 hours. Engagement keeps you on the front page. One reply per comment is enough.",
578+
links: [{ label: "Show HN submission rules", href: "https://news.ycombinator.com/showhn.html" }],
579+
},
580+
{
581+
text: "Product Hunt: only post if you have 50+ people pre-committed to upvote in hour 1. Without a list, you'll stall at 8 upvotes.",
582+
detail: "If you don't have that list yet, skip PH. Comes back to bite indie devs who launch cold here.",
583+
links: [{ label: "Product Hunt launch checklist", href: "https://www.producthunt.com/launch" }],
584+
},
585+
{
586+
text: "Twitter / X: post a build-in-public thread. Show the screenshot, the metric you care about, the ask. Tag #buildinpublic #indiedev. Reply to 10 accounts in your niche daily for the next week.",
587+
detail: "Following count doesn't matter. Consistency + engagement does. After 30 days of daily replies, your impressions 10–20x.",
588+
},
589+
{
590+
text: "DM your first 30 users individually for a review/feedback. Not a broadcast — use their name, reference what they did in your app.",
591+
detail: "Conversion rate is 30–40% if asked right. Zero reviews kills install rate; 5 reviews unlocks it.",
592+
},
593+
{
594+
text: "Find 3 Discord servers / Slack communities where your target user hangs out. Lurk a week, contribute, then mention your product when relevant — never as the first message.",
595+
},
596+
{
597+
text: "App Store / Play Store: re-check the listing one more time before driving paid or organic traffic to it. Screenshot 1 must say what the app does in 5 words.",
598+
links: [{ label: "Store listing breakdown", href: "/articles/store-listing-anatomy" }],
599+
},
600+
{
601+
text: "Track every channel separately. UTM params on links from Reddit, Twitter, PH. Without UTMs you can't tell what worked.",
602+
detail: "?utm_source=reddit&utm_medium=post&utm_campaign=launch — keep it that simple.",
603+
},
604+
{
605+
text: "Kill the channel that doesn't work after 7 days. Double down on the one that does. Most launches succeed on ONE channel, not five.",
606+
},
607+
],
608+
},
609+
{
610+
heading: "Learn",
611+
description: "How experienced indie devs land their first 100 users.",
612+
items: [
613+
{
614+
text: "Watch: How to get your first 100 users as an indie hacker",
615+
links: [{ label: "YouTube", href: "https://www.youtube.com/results?search_query=first+100+users+indie+hacker+saas+launch" }],
616+
},
617+
{
618+
text: "Watch: Show HN that worked, retrospective from the launcher",
619+
links: [{ label: "YouTube", href: "https://www.youtube.com/results?search_query=show+hn+launch+strategy+how+to" }],
620+
},
621+
{
622+
text: "Read: How to launch on Reddit without getting banned",
623+
links: [{ label: "Indie Hackers", href: "https://www.indiehackers.com/post/how-to-launch-on-reddit-without-getting-banned" }],
624+
},
625+
{
626+
text: "Read: Where to launch your indie product, full channel list",
627+
links: [{ label: "Indie Hackers", href: "https://www.indiehackers.com/post/the-best-places-to-launch-your-product-in-2024" }],
628+
},
629+
],
630+
},
631+
],
632+
commonMistakes: [],
633+
resources: [],
634+
output: [],
635+
browseSlug: "launch-growth",
636+
},
637+
{
638+
step: "09",
557639
title: "Iterate",
558640
emoji: "🔁",
559641
whatThis: "Use real behavior data to decide what to fix next. Not gut feelings. Not user requests. Behavior.",

src/lib/workflow-related.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,22 @@ export const WORKFLOW_RELATED: Record<string, WorkflowRelated> = {
4141
fixIds: ["play-closed-testing-12", "app-review-rejected-vague", "vercel-prod-breaks", "env-vars-broken"],
4242
},
4343
"08": {
44+
articleSlugs: [
45+
"launching-on-google-play",
46+
"getting-your-first-app-reviews",
47+
"instagram-for-indie-apps",
48+
],
49+
fixIds: [
50+
"reddit-removed-post",
51+
"ph-launch-8-upvotes",
52+
"show-hn-sunk",
53+
"twitter-12-impressions",
54+
"five-stars-three-reviews",
55+
"rank-brand-only",
56+
],
57+
},
58+
"09": {
4459
articleSlugs: ["after-launch-troubleshooting"],
45-
fixIds: ["60-visitors-zero-conv", "ph-launch-8-upvotes", "metrics-anxious"],
60+
fixIds: ["60-visitors-zero-conv", "metrics-anxious"],
4661
},
4762
};

0 commit comments

Comments
 (0)