I read 40 launch tweets across the last two months — mostly indie hackers, mostly vibe-coded apps, mostly products under a year old. The ones that broke through had these five things in common.
1. The hook is a concrete before/after, not a category
Bad: "Launching WrapUp — an AI-powered meeting summary tool." Good: "I stopped taking notes in meetings 6 months ago. Here's the tool I built instead."
2. There's a screenshot in the first tweet
Not a logo, not a Loom link — a real screenshot of the product doing the thing. Ideally with real content, not lorem ipsum. Attention is a first-tweet phenomenon.
3. The price is either stated or explicitly free
"Free for the first 1000 users" and "$9/month" both work. "DM me for pricing" doesn't. It reads as unfinished.
4. One-person authorship
Launch tweets that say "we built" underperform launch tweets that say "I built". Solo builders get more empathy on X — even for products that were obviously team efforts.
5. A single CTA
One link. Not four. Not one link plus a Discord invite plus a Product Hunt link plus a waitlist form. Pick one. The site can do the rest of the funnel.
The rewritten headline WeVibe suggests, explained
When we generate a rewrite, we optimize for the same five properties: a concrete before/after, no vague noun-of-noun phrasing, no marketing-speak like "leverage" or "streamline". A crisp promise beats a clever one.