Blog
Things I learned the expensive way, written down so you don't have to.
Token-by-token LLM output breaks naive markdown renderers. Here's the block-model approach I used to keep 60fps while text streams in.
Adding Google and Apple sign-in to an existing email/password API sounds trivial. The account-linking edge cases are where it gets dangerous.
LiveKit, SIP trunks, VAD tuning and direction-aware personas: the unglamorous stack behind an agent that both makes and takes calls.
A reading streak that resets because your server lives in UTC will kill your retention loop. Here's a small protocol that fixes it.
Four products from empty repo to live stores as the only engineer. The habits that made it survivable, and the ones I had to unlearn.