Write technical posts that are useful first and engaging by design. Start from a tension, failure, edge case, or incomplete mental model; create a reason to keep reading; then teach through a concrete example and progressively reveal the broader technical model.
Tension → Question → Concrete example ↔ Explanation → Trade-off → Complication → Synthesis
Create demand for the explanation before giving it.
Identify what the intended reader probably already knows and what they should understand, believe, or be able to do differently after reading.
Start from one of:
Avoid opening with definitions, taxonomy, or a complete architecture diagram.
Turn the tension into a concrete technical question the post will resolve.
Use a realistic query, API call, failure, dataset, benchmark, architecture decision, or debugging scenario as the narrative spine. Return to it throughout the post.
Explain concepts only when the example creates a need for them.
Prefer:
problem → question → concept → application
rather than:
definition → definition → example
Use code, diagrams, tables, measurements, and concrete examples when they communicate more efficiently than prose.
Use realistic constraints such as ambiguity, latency, cost, scale, low-result cases, conflicting signals, and failure recovery.
Each complication should teach a trade-off, not merely introduce another component:
problem → options → trade-off → decision → consequence
Resolve one question while naturally exposing the next useful question.
Show the full architecture, taxonomy, framework, or diagram only after the reader understands why the pieces exist.
Conclude with:
Ground important claims in measurements, concrete examples, primary references, or clearly labelled experience. Distinguish established facts from inference, convention, and opinion.
Prefer recognisable topic + interesting tension.
Make the subject clear to the intended reader while leaving an unresolved question, contradiction, or implication. Avoid vague clickbait.
Title: recognisable topic + tension
Reader's familiar model
↓
Tension / edge case / surprising result
↓
Central question
↓
Concrete example
↕
Technical explanation
↓
Trade-off / complication
↕
Further explanation
↓
Full model / architecture
↓
Practical recommendations + alternatives
↓
Corrected mental model
Before finalising, verify: