Notes
Bugs worth writing down
Write-ups of bugs and decisions from my projects: what broke, how I measured it, and what fixed it. Each one has the numbers, because “it felt faster” is not a result.
5 min read
Two windows, one client id
A shared whiteboard where one window's edits reached nobody. The protocol was right and its tests were green — the browser had copied something I had assumed belonged to a single tab.
- Realtime
- Browser storage
- Debugging
5 min read
The refusal that named nothing
A change the room threw away stayed queued for ever: its author kept seeing an edit no one else had. Fixing it was less about the limits than about what a refusal has to carry.
- Realtime
- Protocol design
- Testing
4 min read
The lag my test browser could not see
Headless Chrome draws at 60 fps whatever the monitor. On a 165 Hz screen that hid a 146 ms frame — and the CSS property behind it was one I had decided was free.
- Performance
- CSS
- Measuring
3 min read
AnimatePresence and the pages that went blank
An exit animation in the App Router left 30 of 40 pages at opacity: 0 — header and footer on screen, content invisible, and nothing a text search could find.
- Next.js
- Framer Motion
- Debugging
