Notes from building the things under Work. Mostly technical, occasionally not.
⌕
Binding to localhost is where it starts. Once models can fetch pages, write files and run commands, most of the design is deciding what not to do.
The algorithm fits on one screen. Encryption at rest, replay protection, attempt limits and recovery codes are where the real decisions are.
Null geodesics, a WebGPU compute shader, and why the first frame is allowed to look terrible.
A year of ladder logic and cabinet wiring, and what two decades of writing the software above it had not taught me.
Keyword search forgives typos, embeddings find synonyms. Fusing them means refusing to compare their scores, and giving vector search a way to say no.
Making the same TypeScript produce identical verdicts in a browser tab and a Node process, and the tank that showed they only agreed by accident.
Interfaces are not contracts here. Structural typing is a gift and a trap. On giving up the class hierarchy I spent a career building.
Retained messages, QoS that does not mean what you think, and a home automation rig that would not stop replaying last Tuesday.