how i structure x launches to go viral
a 4-part teardown of what makes strangers stop scrolling, read, and bookmark a dev launch.
most developers spend three weeks building a tool and five minutes writing the launch post.
then they open with "introducing x, a modern open-source y built with rust and typescript."
if someone already follows you, they might click out of curiosity. if they don't know who you are, they scroll past in half a second. a stranger on x doesn't care what your repo is called yet. they only care about a problem they already have, a number that surprises them, or something cool they can see working right now.
here is the exact 4-part structure i use to write launch posts, why each piece works, and how to use it on your next release.
01. write the first line for a stranger, not your existing users
the first line has one job: make someone who has never heard of you stop scrolling and look at the media below it.
there are three openers that consistently work for developer tools. pick the one that fits what you built:
1. the annoying problem everyone recognizes. when i launched convt, i didn't put the project name in the first line. i started with the exact frustration everyone hits when they need to convert a file:
![]() line 1 names the problem before naming the repo |
line 1 states the problem ("every online file converter makes you upload your files to a random server"). line 2 names the tool. line 3 explains how you use it in seven words ("right-click any file, pick a format, done"). by the time you read the bullet points, you already know why it exists.
2. the test you ran so they don't have to. developers bookmark benchmarks because you saved them an afternoon of setup. if you build infrastructure, sdks, or dev tools, test the top providers in your space under the exact same workload and publish the raw results:
![]() the first line states what was tested, and the chart puts all 5 providers in one frame |
notice there is no warm-up paragraph. line 1 says what was tested (5 object storage providers from 6 global regions), the bullet list tags the providers so people in those ecosystems see it, and the image shows all four panels (time to first byte, download speed, failed uploads, and monthly cost) at a glance.
3. the one-sentence capability. if your tool is visual or adds a concrete capability to an existing workflow, state what the user or their agent can now do in one plain sentence:
![]() one sentence stating what the agent can now do, paired with the full catalog grid |
before you hit post, run this 3-second test on your first line:
✕ cut if line 1 starts with "introducing [name], a new open-source tool i built..." ✓ rewrite so line 1 starts with the annoying workflow your tool eliminates |
✕ cut if line 1 starts with "excited to announce v0.2 of our sdk with..." ✓ rewrite so line 1 starts with the test you ran and how many providers you measured |
✕ cut if line 1 starts with "built a fast, lightweight library in rust for..." ✓ rewrite so line 1 starts with what the developer can do in one sentence |
keep reading
free for subscribers. enter your email to unlock.


