CodeCrafters
Tap a star to rate
What CodeCrafters is
CodeCrafters is a subscription platform of programming challenges for seasoned developers, built around one idea: you learn how software works by rebuilding it. Its home page calls them "The hardest programming challenges on the internet" and says learners "Rebuild the tools you use every day with your own hands. Recreate Redis, Git, SQLite - from scratch, in your language, in your IDE." The footer describes the product as "Programming challenges for seasoned developers", the page carries a "Backed by YC" badge, and the copyright belongs to CodeCrafters, Inc. A company blog post signed by CEO Sarup Banskota says the catalog is "built entirely in-house for experienced developer teams".
This is not a beginner course or a video library. The site promises "No toy projects. No algorithm drills." and frames the work as exercise: "We strive to provide a proper workout. You won't become a great swimmer by watching the Olympics on YouTube."
The challenges
The home page counts "11 challenges that take you inside the architecture of real systems", and lists them as Git, Redis, Shell, Kafka, SQLite, Grep, BitTorrent, HTTP Server, DNS Server, Interpreter and Claude Code. Each is split into stages, and the challenge cards show how deep each goes. Build your own Redis, about "TCP servers, the Redis protocol and more", has 97 stages. Build your own Interpreter, on tokenization, parsing and ASTs, has 84 stages. Build your own Shell, marked popular, covers parsing shell commands and executing programs over 47 stages. Build your own grep, on regular expressions and pattern matching, has 33 stages. Kafka, on distributed systems and message queues, has 25 stages; BitTorrent, on the protocol and peer-to-peer networking, has 19; the HTTP server, on TCP servers and the HTTP protocol, has 14; Git, on git objects and plumbing commands, shows 7; and the newest, Build your own Claude Code, teaches LLM APIs, tool calling and agent loops in 6 stages.
The site's pitch for the material is specific: "Implement a Redis from scratch. Parse Git objects. Write your own SQLite. Each challenge drops you into exploring storage engines, network protocols, binary formats." It adds that "Once you've written and read code around these topics, everything else tends to feel easy."
How it works
The workflow has three steps, which the site sums up as "Pick a challenge, open your editor, git push to test. That's it." You choose a challenge, write code "in your own setup. Your IDE, your extensions, your terminal. No toy editors", and push with Git, which runs the tests and returns "Results and hints in seconds". The site stresses this point again: "Don't be limited by web-based editors. Code in your usual IDE, with your preferred customisations. Push code with Git and get instant feedback. Share your work on GitHub." Because the work lives in a normal Git repository, a learner ends up with real code they can show.
Challenges can be done in your own choice of language, and the platform is used to learn new ones. One testimonial calls it "My favorite way to master a language", and a Mercury engineer was "really impressed that they support Haskell". The company blog adds that teams "use language tracks to quickly onboard experienced developers in new languages."
The site also lets learners study other people's solutions: "See how contributors to projects like Redis and Rails refactor, how engineers who build large-scale systems debug, and how CTOs of developer platforms make architectural decisions. Improve your taste by observing other great engineers."
Pricing, trial and teams
Membership is a subscription, with a Pricing page in the main menu. The company blog states that "CodeCrafters offers subscription plans, and your team can try out the first two stages of any challenge for free." Memberships can be given as gifts, and the footer links to an Expense page for learners whose employer pays, Bulk Licenses for companies, and a Perks page. For help, the resources menu lists a forum, a help section, a changelog and a status page.
The blog post on developer team training positions CodeCrafters for "experienced software teams looking to seriously level up their skills or onboard in new languages", saying team members "read documentation, think about design, write code, and debug issues" as they work through a challenge.
What developers say
The testimonials come from working engineers. Charles Guo of the Scala team at Stripe wrote: "The Redis challenge was extremely fun. I ended up having to read Redis protocol specification doc pretty carefully in its entirety!" Cindy Wu, engineering at Vercel, found the SQLite challenge had "Just the right level of guidance, helpful yet gives you a lot of freedom to explore and learn for yourself." Raghav Dua, an SRE at Coinbase, said that "digging into the internals blew me away." Akshata Mohan, a senior data scientist at Cloudflare, described "learning about how Redis works under the hood, system calls, socket programming in Python; something I've never done before". Ananthalakshmi Sankar, an engineer at Apple, said: "The real-time feedback is so good, it's creepy!" Howard Lee, a principal software engineer at Okta, called it "a fantastic resource in helping me maintain my skills in a pragmatic fashion, learn about new areas, and even new languages." Kang Ming Tay, a software engineer at Supabase, said a challenge "helped me dive into its internals, through actual practice. Super fun." Joey Pereira, a software engineer at OpenAI, wrote that "Having a structured project like this feels like a blast." Beyang Liu, CTO at Sourcegraph, called it "A cool way to build a stronger mental model of how those tools work."
Who it suits
CodeCrafters suits experienced developers who want to understand the systems they use every day, from databases and version control to network protocols and AI agents, and who prefer building to watching. It works especially well for learning a new language on a meaty project rather than a tutorial, and for engineering teams that want shared, hands-on upskilling with bulk licenses. Developers who like their own editor and terminal will feel at home with the git-push workflow, and the free first two stages of every challenge make it easy to try. New programmers should build basic fluency in a language first, since the challenges assume you can already write and debug code on your own.