Skip to content

SDPD — Systems Design Police Department

Learn distributed systems by solving crime scenes.

Next.jsTypeScriptMDX

Why do I <3 that: I love system design, and love to help community. So it's a perfect mashup.

What it does

SDPD is a gamified learning platform with 33 interactive detective cases. Each case puts you at the scene of a system failure — you investigate evidence, diagnose the root cause, and recommend a fix.

How to use

Open a case, read the incident report, inspect the clues, and submit your diagnosis. Cases cover replication, consistency models, caching strategies, messaging, and more.

Start the local server:

git clone https://github.com/olucasandrade/sdpd.git
cd sdpd
pnpm install
pnpm dev

Try a few sample cases:

  • Case 04: A cache stampede takes down a flash-sale endpoint.
  • Case 17: A leader election bug causes split-brain in a replicated database.
  • Case 31: A messaging backlog triggers cascading timeouts.

Want more of that? See details here

https://github.com/olucasandrade/sdpd