Skip to content

09 · Post variants: 20 kinds of X post and when to use each

Five characters holding a clapperboard, a lightbulb, a chart, speech bubbles and a price tag

The 7-day rotation in 05-post-formats.md says which day gets which kind of post. This page lists every kind (variant) that works for an indie dev selling software, grouped into 5 families. Each variant has a copy-ready file in templates/variants/ in the post-file format.

Why so many? Because the ranker's author-diversity decay and "not interested" signal punish sameness (03-how-x-ranks-posts.md). Rotating variants keeps every post fresh while the facts behind them come from one fact bank.

The 5 families

Family Job Share of the week Main signal it earns
🎬 Show Let people see the product working 2 of 7 Follow, profile visit
🧠 Teach Give value that works without buying 2 of 7 Copy-link share (weight 20), bookmark
📊 Prove Real numbers and real users 1 of 7 Reply, bookmark, trust
💬 Talk Start conversations, meet people 1–2 of 7 Reply (weight 5, +15 between mutuals)
💰 Sell Ask, once max 1 of 7 Profile visit → landing → trial

Weights are the defaults in X's open-source ranker; see 03-how-x-ranks-posts.md.

The 20 variants

# Variant Family Stage Link Media Use when
V01 Demo clip 🎬 Show share first-comment 10–30 s screen recording, captions Every week; the pinned post is one
V02 Before / after 🎬 Show share first-comment 2 images side by side, or a split clip The product changes a visible mess into order
V03 Shipped today 🎬 Show update none 1 screenshot of the new thing You released a feature or fix
V04 Screenshot tour 🎬 Show share first-comment 4 images, one caption each A product with several screens (new landing, new app)
V05 Tip without your product 🧠 Teach share none Optional screenshot Weekly; builds trust and shares
V06 Checklist / cheat sheet 🧠 Teach share none 1 clean image of the list You know a process by heart
V07 How-to long post or thread 🧠 Teach share first-comment 1–4 images Saturday; something you learned the hard way
V08 Honest comparison 🧠 Teach discuss none Table image People ask "A or B?" in your niche
V09 Free resource 🧠 Teach share first-comment Preview image You have a template, skill file, checklist to give
V10 Number with context 📊 Prove results none Screenshot of the dashboard A metric moved and you know why
V11 Weekly numbers / milestone 📊 Prove results first-comment Optional chart Sunday; or a round milestone
V12 User feedback 📊 Prove results first-comment Screenshot, with permission A real user said something specific
V13 Community intro / hello 💬 Talk warmup none Optional photo or product grid Joining an X Community or a new niche
V14 Behind the scenes / decision 💬 Talk share none Screenshot of code, design or notes You made a choice others face too
V15 Failure / bug story 💬 Talk share none Screenshot of the error or rejection Something broke or got rejected
V16 Question / poll 💬 Talk discuss none Poll or none You're really deciding something
V17 Contrarian take, with proof 💬 Talk discuss none Optional You disagree with common advice and have a reason
V18 Quote post that adds value 💬 Talk discuss none Your own screenshot A bigger account posts something you can add data to
V19 Offer (the one ask) 💰 Sell deal first-comment Demo clip or product image Once a week, or a real time-limited deal
V20 Launch announcement 💰 Sell deal first-comment Demo clip + 1 image Launch day of a product or a big version

Paid, later: a Promoted post is not a separate variant. When one organic post clearly beats the rest (replies, profile visits, trials), you can promote that exact post from its activity view; X logs each promotion as its own campaign and says there's no minimum campaign spend (How to increase your reach, X Ads campaigns 101). Ads with "bonus / claim your offer" creative are a different game: only after the funnel converts organically (strategy-spend-and-timing).

A week built from variants

Day Family Pick one
Mon 🎬 Show V01 demo · V02 before/after · V04 tour
Tue 📊 Prove V10 number · V12 user feedback
Wed 🧠 Teach V05 tip · V06 checklist · V08 comparison · V09 free resource
Thu 💬 Talk V14 behind the scenes · V15 failure · V17 contrarian
Fri 💬 Talk V16 question / poll · V13 community intro (new community)
Sat 🧠 Teach V07 how-to long post
Sun 📊 Prove + 💰 Sell V11 weekly numbers, with V19 offer in the reply (or V20 in a launch week)
Any day 🎬 Show V03 shipped today, when you ship (counts as that day's post)
Daily 💬 Talk V18 quote posts and plain replies: 06-reply-playbook.md

Use each variant at most once a week, and don't repeat the same variant for the same product two weeks in a row.

A real comparison (two posts, same account, same hour)

Real case, the maintainer's account, screenshot 2026-10-12. Small base and only minutes after posting, so read it as a direction, not a result.

Post Variant Early numbers Why
"Hi Build in Public 👋 I'm Leo, solo dev shipping small Mac + Windows apps. All my specs, plans and Claude skills live in .md files…" V13 community intro ~142 views, 9 replies, 10 likes at ~24 min Spoke to one community, in first person, with a real problem; the community surfaced it to members
"Ever wondered how to make your landing page stand out, convert visitors… Stop reinventing the wheel. Start building smarter." + a landing screenshot none (generic hook) 4 views at ~13 min Ad-style opener, two clichés, and the image (a Mac cleaner landing) didn't match the text (Claude skills)

Rewrite of the second post as a V02 before / after (fill the <…> with real facts):

Rebuilt the landing page of my Mac cleaner with one Claude skill file.

Before: feature list, no demo.
After: one hook, a 30-second demo, one "Try free" button.

<what changed in clicks, or "will share numbers in 2 weeks">

Image: the old page next to the new one. Link to the skill or the page in the first reply.

Rules every variant follows

Short version below; the full page is 10-best-practices.md.

  1. The first line works alone in the feed: a problem, a number or a result. No "Ever wondered…", "Here's the thing…".
  2. The image or clip shows exactly what the text says.
  3. One idea per post. The link goes in the first reply or the bio, unless you're testing link-in-post.
  4. Every number is real, dated and has its base (social-credible-posting).
  5. Answer every reply in the first hour.