Ideas, patterns, and field notes.
Practical writing on software engineering, architecture, and artificial intelligence.
Software Architecture Beyond Diagrams
Good architecture is a system of reversible decisions, explicit boundaries, and fast feedback.
Continue reading ↗Microservices: When Are They Worth the Complexity?
A practical guide to choosing between a modular monolith and independent services.
Continue reading ↗Building Reliable Production RAG
From retrieval and reranking to evaluation: what turns a RAG demo into a product.
Continue reading ↗Architecture for LLM Applications
Patterns for cost control, observability, safety, and quality in language-model products.
Continue reading ↗Pragmatic Clean Architecture in .NET
How to preserve architectural boundaries without ceremonial layers.
Continue reading ↗Next.js for Platform Teams
Rendering, caching, and data-ownership contracts in large Next.js systems.
Continue reading ↗Fast and Secure Docker Builds
Reducing attack surface and build time with deliberate layering and supply-chain controls.
Continue reading ↗Operational Readiness in Kubernetes
What to measure, constrain, and automate before moving workloads into a cluster.
Continue reading ↗PostgreSQL Performance Contracts
Indexes, pooling, and query budgets as first-class product design concerns.
Continue reading ↗System Design Under Uncertainty
How to plan for capacity, failure, and growth without over-architecting.
Continue reading ↗Software Security by Design
Threat modeling, least privilege, and auditability as architectural capabilities.
Continue reading ↗AI Products That Earn Trust
Trust emerges from visible constraints, continuous evaluation, and thoughtful UX.
Continue reading ↗Evolutionary Architecture and Changeable Decisions
Fitness functions and modular boundaries make change less expensive.
Continue reading ↗