Now page
A date, long-form .content, and the one place a progress bar is honest — real, in-flight work rather than a fake loading state.
What I am building, writing and reading right now — updated by hand, not generated.
Mostly prose, on purpose
A date, a heading, and .content. A status update does not need a card to be read.
Updated Jul 2026
.t-slate-sm — the one device the prose borrows
The one honest progress bar
A progress bar is usually a lie — a fake loading state for something already loaded. Here the numbers are real, in-flight and move by hand, which is the only case that justifies the component. .progress-labelled ships the label and the rail together.
The pages collection
home, about, archive, the legal pages
Newsletter issue 42
on grid-auto-rows: minmax(0, auto)
npm package + Tailwind/SCSS builds
the last roadmap item
.progress-labelled · .progress__bar[style=--value]