Engineering Decision Guides
Side-by-side comparisons of competing approaches, with the criteria that matter, when to choose each option and a clear verdict.
AI Agent Frameworks Compared
How should you build an AI agent: your own loop, an agent SDK, a graph framework or a hosted platform?
API Gateway vs BFF vs Service Mesh
Where should cross-cutting concerns and client-specific logic live?
At-Most-Once vs At-Least-Once vs Effectively-Once
What delivery guarantee do you need, and how do you get it?
Atomic Update vs Pessimistic vs Optimistic Locking
How should concurrent writes to the same data be controlled?
Build vs Buy vs Open Source
Should your team build this capability, buy it, or adopt open source?
Cache-Aside vs Read-Through vs Write-Through vs Write-Behind
Which caching pattern fits this data?
Choosing a Transaction Isolation Level
Which isolation level should this transaction run at?
Choreography vs Orchestration
How should services coordinate a multi-step business process?
Circuit Breaker and Resilience Libraries by Stack
Which resilience library should you use in your stack (or should the mesh do it)?
Django vs FastAPI vs Flask
Which Python web framework should you use for a new backend: Django, FastAPI or Flask?
Docker Compose vs Kubernetes
Where should you run your containers: Compose on a server, Docker Swarm, or Kubernetes?
Event Sourcing vs CRUD + Audit Log vs CDC
How should you capture history and publish changes?
Full Sync vs Delta Sync vs CRDTs
How should a mobile or offline-first app synchronize data with the server?
Hash vs Range vs Directory Sharding
How should data be split across database shards?
Helm vs Kustomize
How should you package and customise Kubernetes manifests: Helm charts, Kustomize overlays, or both?
Hosted Checkout vs Embedded Fields vs Direct API
How should your product integrate card payments with a PSP?
Kafka vs RabbitMQ vs SQS vs Redis Streams
Which message broker fits your workload?
Kubernetes vs Serverless vs Container PaaS
Should you run services on Kubernetes, a container platform-as-a-service, or serverless functions?
MCP vs In-App Tool Calling
Should your agent's tools be defined in your app, served over MCP, or not be model tools at all?
Next.js vs React Router (Remix) vs Astro
Which full-stack web framework fits your project: Next.js, React Router's framework mode (the successor of Remix), or Astro?
Offset vs Cursor vs Keyset Pagination
How should a collection endpoint paginate?
OpenAPI vs AsyncAPI vs Protobuf
Which contract format should describe your API?
ORM vs Query Builder vs Raw SQL
How should application code talk to a relational database: a full ORM, a query builder, or SQL with code generation?
Polling vs Push vs Persistent Connections for Mobile
How should a mobile app learn about server-side changes?
Polling vs Webhooks (vs Streaming)
How should clients learn that something changed on your server?
RAG Chunking Strategies Compared
How should you split documents into chunks for retrieval-augmented generation?
Rate-Limit Algorithms Compared
Which rate-limiting algorithm should you implement?
React vs Vue vs Angular vs Svelte
Which front-end framework should a team pick for a new web application?
REST vs GraphQL vs gRPC
Which API style should you use for a new API?
Retry Strategies Compared
How should clients retry failed calls?
Rewrite vs Incremental Refactor vs Strangler Fig
How should you deal with a legacy system that slows the team down?
Scaling Reads: Cache, Replicas or Read Models?
Reads are overloading the database — where should they go?
Sessions vs JWT vs Opaque Tokens for Mobile Apps
What kind of credentials should a mobile app hold?
Staff Engineer vs Tech Lead vs Team Lead vs Engineering Manager
Which senior path fits what you want to spend your days on?
Story Points vs Throughput Forecasting vs No Estimates
How should your team estimate and forecast delivery?
Streaming vs Synchronous vs Batch LLM Calls
How should your application call an LLM for a given feature?
Strong vs Eventual Consistency
Which consistency guarantee does each part of your system need?
Team Structures: Stream-Aligned vs Component vs Platform Teams
How should you organise engineering teams?
Temporal vs Step Functions vs Queue + State Machine
What should run your long-running business workflows?
TTL vs Delete-on-Write vs Event-Driven Invalidation
How should cached data be kept fresh?
URL vs Header vs Date-Based API Versioning
How should you version an API when breaking changes are unavoidable?
Vector Databases Compared
Where should you store embeddings for semantic and hybrid search?
WebSockets vs SSE vs Long Polling vs Webhooks
How should your system push updates in real time?
Where to Store Idempotency Keys
Database, Redis or both — where should idempotency records live?