The Reading Room
Notes, reviews, and design choices regarding system architecture, event brokers, and developer experience.
Articles
Select a post to read the complete technical rationale, diagrams, and retrospective logs.
PostgreSQL index bloat and how we recovered in production
A post-mortem on how a write-heavy table choked database throughput and how we resolved it.
The fallacy of serverless DB connections
How serverless functions exhaust PostgreSQL connection limits and why pooling is mandatory.
How to shave 10 minutes off Docker builds in CI
Optimizing Docker layer caches to accelerate GitHub Actions delivery pipelines.
Securing private microservices with Cloudflare Tunnels
Bypassing exposed firewall ports in favor of secure, outbound-only tunnel routing.
Optimizing React Native bridge traffic for telemetry charts
How to avoid thread crashes when rendering high-frequency real-time charts.
Preventing cache stampedes when keys expire
Using probabilistic early expiration to survive massive concurrency spikes.
Running Hugging Face text classifiers directly in NestJS
A guide to local inference pipelines for sensitive text categorizations.
Building MCP servers for database context mapping
How to create custom tools that expose schemas securely to AI coder agents.
Debugging replica lag under write-heavy loads
How we resolved replication bottlenecks on a MongoDB dashboard database.
When you actually need PGVector instead of dedicated databases
Why Postgres with PGVector is often better than Pincone or Milvus for semantic search.
Preventing duplicate transactions with API idempotency keys
How to design secure transaction boundaries in NestJS using Redis locks.
Setting up actionable alerts in AWS CloudWatch
How to reduce notification noise and monitor actual system health.
Event brokers: why your microservices should speak Kafka
Moving from REST calls to event-driven architectures with Kafka and NestJS.
Local LLMs on edge nodes with Ollama and MCP
How to build secure, low-latency AI assistants inside your local network.
Design systems are not component libraries
Why the most valuable thing your team can build is a vocabulary, not a component.
The quiet cost of client state
Most React apps are slow not because rendering is slow, but because state lives in the wrong place.
Performance is a design decision
You cannot optimize your way out of a layout that was always going to be heavy.
Writing frontend for the engineer after you
The reader of your code is almost always someone who is not you. Write for them.
Accessibility is an architecture problem
If accessibility lives in tickets, you have already lost. It has to live in primitives.
Motion as a language, not decoration
Good motion makes a product easier to use. Bad motion is just expensive friction.