My thoughts on software development, life, and more.
My AI Workflow
2026-08-08
How I Structure React Features: The View / Logic / Interface Pattern
2026-06-26
Setting Up a Modern Python + FastAPI Environment with uv, Ruff, and Husky
2026-06-24
Celery + Playwright: The SIGSEGV You Get From Forking a Live Browser
2026-07-02
Closed-Mode Shadow DOM: The Exception to 'Always Use Open'
Why Your Embedded Widget's API Calls Get 403'd (And It's Not CORS)
Adding Conversation Memory to a RAG Chatbot Without Wrecking Retrieval
42501 Permission Denied: The Supabase Custom Schema Gotcha
A TOCTOU Race in a Dedup Pipeline, and the One-Line Upsert Fix
Crawl4AI Content Filters: Pruning, BM25, and LLM-Based Extraction Compared
2026-06-25
A Field Guide to ECMAScript Versions: ES6 Through ES2025
Shadow DOM Explained: True Encapsulation for the Web
Neovim + LazyVim: Motions, Tips, and Tricks from Beginner to Advanced
2026-06-21
Best Books for System Design
2026-01-15