Recurse

Learn system design, one small step a day

How real apps grow: caching, load balancing, databases, queues, APIs and staying up when parts fail, ending with case studies. Good for system design interview prep, in lessons short enough for a commute.

Free, about three minutes a lesson, 20 units. On the web now; the Android app is coming to Google Play.

Start free

What you will learn

Foundations

Follow a request, grow past one server, cache, and spread the load.

Data

Pick a database, make it fast, copy it, split it, and keep it correct.

Moving work

Do slow work later, connect services with events, and survive overload.

Serving users

Design clean APIs, serve files fast, and push live updates.

Staying up

Keep the app running when parts fail, and see what it is doing.

Case studies

Put it all together to design real apps.

How it works

  • A short idea first, then quick questions: tap an answer, order lines, sort, match or find the bug.
  • Wrong answers come back at the end until they stick.
  • Streaks, XP, leagues and races with friends keep the habit going.
  • Spaced review brings back what you are about to forget.

Other courses