Writing
Notes from building data systems.
Technical threads on infrastructure failures, model choices, and the boundaries worth keeping.
Aug 2026
Four ways connection pooling broke my data pipeline
IPv6-only Supabase hosts, server-side prepared statements under PgBouncer, libpq pipeline mode, and an unescaped @ in a generated password.
postgrespgbouncerpythondebugginginfrastructure
Aug 2026
Why Claude Haiku, not a bigger model
Choosing the cheapest model that clears the accuracy bar.
llmclaudecost-optimizationai-engineering
Aug 2026
Direct Postgres over the BaaS SDK
Extending the same pooling and schema knowledge into a second runtime.
postgressupabasearchitecture
Aug 2026
What I deliberately didn't build
Gall's Law staging, and why semantic search stayed out when it required a second paid vendor for a non-load-bearing feature.
architecturescopingroadmap