CodeCrafters – Build Developer Tools From Scratch
Build your own Redis, Git, Docker, and SQLite from scratch with CodeCrafters' interactive courses for senior engineers. Each challenge is end-to-end.
TL;DR
TL;DR: CodeCrafters offers interactive, browser-based courses where you rebuild popular developer tools (Redis, Git, Docker, SQLite) from scratch — with your own code passing the same test suite as the official implementation.
Source and Accuracy Notes
- Product: codecrafters.io — YC S22
- HN Launch: Launch HN: CodeCrafters (YC S22) — 403 points
- Courses available in Go, Python, Rust, and other languages
What Is CodeCrafters?
CodeCrafters is an interactive learning platform that flips traditional coding education on its head. Instead of watching videos or reading tutorials, you actually build real developer tools from scratch — step by step, with a test suite validating each stage.
The pitch is straightforward: learn by building things that already work in production. Recreate Redis and make sure your implementation handles the same commands as the official one. Build a Git implementation that can actually clone a GitHub repo. Create an SQLite reader that reads real database files.
The differentiator is the spec-compatibility focus. Most toy implementations are simplified for teaching. CodeCrafters projects are end-to-end compatible with real-world inputs. Given the same test cases, your program behaves identically to the official tool.
Who it’s for: Senior engineers, final-year CS students, or developers prepping for system design interviews. The bar is not beginner-friendly — you should be comfortable with data structures, algorithms, and at least one systems language.
Setup Workflow
CodeCrafters runs entirely in the browser. There is nothing to install.
Step 1: Choose a Track
Pick from Redis, Git, Docker, SQLite, grep, tar, or BitTorrent. Each track has 10-15 stages that gradually build the tool from a minimal stub to a full implementation.
Step 2: Clone the Starter Repo
Each language (Go, Python, Rust, etc.) has its own repository template. Fork and clone the one matching your preferred language.
# Example: Clone the Go Redis track
git clone https://github.com/codecrafters-io/redis-starter-go
cd redis-starter-go
Step 3: Implement Stage by Stage
Each stage gives you a specification document, a set of test cases, and a running Redis instance to test against. You implement the feature, run the test suite, and submit when it passes.
# Run the test suite for the current stage
./codecrafters test
# Push when ready
git push origin
Step 4: Track Progress
Progress is saved to the CodeCrafters dashboard. You can compare your solution size and style against community solutions after completing a stage.
Deeper Analysis
The Learning Model
Traditional tutorials hold your hand. CodeCrafters gives you a working problem and a test harness, then gets out of the way. The feedback loop is tight — test runs are fast and the test suite is comprehensive.
Each stage’s README explains the concept you need to implement (e.g., “how does Redis handle the EXPIRE command?”), but it does not give you the code. You read the spec, think through the algorithm, write the implementation, and iterate.
Language Coverage
CodeCrafters supports multiple languages per tool. You can do the Redis track in Go, Python, Rust, or C. Doing the same tool in multiple languages reinforces the core concepts — data structures and algorithms underneath are language-agnostic.
Enterprise Use
The platform is used by engineers at Google, OpenAI, and Vercel. Some teams use CodeCrafters as a technical interview tool — ask candidates to complete a track and share their solution.
Difficulty Calibration
The Redis track takes most users 20-30 hours. The Git track is harder, closer to 40-50 hours. These are not time estimates for copying existing code; they assume genuine implementation with the test-driven loop.
Practical Evaluation Checklist
- Redis track covers: wire protocol, pub/sub, persistence, scripting, clustering basics
- Git track covers: objects, refs, pack files, SSH auth, protocol extensions
- SQLite track covers: B-tree storage, SQL dialect, query planner basics
- Difficulty: intermediate-to-advanced, not for absolute beginners
- Languages: Go, Python, Rust, C, Ruby, JavaScript (varies by track)
- Community solutions available after stage completion
- Certificates: none — the output is working code, not credentials
- Pricing: subscription-based, free tier with limited track access
Security Notes
As a learning platform with user-submitted code execution, a natural question is: does CodeCrafters run your code in a sandbox?
Each user submission runs in an isolated container. The risk surface is the same as any online code execution environment. If you are submitting proprietary implementation details as part of a work project, consult your company’s security policy on third-party code execution platforms.
The test suite is controlled by CodeCrafters, not the user, which reduces the risk of malicious test cases. When in doubt, read the source of the test harness for any track before submitting.
FAQ
Q: Do I need prior experience with systems programming? A: Yes. You should be comfortable with at least one compiled or systems language (Go, Rust, C). Python experience is helpful for the Python tracks. Absolute beginners will find the pacing challenging.
Q: How is this different from just reading the source code of Redis or Git? A: It is different in approach, not just content. Reading well-designed open-source code is valuable, but it is passive consumption. CodeCrafters forces active reconstruction — you discover why design decisions were made through implementation challenges, not just observation.
Q: Can I use this to prepare for system design interviews? A: Yes. Building a spec-compatible Redis gives you deep insight into how in-memory databases work internally. Several engineers at FAANG companies use CodeCrafters tracks for targeted interview preparation.
Q: What happens if I get stuck on a stage? A: You can view hints at each stage, but hints cost points (you earn points as you solve stages). Community solutions are unlocked after completing the stage, so you can see how others approached it.
Conclusion
CodeCrafters fills a specific niche: engineers who want deep, hands-on understanding of the tools they use daily but don’t have months to read through production-grade source code.
The workflow is clean, the problem set is well-designed, and the spec-compatibility standard means you cannot fake your way through a stage. If you have been using Redis for years without understanding how the EXPIRE command actually works internally, the Redis track will close that gap permanently.
Free tier gives you access to the first 3-5 stages of each track. Try one stage before committing to a subscription — if the problem-solving style clicks, the full tracks are worth the time investment.
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