CodeCrafters – Build Redis, Git, SQLite from Scratch
Learn systems internals by rebuilding Redis, Git, SQLite and more from scratch. Advanced challenges used by engineers at Google, OpenAI, and Vercel.
TL;DR
TL;DR: CodeCrafters is an interactive learning platform where you rebuild production tools like Redis, Git, and SQLite from scratch — using git push to submit and get instant feedback. Used by engineers at Google, OpenAI, and Vercel.
What Is CodeCrafters?
CodeCrafters is a YC S22-backed programming education platform that drops you into building real-world software from scratch. Instead of watching videos or reading docs, you implement actual systems — Redis, Git, SQLite, and more — in your own IDE, on your own machine, and push code to get feedback.
From the official site:
Build your own Redis, Git, SQLite, and more from scratch. Advanced challenges designed for experienced engineers, used by developers at Google, OpenAI, and Vercel.
Each challenge is split into multiple stages. Pushing your code runs a test suite that verifies your implementation at each step. The platform supports 12+ languages for most challenges, including Python, Go, Rust, Haskell, and Ruby.
Source and Accuracy Notes
- Project page: codecrafters.io
- HN launch thread: news.ycombinator.com/item?id=32342334 (403 points, 206 comments)
- GitHub: github.com/codecrafters-io/languages (320 stars, MIT license)
- License: MIT (verified via GitHub
codecrafters-io/languagesrepo) - Source last checked: 2026-06-28
Available Challenges
The platform offers 11 core challenges covering production systems:
| Challenge | Description | |---|---| | Git | Build a Git implementation — understand objects, refs, plumbing commands | | Redis | Implement the Redis key-value store with RESP protocol | | SQLite | Build a SQL database engine with B-tree storage | | Shell | Create a Unix shell with job control and piping | | Docker | Implement a container runtime (like Docker) | | Kafka | Build a distributed message queue | | Bittorrent | Create a BitTorrent client | | grep | Implement Unix grep with regex matching | | Interpreter | Build a programming language interpreter | | Parser | Create a JSON parser from scratch | | Claude Code | Implement an AI agent loop with tool calling |
Most challenges are available in Python, Go, Rust, JavaScript, TypeScript, Ruby, C, C++, Java, Haskell, and more.
Setup Workflow
Step 1: Sign Up
Visit codecrafters.io and create a free account. GitHub OAuth sign-in is available.
Step 2: Choose a Challenge
Pick from the challenge catalog. Each challenge page shows:
- Number of stages (e.g., Redis has 97 stages)
- Whether a free tier is available
- Supported languages
Step 3: Clone and Start Coding
# Install the CodeCrafters CLI
curl -s https://codecrafters.io/install.sh | bash
# Initialize a challenge
cc init --language python --challenge redis
# Make your first implementation change, then:
git add .
git push origin HEAD:refs/main
The CLI streams test output back to the CodeCrafters platform, which verifies your implementation against a staged test suite.
Step 4: Iterate with Hints
CodeCrafters provides a hints system for each stage. You can unlock hints incrementally if you get stuck. The platform emphasizes “helpful yet gives you a lot of freedom to explore and learn for yourself” — a quote from a participant who compared it favorably to formal education.
Pricing
CodeCrafters uses a tiered pricing model. Based on the current website:
| Plan | Price | Access | |---|---|---| | Free | $0 | First 1-2 stages per challenge | | Starter | $1/month | Full challenge access | | Pro | $7/month | Full access + all languages | | Advanced | $11/month | Everything + priority support |
Exact pricing should be confirmed at checkout as it may have changed since publication.
Practical Evaluation Checklist
- Challenge depth: Each challenge goes well beyond tutorials — Redis requires implementing data types, expiration, pub/sub, and persistence
- Multi-language: Supports 11+ languages per challenge; implementations are language-agnomous at the interface level
- Git-based workflow: Uses your local IDE and git push, not a browser code editor
- Real feedback: Tests run against your actual code on every push, not a mock sandbox
- Used by pros: Testimonials from engineers at Stripe, Vercel, Coinbase, Supabase, and Apple
Who Is This For?
CodeCrafters is built for engineers who want to deepen their systems understanding. If you use Redis daily but have never implemented the RESP protocol, or you use Git without understanding how blob/tree/ref objects work internally, these challenges give you that mental model through practice rather than passive reading.
It is not for beginners. The platform targets “experienced engineers” and “seasoned developers” per its own positioning.
Security Notes
All code runs locally in your environment. The CodeCrafters CLI submits results to the platform for verification, but your implementation code stays on your machine. No sensitive data is required beyond a GitHub account for OAuth.
FAQ
Q: Do I need to finish all stages in one session? A: No. Challenges are self-paced. Your progress is saved in your Git branch and you can push to resume.
Q: Which language should I start with? A: Choose the language you know best — the challenge is understanding the system, not fighting the language. Many engineers use Python or Go for clarity.
Q: Are there teams or group plans? A: The platform has been used in engineering team settings. Check the pricing page for team tiers.
Q: Is the CLI open source?
A: Parts are — the codecrafters-io/languages repo on GitHub is MIT licensed. The challenge infrastructure and test suites are proprietary.
Conclusion
CodeCrafters fills a gap between reading source code and actually implementing a system from scratch. The git-push workflow keeps you in your own environment, and the multi-language support means you learn the concepts, not a specific syntax. Whether you want to understand how Redis handles过期 keys or how Git stores objects, these hands-on challenges build intuition that sticks.
Try a free stage at codecrafters.io.
Related Posts
dev-tools
Automotive Skills Suite for AI Engineering
Evaluate Automotive Skills Suite for APQP, ASPICE, HARA, safety-plan, and DIA workflows with setup notes, governance risks, and SME review guidance.
5/28/2026
dev-tools
awesome-agentic-ai-zh Roadmap Guide
Explore awesome-agentic-ai-zh as a Chinese agentic AI learning roadmap, with setup notes, track selection, study workflow, and evaluation guidance.
5/28/2026
dev-tools
Baguette iOS Simulator Automation Guide
Set up Baguette for iOS Simulator automation, web dashboards, device farms, gesture input, streaming, and camera testing with Xcode caveats.
5/28/2026