About BuildWithGit

Build real systems from scratch. Understand how things actually work.

What we do

BuildWithGit exists induce first principles thinking. When you build Git from scratch, you stop memorizing commands and start understanding the system. When you build a database, indexing stops being magic and becomes a design decision you can reason about.

How it works

  • Pick a challenge — build your own Git, Redis, HTTP server, compiler, etc.
  • Provision a repo using the bwg CLI.
  • Write code in your editor, submit with bwg submit.
  • Tests run automatically. Pass all stages to complete.

Why this exists

Most tutorials teach syntax. We think the best way to learn is to build the thing yourself — from scratch, with real tests, real constraints, and real feedback. If you understand how Git works internally, you'll use it better. If you build a database, you'll design schemas differently.

Stack

  • Challenges currently support Python. More languages coming soon.
  • CLI-based workflow — provision, code, submit. No browser IDE.
  • Stage-based progression with automated test validation.