Library

Code is cheap now.Judgement isn’t.

Free, structured paths to the part of the job a model cannot do for you: system design, AI engineering, databases and low level design. Plain words, real numbers, and diagrams you can break.

148 chapters across 9 paths. No account, no paywall.
Start hereDesign questionsStaff levelIndia scaleSystem design34 stations · 12.3 hStart hereAdvanced RAGAgentsDesign questionsAI engineering31 stations · 4.3 hHow a database worksScaling a databaseSQL for interviewsBeyond relationalDatabases16 stations · 2.2 hCreationalStructuralBehaviouralLow level design23 stations · 3 hJavaScriptReactNode.jsPythonLinuxLanguages44 chapters · 2.2 hYou are here

Pick a line. Ride it to the end.

Each line is a path with an order to it, so you always know which chapter comes next and how far you have come. Change lines whenever you like. They meet in the places the job does.

  • System design

    34 chapters · about 12 h of reading

    From one overloaded server to designing for a hundred million users. The interview round and the day job.

    Board at Scaling from one server
  • AI engineering

    31 chapters · about 4 h of reading

    LLMs, RAG from basics to agentic and GraphRAG, agents and frameworks, MCP, and evals, for engineers who build on models rather than train them.

    Board at How an LLM works
  • Databases

    16 chapters · about 2 h of reading

    What a database does with your query, and when to reach for Postgres, Redis, MongoDB or DynamoDB.

    Board at How a database runs a query
  • Low level design

    23 chapters · about 3 h of reading

    Objects, SOLID and design patterns, taught alongside TypeScript, so the code survives the next change.

    Board at TypeScript for LLD
  • Languages

    44 chapters in 5 paths · about 2 h of reading

    The ground floor: JavaScript, React, Node.js, Python and Linux, one idea at a time.

    Pick a language

We ask before we tell.

Every chapter stops and asks for your call before it explains anything. Guessing first is what makes the answer stick. Here is one, straight out of the chapter on caching.

Your cache hit ratio slips from 99% to 95%. Traffic has not changed at all. Roughly what happens to the load on your database?

Pick one. Nobody sees your answer.

Diagrams you can break.

Every figure on IndGeek is drawn in code, so you can push on it. Drag the traffic up and watch one server turn into a system, one bottleneck at a time. Each stage links to the chapter that explains it.

Scale lab1K daily users
Users, usersusersCloudflare, CDNCDNNGINX, balancerbalancerNode.js, app + dbapp + dbNode.js, appappNode.js, appappRedis, cachecacheApache Kafka, queuequeuePostgreSQL, shard Bshard BPostgreSQL, databasedatabasePostgreSQL, replicareplicaPython, workersworkers
One machine runs everything.

The app, the database and the uploads share one box. It is cheap and simple, and one failure takes all of it down.

Chapter: Scaling from one server
The numbers are rough. The order is the lesson.

Or start from a question you have been asked.

Each one is a full chapter: clarify, estimate, draw, then defend the trade-offs the way you would in the room.

Every design question

Free. Not a free trial. Free.

Every chapter is open to read, with no account and no paywall halfway down the page. What you keep while you read stays in your own browser.

Highlights with notes
Select any sentence to mark it, and add a line on why it matters to you.
Progress on every line
Mark a chapter read and its station fills in on the map at the top of this page.
A library of what you saved
Saved chapters, highlights and notes in one place, ready when you sit down again.

Start with one server.

The first chapter takes one overloaded machine and works out, step by step, what to change and in which order.

Read the first chapter
Or get one email when a new chapter lands. Nothing else.