Skip to content

Tweet Thread

A sequence of numbered short posts (1/, 2/, 3/…) each under 280 characters, telling one connected story or making one connected argument across the chain.

A tweet thread is a chain of short posts (commonly 5 to 25) where each post stands on its own and also pulls the reader forward to the next. The lead is the hook; the middle carries the substance, one beat per tweet; the close lands the takeaway. The hard 280-character budget per post forces tight prose: no warm-up sentences, no transitions, no asides. Every tweet has to earn its position.

1/ [Hook tweet - works as a standalone post; promises a payoff; under 280 chars]
2/ [Set up the problem or the question - one beat, one idea]
3/ [First main point or first piece of evidence]
4/ [Second main point or example - keep momentum]
5/ [Turn, twist, or surprising detail - the moment that justifies the thread]
6/ [Synthesis or implication]
7/ [Closing takeaway - the line you want quoted back at you]
8/ [Optional CTA: link to longer piece, follow, retweet if useful]

Use a tweet thread for public commentary where reach matters, for distilling a longer piece into a shareable summary, for live commentary on an event, or for building an audience around a topic over time. The format is at its best when you have one clear argument or one clear story that can survive being chopped into discrete beats.

Do not use a thread for private team communication (use slack-message). Do not use it for long-form essays where the argument needs continuous prose (use blog-post-long-form). Do not use it for anything emotionally complex that will collapse under 280-char compression. Do not use it for formal or authoritative communication.

columnist, playful, candid

slack-message: Both are short async digital messages, but a Slack message is private team communication inside a channel, while a tweet thread is public broadcast to a general audience. The voice, the stakes, and the conventions are completely different - Slack rewards being scannable to teammates; threads reward being quotable to strangers.

Write a tweet thread of [N] numbered tweets, each under 280 characters. The lead tweet must work
as a standalone post and promise a payoff strong enough to make a curious reader open the thread.
Each subsequent tweet should carry one idea, one beat, or one example - do not slice a paragraph
across tweets. Use line breaks generously; white space is part of the format. The closing tweet
should land the takeaway in a quotable line. Optionally add a final CTA tweet with a link or
follow ask. Voice should match the platform: candid, confident, occasionally playful. Avoid
corporate-speak; the thread format rewards plain language and direct opinion.

See the Tweet Thread template.

Columnist, Playful, Candid

Pastoral, Reverent

Slack Message

1/ We killed our daily standup six months ago. 11 engineers, 4 timezones. Here is what happened, and what I would tell another EM thinking about it.

2/ The math that broke us: 9am Pacific standup = 9:30pm IST. Our India team attended 3.2 out of 5 days. Our US team showed up 4.6. We were running two different teams pretending to be one.

3/ The 14-minute meeting produced about 4 minutes of signal. The rest was round-robin throat-clearing. And none of it persisted. By Wednesday, nobody remembered what Monday’s standup covered.

4/ The replacement: post in #team-standup before 10am local. Three fields. Shipped. In progress. Blocked or at risk. If you are blocked, @mention the person who can unblock. That is the entire ritual.

5/ The sync time did not disappear. We banked it into one 60-minute Thursday working session. Real decisions, real design conversations. If there is no agenda by Wednesday, we cancel.

6/ Week 2 numbers: 47/55 posts on time. Median blocker resolution: 18 minutes. India engineers contributed every weekday for the first time ever. Five person-hours per week recovered, net of the Thursday slot.

7/ The thing nobody warns you about: writing is harder than talking. Engineers who breezed through sync standups struggled with the post. That is a feature, not a bug. The async post forces clarity.

8/ What I got wrong: I underestimated the on-call triage load. Reading 11 posts and routing blockers takes 25 minutes some mornings. We are watching whether to rotate this faster.

9/ If you try this: do not half-async it. A daily call plus an async post is just more work. Pick one. We picked async, with a single weekly synchronous slot held for the things async cannot do.

10/ The hardest part is not the process. It is convincing senior leadership that an engineering team without a daily standup is still a team. Show them the blocker resolution times. The data does the arguing.