7 Building Blocks Framework

The 7 Building Blocks Behind Every System

Instagram, Netflix, and Uber look completely different. Under the hood, they're assembled from the same 7 pieces.

Prefer to watch? This lesson on video:

You Already Know More Than You Think

If you have ever used a to-do app, you have interacted with every category of building block that powers Instagram, Netflix, and Uber. The difference between those systems and a to-do app is not the types of pieces involved. It is how many of each piece, and how they are connected.

That is the core insight behind the 7 Building Blocks Framework: every software system, from a weekend project to a billion-user platform, is assembled from the same small set of components. Once you learn to see systems this way, you stop being overwhelmed by complexity. You start seeing patterns.

Why a Framework Matters Now More Than Ever

Here is the uncomfortable truth about the AI era: AI is remarkably good at writing code, and it is getting better every month. If your value as an engineer is writing code, you are competing with something that works 24/7, never gets tired, and costs a fraction of your salary.

But AI cannot design systems. It cannot look at a set of business requirements and decide "this needs a queue between the upload service and the processing worker, because users should not wait 30 seconds for their video to encode." That is an architectural decision. It requires understanding tradeoffs, user expectations, and failure modes.

The 7 Building Blocks Framework gives you a vocabulary for making those decisions. It is the difference between telling AI "build me an app" and telling AI "build me a service that accepts upload requests, drops them onto a queue, and has a worker that pulls from the queue to encode videos into three formats, storing the results in a file store."

The first prompt gets you a prototype. The second prompt gets you a system.

The 7 Building Blocks

Every system is built from two categories of blocks: Task blocks (things that do work) and Storage blocks (things that hold data).

Task Blocks (2)

Service Block

Service is the most familiar block. It receives a request and sends back a response. When you hit an API endpoint and get JSON back, you are talking to a service. It is synchronous: the caller waits for the answer.

Worker Block

Worker is the quiet workhorse. It picks up tasks from somewhere (usually a queue) and processes them in the background. Nobody is waiting on the other end. When Instagram resizes your photo into six different dimensions after you upload it, that is a worker.

Storage Blocks (5)

Key-Value Store Block

Key-Value Store is the speedster. Give it a key, get back a value. No complex queries, no relationships, just raw speed. When Twitter shows you a user's profile in milliseconds, a key-value store is doing the heavy lifting.

File Store Block

File Store is the warehouse. It holds large, unstructured data: images, videos, documents. It does not care what is inside the files. It just stores them and gives them back. Every photo on Instagram sits in a file store.

Queue Block

Queue is the shock absorber. It sits between components and holds messages until someone is ready to process them. When a million people upload photos at once, the queue absorbs that spike so the workers can process uploads at a steady, manageable pace.

Relational Database Block

Relational Database is the organizer. It stores data in structured tables with relationships between them. When you need to answer "show me all orders from this customer in the last 30 days, sorted by amount," a relational database is your tool.

Vector Database Block

Vector Database is the newest block, and the one most relevant to the AI era. It stores data as mathematical vectors, which lets it find things that are similar rather than things that match exactly. When Spotify recommends a song that "feels like" the one you just played, vector similarity is at work.

The Pattern That Changes How You See Systems

Here is what makes the framework powerful: once you know the 7 blocks, you can decompose any system.

Take Instagram. At its core:

Now take Netflix. Different product, completely different user experience. But the same blocks:

Same blocks. Different configuration. That is the pattern.

Three External Entities

Systems do not exist in a vacuum. They interact with three types of external entities:

Users trigger actions. A person taps "post," clicks "play," or requests a ride.

External Services are systems you do not control. Stripe processes your payments. Twilio sends your text messages. You call them, but you cannot change how they work.

Time is the entity most junior engineers forget. Some things need to happen on a schedule: sending daily email digests, expiring old sessions, generating weekly reports. Time is the trigger, not a user.

What the Framework Is (and Is Not)

The 7 Building Blocks Framework is a thinking tool. It gives you a shared vocabulary for talking about systems, a decomposition strategy for breaking down complexity, and a pattern library that applies across companies and industries.

It is not a prescription. Real systems are messy. They evolve. They have legacy components that do not fit neatly into categories. The framework does not tell you there is one right way to build something. It tells you there are 7 types of pieces to think about, and your job is to figure out how to assemble them.

Where to Go From Here

This article gave you the overview. The next three articles go deeper:

Each builds on the framework introduced here. And when you are ready to test your understanding, the interactive challenges let you design Instagram, Netflix, and Uber yourself using these blocks.

The framework is open source. The thinking is yours to develop.

Frequently Asked Questions

What are the 7 building blocks of system design?
Every system is assembled from seven reusable parts, split into two jobs. Two are Task blocks that do work: a Service (handles a request while someone waits) and a Worker (does work in the background when nobody is waiting). Five are Storage blocks that hold data: a Key-Value Store (fast lookup by one key), a File Store (large files like images and video), a Queue (a line of work waiting to be processed), a Relational Database (structured records and their relationships), and a Vector Database (finds things by similarity, not exact match). Instagram, Netflix, and Uber look completely different, but each is just these same seven pieces in a different arrangement.
Why are there exactly 7 building blocks?
Because work and data each break down into a fixed set of modes. Work splits into exactly two: something is either waiting on the result (a Service) or it is not (a Worker). There is no third mode. Data splits into five kinds by the shape of the data and the question you ask it: a key lookup, a large file, a waiting line of work, structured records with relationships, or similarity by meaning. Seven parts is not a memorized list. It is what falls out once you sort every component by the one job it does. That is why the same seven describe a weekend project and a billion-user platform.
How do the building blocks apply to a real system like Instagram?
You decompose the system into the parts it is made of. In Instagram, a Service handles your request when you open the app. Your photos live in a File Store. Your profile and who-follows-whom live in a Relational Database. A Key-Value Store holds your pre-built feed so it loads instantly. When you post, a Queue holds the processing job and a Worker picks it up to make thumbnails. A Vector Database powers the Explore recommendations. Netflix uses the same seven blocks in a different configuration. The blocks do not change. Only how many of each, and how they connect, does.
Can AI design systems using the building blocks?
AI is very good at writing code and getting better every month, but writing code is not the same as deciding what the system should be made of. AI will not look at a set of requirements and decide "this needs a Queue between the upload Service and the processing Worker, because users should not wait 30 seconds for a video to encode." That is an architectural decision: it weighs tradeoffs, user expectations, and failure modes. The building blocks give you the vocabulary to make that call, then direct AI precisely. The judgment about which parts a system needs, and why, is the part that lasts, and it is yours to build.

Don't just read it — build with it

You can't read your way to judgment. Put this block into practice: map your own app with Design with Blocks, or play the building blocks game with Instagram, Netflix, and Uber.

Design with Blocks Play the Game