Blog

System design, taken apart properly.

Long-form breakdowns of real systems — the architecture, the failure modes, and how to actually present them in an interview.

System DesignSecurityNetworkingInfrastructure16 min read

Firewall Explained: How It Actually Secures an Organisation

A firewall is not just a box that blocks ports. It is a policy engine that decides which traffic is trustworthy based on identity, state, behaviour and context. Here is how that decision is made.

Read the deep dive
CareersForward Deployed EngineerSystem DesignInterviews16 min read

Forward Deployed Engineer (FDE) Roadmap: The Role, The Loop, The Prep

Half product engineer, half consultant, entirely accountable for the customer's outcome. A practical roadmap for the fastest-growing engineering title in AI.

Read the deep dive
HTTPNetworkingSystem Design14 min read

Everything You Need to Know About an HTTP Request

An HTTP request is a plain text envelope on top of a very carefully engineered stack. Here is the whole journey — resolution, handshake, framing, headers, body, response, reuse.

Read the deep dive
HTTPAPI DesignSystem Design13 min read

All HTTP Methods Explained: GET, POST, PUT, PATCH, DELETE and the Rest

Methods are contracts, not labels. Safety and idempotency decide what a proxy may cache, what a client may retry, and what a crawler is allowed to touch.

Read the deep dive
HTTPAPI DesignSystem Design12 min read

PUT vs PATCH vs POST: Choosing the Right Write Method

They all write. They differ in who owns the resource identity, whether the payload is complete, and what happens when the client retries after a timeout.

Read the deep dive
HTTPAPI DesignNetworking12 min read

HTTP Status Codes and Headers: The Practical Guide

Returning 200 with an error inside the body is the most common API design mistake there is. Status codes are the machine-readable half of your contract.

Read the deep dive
APIsSystem DesignArchitecture14 min read

Types of APIs Explained: REST, GraphQL, gRPC, WebSockets, Webhooks and More

There is no best API style. There is a request/response axis, a streaming axis, and a who-calls-whom axis — and most real systems use three of these at once.

Read the deep dive
APIsAPI DesignHTTP13 min read

REST API Design: Constraints, Resources, Versioning and Pagination

REST is a set of architectural constraints, not a JSON-over-HTTP aesthetic. The constraints are what buy you caching, scalability and clients that do not break.

Read the deep dive
APIsGraphQLSystem Design14 min read

GraphQL Explained: Schema, Resolvers, N+1 and When Not To Use It

One endpoint, a typed schema, and clients that ask for exactly what they need. The power is real; so are the N+1 queries, the lost HTTP caching and the DoS surface.

Read the deep dive
APIsgRPCSystem Design13 min read

gRPC Explained: Protobuf, HTTP/2, Streaming and Deadlines

Contract-first RPC over HTTP/2 with binary payloads. Smaller, faster and strictly typed — at the cost of browser support and human readability.

Read the deep dive
APIsRealtimeSystem Design13 min read

Realtime APIs: WebSockets vs SSE vs Long Polling vs Webhooks

Most teams reach for WebSockets when Server-Sent Events would do the job over ordinary HTTP with free reconnection. Here is how to tell the difference before you commit.

Read the deep dive
Design PatternsSystem DesignArchitecture16 min read

10 Design Patterns You Need in the AI Era

Code generation got cheap. Reasoning about production failure modes did not. These ten patterns are the vocabulary senior engineers use to describe what breaks and why it stays contained.

Read the deep dive
Design PatternsSystem DesignDistributed Systems13 min read

Saga Pattern: Transactions That Span Multiple Services

Payment succeeded, inventory failed, the customer is charged for stock you do not have. A saga is the disciplined answer to partial failure across service boundaries.

Read the deep dive
Design PatternsSystem DesignReliability12 min read

Circuit Breaker: Stop One Slow Service From Taking Down Everything

Checkout did not break. It waited. Threads piled up behind a slow recommendation call until the pool was gone. A circuit breaker is how you refuse to wait.

Read the deep dive
Design PatternsSystem DesignReliability11 min read

Bulkhead Pattern: Containing the Blast Radius

Recommendations went slow and payments stopped. Not because they were related — because they shared a thread pool. Bulkheads make that impossible by construction.

Read the deep dive
Design PatternsSystem DesignDistributed Systems13 min read

Transactional Outbox: When the Database Commits but Kafka Never Hears

The order exists. The event does not. Inventory never reserved, the warehouse never printed a label, and no error was logged anywhere. The dual-write problem, and its standard fix.

Read the deep dive
Design PatternsSystem DesignAPIs12 min read

Idempotency: Why the Same Request Twice Must Charge Once

The user tapped PAY NOW once. The network timed out, the SDK retried, and ₹5,000 left their account twice. Idempotency is the cheapest insurance in distributed systems.

Read the deep dive
Design PatternsSystem DesignDatabases13 min read

CQRS: When Reads and Writes Stop Wanting the Same Database

Your normalised order schema is perfect for writes and terrible for the six-join query powering search. CQRS stops pretending one model can be optimal for both.

Read the deep dive
Design PatternsSystem DesignPerformance12 min read

Cache-Aside: The Default Caching Strategy and Its Sharp Edges

Your database should not answer the same query ten thousand times an hour. Caching is easy; invalidation, stampedes and staleness are the actual engineering.

Read the deep dive
Design PatternsSystem DesignArchitecture12 min read

API Gateway: One Front Door for Many Services

Ten services, three clients, thirty integration points and auth implemented ten slightly different ways. The gateway collapses that into one edge you can actually reason about.

Read the deep dive
Design PatternsSystem DesignArchitecture13 min read

Strangler Fig: Replacing a Monolith Without a Big-Bang Rewrite

Two years of parallel development, a frozen legacy system and a launch weekend nobody survives. Or: move /products this sprint, keep everything else running, and repeat.

Read the deep dive
Design PatternsSystem DesignDistributed Systems14 min read

Event-Driven Architecture: Loose Coupling and the Bill That Comes With It

Adding an analytics consumer should not require a pull request on the order service. That is the promise. The price is that 'done' no longer has a single moment in time.

Read the deep dive
System DesignAIGraphs14 min read

Multi-Agent Orchestration Patterns: Supervisor, Pipeline, Swarm and Hierarchy

Multi-agent is a topology decision, not a vibe. Pipeline, supervisor, hierarchy and swarm each fail differently — pick by coupling and failure containment, not by how impressive the diagram looks.

Read the deep dive
System DesignAIGraphs13 min read

Entity Resolution: The Hardest Part of Any Knowledge Graph

Every failed knowledge graph project I have seen failed here. Extraction is easy now; deciding that 'Acme Corp' and 'ACME Corporation Ltd' are one node is still genuinely hard engineering.

Read the deep dive
System DesignAIGraphs14 min read

GraphRAG vs Vector RAG: Which Retrieval Architecture Actually Fits

Vector search answers 'what does the corpus say about X'. It cannot answer 'which suppliers are two hops from a sanctioned entity'. Knowing which question you have is the whole architecture decision.

Read the deep dive
System DesignAIGraphs15 min read

Build Agentic Workflows with Graph Engineering (LangGraph in Practice)

A prompt chain is a straight line. Real agents need loops, retries, human approval and resumability — and that is exactly what modelling the workflow as a graph gives you.

Read the deep dive
System DesignAIGraphs16 min read

Build Your Own Knowledge Graph: A Practical End-to-End Guide

Most knowledge graph tutorials stop at 'here is a node and here is an edge'. This one walks the whole pipeline: ontology first, extraction second, entity resolution third, and only then the database.

Read the deep dive
System DesignAIGraphs15 min read

Graph Engineering in AI: Agentic Graphs vs Knowledge Graphs

One phrase, two disciplines. Agentic graph engineering shapes how an LLM application executes; knowledge graph engineering shapes what it knows. Confusing them is why so many AI architecture discussions go sideways.

Read the deep dive
System DesignAIProtocols14 min read

How MCP Works: The Model Context Protocol, Explained by Design

MCP is not a product, it is a wire protocol. Once you see it as JSON-RPC plus a capability handshake plus two transports, the whole thing becomes obvious — and so do its failure modes.

Read the deep dive
Developer ToolsProductivityWorkflow13 min read

12 Free Tools That Make Developers' Lives Easier

Every tool here solves a specific daily problem: sketching architecture, decoding a JWT, testing an API, reading docs offline, or finding out what your image files are quietly carrying. All free, most open source.

Read the deep dive
EngineeringResourcesCareer18 min read

100+ Engineering Blogs Every Developer Should Read (2026 Edition)

Independent engineering blogs are where mental models come from; company blogs are where case studies come from. Here is the full map — 12 categories, 100+ links, plus the 20 that matter most if you only have time for a shortlist.

Read the deep dive
MobileSensorsMachine Learning16 min read

How Your Phone Knows You're Walking, Running or Driving

Your phone silently classifies you as still, walking, running, cycling or driving — all day, on a few milliwatts. Here is the actual pipeline: raw IMU signals, gravity separation, windowed features, a classifier, and a smoothing layer that hides its mistakes.

Read the deep dive
WebHTTPAPI Design14 min read

Every Part of a URL, Explained — Scheme, Host, Path, Query & Fragment

You read hundreds of URLs a day and probably can't name half their parts. Here's the full anatomy of a URL, with diagrams — and the rule for choosing path parameters over query parameters in API design.

Read the deep dive
System DesignPaymentsHLDLLD28 min read

How UPI Payments Actually Work — NPCI, System Design & the Interview Playbook

13+ billion transactions a month, ~7,000 TPS at peak, sub-second settlement, and near-zero tolerance for money loss. Here's how UPI is built — and how to design it on a whiteboard.

Read the deep dive