Blog
Notes from the day-to-day of building software.
-
Teaching Snake to play itself with TensorFlow.js
A weekend spent training a Deep Q-Network to play Snake, all in JavaScript. Why TensorFlow.js was the right call, where pure learning hit a wall, and the one annoying thing I had to sort out to get the GPU working on Linux.
-
Two bits per number, and the search still works
Building a mood-based movie search engine on Turbovec — and why crushing a 384-dimension embedding down to two bits each, with no training data, still feels like getting away with something.
-
Two models, one box of crayons
Building a "type what to segment" web app out of Grounding DINO and SAM 2.1 — and why glueing two foundation models together still feels like cheating.