close
System Design Simple logoSystem Design Simple Follow on YouTube

How big apps really work, explained simply

System design, AI coding tools and secure code. Short reads with clear diagrams, each with a 60-second video.

Latest posts

Cover: Claude Code sessions can message each other: how the hand-off works

Nov 10, 2026 · AI Tools

Claude Code sessions can message each other: how the hand-off works

Claude Code sessions on one Mac can find and message each other over a local socket. What we saw on our machine, how cross-machine replies work, and the limits.

Cover: How can an AI answer with no network? On-device AI explained

Nov 10, 2026 · AI Systems

How can an AI answer with no network? On-device AI explained

On-device AI answers with no network because the model is files on your disk and a local runtime does the math. Size, memory and speed, worked out.

Cover: Publish/subscribe: why 2 ms jobs waited 31 seconds behind one slow service

Nov 10, 2026 · System Design

Publish/subscribe: why 2 ms jobs waited 31 seconds behind one slow service

Publish/subscribe vs direct calls in our simulation: with one 50 ms service among ten, fast jobs averaged 31,484 ms with direct calls and 1.87 ms with pub/sub.

Cover: Service discovery: how 500 services find each other

Nov 10, 2026 · System Design

Service discovery: how 500 services find each other

Service discovery in depth: registries, heartbeats, TTLs and leases, client caching, the stale-window formula, and what a faster TTL costs in heartbeat traffic.

Cover: AI citation checks: the link opened, but the quote was missing

Nov 9, 2026 · AI Systems

AI citation checks: the link opened, but the quote was missing

AI citation checks need more than working links. Our synthetic lab shows why exact quote matching catches altered numbers that token overlap accepts.

Cover: How to create an AI agent skill: one SKILL.md, reused by two agents

Nov 9, 2026 · AI Tools

How to create an AI agent skill: one SKILL.md, reused by two agents

An agent skill is a folder with a SKILL.md file: a name, a one-line description that decides when it loads, and the steps. How we run 23 of them with two agents.

Cover: Multi-tenancy: pool vs silo, tenant context, and noisy neighbor limits

Nov 9, 2026 · System Design

Multi-tenancy: pool vs silo, tenant context, and noisy neighbor limits

Multi-tenancy explained: silo vs pool isolation, how a verified tenant ID follows each request, and why shared compute needs per-tenant limits and bounded queues.

Cover: Prompt injection: why the AI obeyed a hidden line

Nov 9, 2026 · AI Systems

Prompt injection: why the AI obeyed a hidden line

Prompt injection turns untrusted page text into instructions. Learn execution allowlists, argument checks and the limits of prompt-only defences.

Cover: Is Codex CLI still running after you close it? A 5-minute check

Nov 8, 2026 · AI Tools

Is Codex CLI still running after you close it? A 5-minute check

Since Codex CLI 0.157.0 an interactive session can start a background server. How to see it, how big it is on disk, and the one command that turns it off.

Cover: How a leaked password check works without sending the full password

Nov 8, 2026 · Security

How a leaked password check works without sending the full password

How Pwned Passwords checks a SHA-1 prefix, what the lookup reveals, and how to reject breached passwords at sign-up.

Cover: Monolith vs microservices: fault isolation and its cost

Nov 8, 2026 · System Design

Monolith vs microservices: fault isolation and its cost

Monolith vs microservices: worker pools, crash isolation, deployment risks, and the latency and data-consistency costs of splitting services.

Cover: AI agent permissions: would an agent delete my files?

Nov 8, 2026 · AI Systems

AI agent permissions: would an agent delete my files?

AI agent permissions decide what a careless plan can destroy. Full access vs sandbox vs confirm step in one scripted lab: 7 of 10 key files lost, then 0.

Cover: Auto mode is now the default in the Claude apps: what it blocks, how to switch back

Nov 7, 2026 · AI News

Auto mode is now the default in the Claude apps: what it blocks, how to switch back

Claude apps now start in auto mode on Pro, Max and Team. What the automated check blocks, Anthropic's 89% vs 13.6% test, the limits, and how to go back to manual.

Cover: How to check your Apache OFBiz runs 24.09.08, the release that fixes two pre-login RCEs

Nov 7, 2026 · Security

How to check your Apache OFBiz runs 24.09.08, the release that fixes two pre-login RCEs

Every OFBiz before 24.09.08 has CVE-2026-83542 (CVSS 9.8) and CVE-2026-68524, two RCEs without login. Find your real release, upgrade, and verify the service.

Cover: How apt proves a package is genuine, and how to check and fix CVE-2026-109518

Nov 7, 2026 · Security

How apt proves a package is genuine, and how to check and fix CVE-2026-109518

How apt's signed chain from InRelease to .deb works, how CVE-2026-109518 swapped a package after the check, and which apt versions fix it.

Cover: Claude Duet: Claude messages you first, and still asks before it acts

Nov 7, 2026 · AI News

Claude Duet: Claude messages you first, and still asks before it acts

Claude Duet is a proactive agent app: it watches your connected apps, works on its own computer, and asks before it sends, pays, signs or deletes.

Cover: Claude self-assessment: Claude now reports possible misuse in its own conversations

Nov 7, 2026 · AI News

Claude self-assessment: Claude now reports possible misuse in its own conversations

Claude now writes a hidden safety check after it answers. What self-assessment records, what it does not do to your chat, the 78% and 94% numbers, and the backlash.

Cover: Codex CLI agent command center: what 0.167.0 changes when you run several agents

Nov 7, 2026 · AI News

Codex CLI agent command center: what 0.167.0 changes when you run several agents

Codex CLI 0.167.0 opens an agent command center with codex agents --no-daemon, marks unread results, keeps drafts across backends and previews images.

Cover: Did the AI leak my fake password? Secrets in AI prompts

Nov 7, 2026 · AI Systems

Did the AI leak my fake password? Secrets in AI prompts

Secrets in AI prompts reach the recipient even when the reply omits them. Lab: a fake password in 40/40 simulated prompts and body logs, 0/40 after redaction.

Cover: Server failover: active-passive vs active-active

Nov 7, 2026 · System Design

Server failover: active-passive vs active-active

Active-passive vs active-active failover, measured: our simulation lost 111 requests waiting for three 1 s probes and 1 when the first error removed the server.

Cover: How to check and fix the Node.js Brotli decoder flaw (CVE-2026-111497) in the process that serves traffic

Nov 7, 2026 · Security

How to check and fix the Node.js Brotli decoder flaw (CVE-2026-111497) in the process that serves traffic

Node.js 22.x below 22.23.4, 24.x below 24.22.1 and 26.x below 26.12.1 carry a Brotli decoder memory bug. Upgrade, restart and verify every serving process.

Cover: Alpine and musl sshd without PAM: check for the OpenSSH 10.6p2 password bypass and fix it

Nov 7, 2026 · Security

Alpine and musl sshd without PAM: check for the OpenSSH 10.6p2 password bypass and fix it

OpenSSH below 10.6p2 on musl Linux without PAM can accept any long password for accounts stored as *. Check your sshd, upgrade, restart, verify the running build.

Cover: How to check the PHP build your web server runs and fix CVE-2026-109618 and CVE-2026-109619

Nov 7, 2026 · Security

How to check the PHP build your web server runs and fix CVE-2026-109618 and CVE-2026-109619

PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 fix two CVSS 9.2 flaws in PHP-FPM, mod_php and php-cgi. Check the build serving traffic, update, restart, verify.

Cover: PHP2Shell and Node2Shell: why they were so dangerous, and how to patch your servers

Nov 7, 2026 · Security

PHP2Shell and Node2Shell: why they were so dangerous, and how to patch your servers

Two remote code execution bugs fixed on the same day, exploited within a week. How the fixes were prepared, why they matter, and how to patch the right process.

Cover: How to check Rails image uploads and lock down ImageMagick (GHSA-f3w6-w445-fwh9)

Nov 7, 2026 · Security

How to check Rails image uploads and lock down ImageMagick (GHSA-f3w6-w445-fwh9)

Rails Active Storage with ImageMagick: how uploads reach ImageMagick coders, which versions fix it, and how to lock down policy.xml. Our lab checked 9 files.

Cover: How to check WordPress for CVE-2026-119977: the version, the auto-update blockers and the upgrade folder

Nov 7, 2026 · Security

How to check WordPress for CVE-2026-119977: the version, the auto-update blockers and the upgrade folder

Check if your WordPress core is below 7.1.4 or its branch fix for CVE-2026-119977, and find the setting, plugin or deploy that stops security releases installing.

Cover: 1,000 people ask AI at once. Who gets an answer first? KV cache and continuous batching

Nov 6, 2026 · AI Systems

1,000 people ask AI at once. Who gets an answer first? KV cache and continuous batching

How one AI server answers 1,000 people at once: the KV cache and continuous batching. Our toy-model lab: 567 ms to 39 ms, median first-token wait 452 s to 14 s.

Cover: I interrupted the AI. Why did it keep talking? Voice AI barge-in explained

Nov 6, 2026 · AI Systems

I interrupted the AI. Why did it keep talking? Voice AI barge-in explained

Voice AI barge-in explained: our simulation cut talk-over from 4,075 ms to 155 ms, but the energy detector also stopped on 19 of 20 synthetic coughs.

Cover: Login anomaly detection: why our 3 a.m. alarm was mostly wrong

Nov 6, 2026 · System Design

Login anomaly detection: why our 3 a.m. alarm was mostly wrong

Login anomaly detection: our synthetic lab compared a fixed night rule with per-user baselines, cutting false alarms from 667 to 32 across 8,457 logins.

Cover: Move 1 button: why a computer-use agent checks after every click

Nov 6, 2026 · AI Systems

Move 1 button: why a computer-use agent checks after every click

How a computer-use agent copes when a button moves: in 50 simulated runs, replay finished 2, looking first 43, and checking after each click 47.

Cover: Node.js security: 4 common vulnerabilities we reproduced and fixed

Nov 6, 2026 · Security

Node.js security: 4 common vulnerabilities we reproduced and fixed

SQL by template string, path.join on user input, a deep merge that walks into __proto__, and exec with a shell string: reproduced in our lab, then fixed.

Cover: Python security: 4 common vulnerabilities we reproduced and fixed

Nov 6, 2026 · Security

Python security: 4 common vulnerabilities we reproduced and fixed

SQL in an f-string, pickle.loads on client bytes, subprocess with shell=True and open(base / name): reproduced in our Python 3.14.7 lab, then fixed.

Cover: Same question 10 times, different answers. Which one passes? AI evals and guardrails

Nov 6, 2026 · AI Systems

Same question 10 times, different answers. Which one passes? AI evals and guardrails

AI evals and guardrails check replies before delivery. Our seeded simulation shows what format, refund-math and phrase checks catch, and what they miss.

Cover: SQL vs NoSQL: choose the data shape first

Nov 6, 2026 · System Design

SQL vs NoSQL: choose the data shape first

SQL vs NoSQL is the wrong first question. Our lab: renaming one product rewrote 47,999 embedded documents in 628 ms, while normalized tables changed 1 row.

Cover: Semantic cache: can AI safely reuse a similar answer?

Nov 6, 2026 · AI Systems

Semantic cache: can AI safely reuse a similar answer?

A semantic cache reuses a saved AI answer for a similar question. In our lexical 60-pair lab, every cutoff we tested still made wrong reuses.

Cover: Vertical vs horizontal scaling: one server or eight?

Nov 6, 2026 · System Design

Vertical vs horizontal scaling: one server or eight?

Vertical vs horizontal scaling in our simulation: one 8-core server vs eight 1-core servers, a near tie when matched, 30.23% vs 0.54% failed after a crash.

Cover: What is SQL injection and how to prevent it: bound parameters, tested in a PHP lab

Nov 6, 2026 · Security

What is SQL injection and how to prevent it: bound parameters, tested in a PHP lab

SQL injection happens when input becomes part of the SQL text. Bound parameters fix it. Our PHP lab: 3 rows with string-built SQL, 0 with prepared statements.

Cover: Why does AI say "too many requests" after one message?

Nov 6, 2026 · AI Systems

Why does AI say "too many requests" after one message?

Why AI says too many requests after one message: token budgets, shared limits, and a reproducible lab showing rejection with request credits remaining.

Cover: "Hello" went to a small AI, maths went to a big one. Who decided? Model routing in an LLM gateway

Nov 6, 2026 · AI Systems

"Hello" went to a small AI, maths went to a big one. Who decided? Model routing in an LLM gateway

Model routing lets an LLM gateway choose which model answers. Our 60-prompt lab shows how keyword rules affect routing and illustrative costs.

Cover: The cable to Asia breaks. Your bank must choose: correct balance or an answer

Nov 5, 2026 · System Design

The cable to Asia breaks. Your bank must choose: correct balance or an answer

CAP theorem with real lab numbers: in our simulated 20 s cable cut, CP refused 50.7% of requests with 0 mismatched reads. AP answered 100%, but 241 reads mismatched.

Cover: RAG retrieval: how AI finds one line in 100 pages

Nov 5, 2026 · System Design

RAG retrieval: how AI finds one line in 100 pages

RAG retrieval ranks document chunks before generation. Explore BM25 internals, hybrid search, token budgets and a reproducible 100-page lab.

Cover: MCP tool discovery: 3 new apps, 0 changes to the client code

Nov 5, 2026 · AI Systems

MCP tool discovery: 3 new apps, 0 changes to the client code

How tool discovery lets one AI client use new apps unchanged: the tools/list handshake, a lab with 3 apps, 55 of 60 right picks, and the vague-description drop.

Cover: HNSW vector search: how a photo search skipped 96% of 20,000 vectors

Nov 5, 2026 · AI Systems

HNSW vector search: how a photo search skipped 96% of 20,000 vectors

HNSW vector search with a lab: 20,000 vectors, 776 touched per query, recall 0.944, the efSearch dial, the run-to-run speed spread, and the B-tree contrast.

Cover: Layer 4 vs Layer 7 Load Balancer: Internals and Trade-offs

Nov 5, 2026 · System Design

Layer 4 vs Layer 7 Load Balancer: Internals and Trade-offs

Layer 4 vs layer 7 load balancer internals: connection tracking, HTTP routing, keep-alive imbalance, draining, and measured lab costs.

Cover: Eventual consistency: stale likes and safe withdrawals

Nov 5, 2026 · System Design

Eventual consistency: stale likes and safe withdrawals

Eventual consistency left 59.2% of lab reads stale. Learn why quorum reads can go backwards and atomic conditional debits prevent overdrafts.

Cover: Load balancer vs reverse proxy: one door, two jobs

Nov 5, 2026 · System Design

Load balancer vs reverse proxy: one door, two jobs

Load balancer vs reverse proxy: connection handling, Nginx algorithms, caching, failure modes, and verified simulation results.

Cover: One database writes, ten read: primary and read replicas

Nov 5, 2026 · System Design

One database writes, ten read: primary and read replicas

One primary writes, read replicas serve reads. In our simulation 10 replicas gave 10.3x the reads, but at 500 ms lag your own post was missing 51.8% of the time.

Cover: Context window: why a long AI chat forgets your name

Nov 5, 2026 · AI Systems

Context window: why a long AI chat forgets your name

How a context window limits chat history: a reproducible simulation of truncation, pinned memory, rolling summaries, and their engineering trade-offs.

Cover: Series vs parallel availability: two servers in a row

Nov 5, 2026 · System Design

Series vs parallel availability: two servers in a row

Series vs parallel availability: two independent 99% servers give 98.01% when both are required, or 99.99% when either copy can serve the request.

Cover: Load balancing algorithms: which server gets your request?

Nov 5, 2026 · System Design

Load balancing algorithms: which server gets your request?

Load balancing algorithms: round robin, least connections, user-ID hash. In our 4-server simulation, quick-request p99 was 150.3 ms, 22 ms and 468.9 ms.

Cover: When will AGI happen? Why every forecast names a different finish line

Nov 5, 2026 · AI Systems

When will AGI happen? Why every forecast names a different finish line

When will AGI happen? What lab leaders, forecasters and a researcher survey said from 2023 to 2026, each date with its definition, and what METR measures.

Cover: AI agent tokens: why history makes total input grow

Nov 5, 2026 · AI Systems

AI agent tokens: why history makes total input grow

AI agent tokens add up: each call carries the retained history as input, so an append-only task grows close to N squared. The math, KV caching and trimming.

Cover: Embeddings explained: why a search for car finds vehicle

Nov 5, 2026 · AI Systems

Embeddings explained: why a search for car finds vehicle

Embeddings explained with BM25, PPMI and cosine arithmetic: why car finds vehicle, where retrieval fails, and how hybrid vector search scales.

Cover: What happens when you type google.com? DNS in depth

Nov 5, 2026 · System Design

What happens when you type google.com? DNS in depth

What happens when you type google.com? DNS walks root, .com and name server, then caches. Our model: 37 ms cold, 7.1 ms resolver hit, 0.05 ms OS cache.

Cover: One AI writes, another reviews: designing a multi-agent coding pipeline

Nov 4, 2026 · AI Systems

One AI writes, another reviews: designing a multi-agent coding pipeline

How to split AI coding work across agents: routing, a second model as reviewer, a gate with a round cap, and a sandbox. With our own review data.

AI ToolsHow to use Claude like a professional, not like a casual user

Nov 3, 2026 · AI Tools

How to use Claude like a professional, not like a casual user

Use Claude like a pro: Projects, Skills, memory and connectors in the apps; CLAUDE.md, hooks, permissions and headless runs in Claude Code; habits that catch errors.

Cover: Claude Ultra: the 5-hour limit is gone, the weekly cap stays

Nov 3, 2026 · AI News

Claude Ultra: the 5-hour limit is gone, the weekly cap stays

Claude Ultra plan limits explained: no 5-hour limit for verified accounts, a weekly cap of 10x Pro, why Max 20x was renamed, and what users think of it.

Cover: Fast for you, slow for a million. Why?

Nov 3, 2026 · System Design

Fast for you, slow for a million. Why?

A 5 ms server against a 15 ms server: why the faster one has a 498 ms median at 100 users, explained with queueing laws, pools and a simulation.

Cover: A highway with 10 lanes can still be slow

Nov 3, 2026 · System Design

A highway with 10 lanes can still be slow

More workers raise throughput, not speed: 1 to 10 lanes took a simulation from 5 to 49.8 req/s at 200 ms, until one 50 ms lock capped it at 19.9 req/s.

Cover: 50K fans, 5K seats. Design it.

Nov 2, 2026 · System Design

50K fans, 5K seats. Design it.

Performance vs scalability for engineers: Little's law, utilisation vs queueing delay, Amdahl and the USL, load balancing, retry storms and admission control.

Cover: Design Instagram's feed: system design in five steps

Nov 2, 2026 · System Design

Design Instagram's feed: system design in five steps

System design as engineering, on a news feed: API, data model, fan-out on read vs write with cost formulas, Redis timelines, cursors, hot keys and a benchmark.

Cover: 1M rides a day. What do you do in the first 5 minutes?

Nov 2, 2026 · System Design

1M rides a day. What do you do in the first 5 minutes?

Requirements in depth: functional vs non-functional, SLIs, SLOs and error budgets, nines arithmetic, capacity estimation and how the numbers pick the design.

Cover: Two fans click the same seat at the same moment. Who wins?

Nov 2, 2026 · System Design

Two fans click the same seat at the same moment. Who wins?

Race conditions, lost updates and write skew, how PostgreSQL isolation levels, row locks and conditional updates prevent them, and when strong consistency matters.

Cover: Claude Code vs Codex CLI: how we use both AI coding agents together

Nov 1, 2026 · AI Tools

Claude Code vs Codex CLI: how we use both AI coding agents together

Hands-on comparison of Claude Code and Codex CLI from daily work, and why letting one review the other catches more mistakes.

Cover: You tap like. How does your friend's phone know a second later?

Nov 1, 2026 · System Design

You tap like. How does your friend's phone know a second later?

From your tap to your friend's buzz: events, a queue, a worker, live connections, Apple and Google push, and grouping 1,000 likes into one alert.

Cover: How do apps handle a million likes at once without crashing?

Nov 1, 2026 · System Design

How do apps handle a million likes at once without crashing?

When millions tap like at once, one database row becomes a traffic jam. How big apps survive: a queue, split counters and a cache.

Cover: PHP security: 7 common vulnerabilities and how to fix them

Nov 1, 2026 · Security

PHP security: 7 common vulnerabilities and how to fix them

Defensive PHP checklist: SQL injection, XSS, CSRF, password storage, uploads, sessions and unserialize, with the exact fix for each.