Concepts
A plain-language reference library for AI-native software engineering — factual explainers on the concepts behind the code your AI tools write, from RAG and embeddings to caching, load balancing, and CI/CD.
API Design
How to design APIs that are predictable, consistent, and easy to build on — naming, versioning, errors, pagination, and more.
Database Fundamentals
A database stores and organises your app's data. This guide explains SQL vs NoSQL, when to use each, core concepts like indexes and transactions, and how to get started.
Evaluating LLM Outputs
How to build evaluation systems for LLM-powered features — covering human eval, automated checks, LLM-as-judge, eval datasets, and regression prevention.
Load Balancing
What a load balancer does, how traffic gets distributed, and what you need to know as a builder using managed platforms.
Message Queues and Async Processing
Message queues let your app offload slow work to the background so users get fast responses. This guide explains queues, pub/sub, workers, and key patterns like idempotency and dead letter queues.
Monitoring and Observability Basics
Monitoring tells you when your app is broken before your users do. This guide covers logs, metrics, error tracking, uptime monitoring, and the essential tools for small teams running live products.
Networking Essentials
What actually happens when a request travels across the internet — DNS, TCP, TLS, HTTP versions, and CDNs explained for builders.
Observability Deep Dive
The three pillars of observability in depth — logs, metrics, traces — plus OpenTelemetry, correlation IDs, and SLO-based alerting.
Rate Limiting and Throttling
Rate limiting caps how many requests a client can make in a given window. It protects against abuse, runaway costs from paid APIs, and accidental self-inflicted overload.
Resilience and Fault Tolerance
Resilience is designing your app so that when parts fail — and they will — failures stay contained instead of cascading into a full outage. This guide explains timeouts, retries, circuit breakers, and graceful degradation.
Scalability Patterns
Scalability is a system's ability to handle growing load without a rewrite. This guide explains vertical vs horizontal scaling, statelessness, caching, queues, and when to reach for each pattern.
Secrets and Config Management
Every app has settings that change between environments and sensitive values that must never leak. This guide explains the difference between config and secrets, where each should live, and how to manage rotation.
Security Best Practices for Vibe Coders
The most common security mistakes when building with AI tools — and how to avoid them. Covers API keys, environment variables, database security, authentication, and frontend vs. backend.
Serverless Compute
What serverless means, when to use it, and the trade-offs that trip up builders — cold starts, statelessness, costs at scale.
SRE and Incident Management
Site Reliability Engineering — how to set reliability targets, manage incidents calmly, and run blameless postmortems so reliability compounds over time.
Structured Outputs
Structured outputs are techniques for getting LLMs to reliably produce machine-parseable data like JSON — essential for any pipeline that needs to process model responses programmatically.
System Design Basics
System design is how the individual parts of your app — database, cache, queue, and APIs — fit together into something that's fast, reliable, and able to grow. This guide covers the core building blocks and the decisions that shape every system.
Testing and QA
Automated testing lets you ship fast without breaking things. This guide explains the test pyramid, types of tests, how they fit into CI/CD, and how to get started without overcomplicating it.
Understanding APIs
An API lets two pieces of software talk to each other. This guide explains REST APIs, webhooks, authentication, and status codes in plain English — with real examples.
WebSockets and Real-Time Communication
WebSockets and Server-Sent Events let your app push data to users without them having to ask for it. This guide explains polling, SSE, and WebSockets — with examples and guidance on when to use each.
RAG — Retrieval-Augmented Generation
RAG gives an LLM access to specific knowledge at query time by retrieving relevant documents and passing them as context — without retraining the model.