Writing
How the words on the site are set. These are the conventions the writing already follows, read back from the site itself — the public output standard, not the process behind it.
Spelling
Prose is British English: behaviour, colour, organise, licence. The two exceptions are deliberate and both live in code, not prose. A code identifier keeps whatever spelling its API uses, so a color property stays color. And across the Module Federation writing, artifact is a term of art — a published, versioned module — so it keeps that spelling while ordinary prose still writes artefact.
Do
Don’t
Case
Sentence case is the house style: page titles, section headings, article headings, buttons and labels capitalise the first word and any proper nouns, and nothing else. The top navigation is the one standing exception, kept in title case.
Do
Don’t
Dates
Dates are British. An article date spells the month in full — 29 March 2026. A role range abbreviates the month and keeps the year — Mar 2016 to the present — and an open range closes with the word Present, never a trailing dash.
Do
Don’t
Punctuation
The serial comma is the default: labels, hints, and states. Exclamation marks stay out of prose. Truncation and loading states use the single ellipsis character, an aside takes a spaced em-dash, and a metadata row separates its parts with a middot. Three full stops in a row belong to code, not sentences.
Do
Don’t
Links
Link text describes where it goes. The site never links the words click here or read more, or a bare here or this; a link reads as the thing it points at.
Do
Don’t
Brand and product names
Product names keep their official spelling and casing. React Native and Module Federation are two title-case words each; Pokémon and Pokédex always carry the accent; App Store is two words. Where a name has an exact form, match it rather than tidy it.
Do
Don’t
Cross-linking
Posts point at each other freely: a sentence that mentions the token-refresh post links to it, with the link text naming the destination as above. Links may even point at posts that have not shipped yet: the words simply render as plain text, so nothing ever 404s, and they become a link on their own when the target publishes. Forward references are written once and resolve themselves.
Each post can hand-pick up to three related posts; posts without picks fall back to shared tags. A further-reading shelf tops that up with quieter posts the reader has probably not met, capped at nine in total, so it stays a recommendation rather than an archive.
Inside a series, previous and next stay inside the series: part five points at parts four and six, never at an unrelated post that happened to publish next to it. Only at the ends of a series do the arrows fall back to the neighbouring post by date.
Disagreeing in print
Technical writing here disagrees a lot: with defaults, with popular libraries, with received wisdom. The rule is to steelman first. State the opposing view in its strongest form, credit what it gets right, then show where it stops working for the case at hand. The disagreement lands as an observation about fit, not a condemnation.
Do
Don’t
Two habits support it. Claims that are not absolute are not written as absolutes: “X never works” becomes “X was not designed for Y”. And there are no defensive openers: sentences do not start with “To be clear” or “Just to clarify”.
Social teasers
When a post is shared on LinkedIn, the share is a teaser, not a summary. Its one job is to open a curiosity gap the article closes: state a tension, name a specific detail without explaining it, and point forward. If the reader feels satisfied without clicking, the teaser failed.