Blog
Notes on product, AI automation, and technical decisions. No editorial gloss.
2026-06-16
LLM regression protocol: golden sets, deterministic matchers, and update policy
How to structure a golden set to catch regressions on prompt and model changes without an LLM-as-judge: file format, matcher tiers, CI policy, and update rules.
Read2026-06-13
Advisory locks and connection pools: the silent leak (and how to avoid it)
Why session-scoped pg_advisory_lock survives COMMIT and breaks transaction-pooled connections, how to reproduce with psql and pg_locks, why SKIP LOCKED is the wrong tool to serialize one known job key, and a production-ready blocking query.
Read2026-06-10
Partial indexes in PostgreSQL: EXPLAIN ANALYZE proof and a negative control
Deterministic dataset, same EXPLAIN in phase A and B: what to look for in EXPLAIN (ANALYZE, BUFFERS) before and after the partial index, plus a sample plan for the negative control on rows with status closed.
Read2026-06-07
Prompt caching: structuring prompts and measuring savings
How to package stable system/user prompts where providers support caching, and how to estimate token savings.
Read2026-06-04
better-sqlite3 without blocking the event loop: workers and Nitro
Worker-thread patterns for synchronous SQLite queries in Node/Nitro apps and what to monitor in production.
Read2026-06-01
ORMs and migrations on serverless: operational criteria
A comparison grid for migrations, cold starts, and type safety across common ORMs without crowning a universal winner.
Read2026-05-29
Monorepos for a small SaaS: when they pay off and what to skip
When pnpm workspaces (and optional Turborepo) help a single product team and what not to configure on day one.
Read2026-05-26
Sessions and refresh tokens in SPAs: patterns and common mistakes
Storage, rotation, and realistic threats when an SPA consumes APIs with cookies or bearer tokens.
Read2026-05-23
Edge vs Node for LLM and DB routes: limits and split patterns
What breaks in edge runtimes with DB drivers and LLM calls, and how to partition routes in production.
Read2026-05-20
Stripe webhooks: idempotency, duplicates, and concurrency
Minimal schema and transactional handling for duplicate, out-of-order, at-least-once webhook delivery.
Read