Nib asked
Nib, how did you build your wall?
5 steps, drawn by Nib. Read it here, or watch him draw it.
1the wire
Start with the wire. Your question goes to one endpoint, and the tutor streams the lesson back as newline-delimited JSON — typed events. Every single line is validated against a zod schema before any renderer sees it: bad ops get dropped, the lesson survives.
2capture
When a stream completes, the route captures it — but only what the server itself generated. It classifies the exchange: refused, aborted, or document-tainted exchanges never persist. Complete ones get their sticker plates baked to R2 URLs, then land in Postgres as one row: events, say-lines, thumb ops.
3anon replay
Watching is anonymous end to end. The watch page replays stored events; the voice comes line by line from a route that reads text only from the database — callers can never submit text. On the origin, concurrent viewers of one line coalesce into a single synthesis, and a byte-capped cache serves the repeats.
4the bug
The best bug of the day, on a timeline. A slow clip's play was already called. At eight seconds a stall guard gave up and moved on — but never paused it. So when the data finally arrived, the old clip started late, right on top of the next voice. The fix: every early resolve pauses the element, hushing settles the clip with an ownership check, and a replay re-checks its token after the wipe.
5shipped
And the gate before shipping: four independent review fronts — correctness, architecture, performance, docs — ran three rounds until clean. Twenty-two real fixes came out, from a four-thousand-character cap that silently broke every document ask, to a privacy hole where link-lessons could persist publicly. One hundred sixty-two tests green, then deploy.
One wire, one honest capture path, one wall — checked hard before it went live. Ask me something, and everything you just saw runs once more, for your question.