Writing
Blog
Thoughts, learnings, and things I find interesting.

What I learned building a nudge service
August 22, 202614 min readOur nudges were hardcoded on the frontend, which is fine until it very much is not. My job was to take the whole thing end to end. Here is what a nudge actually is, the design that replaced it, the five things that broke on the way, and what I would do next.
ArchitectureTypeScriptProduct EngineeringBackend
Teaching JavaScript to hold a pencil
August 16, 20266 min readNone of these faces are AI images or stored files. Each one is drawn at runtime from a name, using about 1,800 lines of plain JavaScript. Here is how the drawing works, why a perfect line looks wrong, and the bug that made five hairstyles render bald.
CanvasJavaScriptGenerative ArtProcedural Generation
AI Assistant with SMTP setup
January 19, 20254 min readLearn how to build an AI assistant that can chat intelligently and handle email communications securely using Google Gemini Pro, with built-in rate limiting and security features.
AINext.jsTypeScriptGoogle GeminiEmail Service