Blog
Notes on engineering, distributed systems, and AI-assisted development.
- Series · 3 parts
Idempotency in Practice
The exactly-once lie, a Stripe-style key store in Postgres, and Kafka’s exactly-once perimeter.
- Series · 3 parts
Distributed Clocks and Ordering
Wall clocks, logical clocks, and the hybrid clocks production databases run on.
- Series · 3 parts
CRDTs from Scratch
Theory, code, and libraries for conflict-free replicated data types.
- Series · 4 parts
Event Sourcing from the Ground Up
A log-shaped tour from foundations to CQRS to production realities.
-
Turn Your Coding Agent into a Grounded Coding Assistant
Using Docs-MCP-Server to ground a coding agent in real, up-to-date library docs so it stops hallucinating APIs that don't exist.
-
A Self-Hosted “Read ↔ Listen ↔ Ask” Reader: My Journey & How to Use It
Stitching together a local EPUB reader, Orpheus TTS, and an LLM into a self-hosted reading workflow that fits how I actually read.
-
Software Engineering in the Time of AI
AI is already part of the developer’s toolkit, but it’s not the revolution many are claiming. Its value lies in automation, not intelligence.
- Series · 4 parts
Airflow on Kubernetes
Deploying, scaling, and operating Apache Airflow on Kubernetes.
-
Building a Vision-Language API to Convert PDFs into Markdown with SmolDocling
Building a blazing-simple API on top of SmolDocling, an ultra-compact vision-language model that turns messy PDFs into clean, structured Markdown: tables, equations, code blocks, and all.
-
Monitoring Next.js with Prometheus in Kubernetes
Wiring Prometheus into a Next.js app via Server Actions and deploying the whole thing inside a Kind cluster.