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.