Loading...
CodeCrafters
Catalog
Badges
Vote
Sign in with GitHub
Challenges
Build your own HTTP server
Learn about TCP servers, the HTTP protocol and more
8 stages
Start
Build your own DNS server
Learn about the DNS protocol, record types, recursive resolve, forwarding servers and more.
FREE DURING BETA
This challenge is free to try when it's in beta. We keep challenges in beta for a few weeks to gather feedback.
Start
Build your own BitTorrent
Learn about .torrent files, the BitTorrent Peer Protocol and more
11 stages
Start
Build your own grep
Learn about regex syntax: character classes, quantifiers and more
12 stages
Start
Build your own Redis
Learn about TCP servers, the Redis protocol and more
13 stages
Start
Build your own Docker
Learn about kernel namespaces, chroot, the registry API and more
6 stages
Start
Build your own Git
Learn about git objects, plumbing commands and more
7 stages
Start
Build your own SQLite
Learn about SQL syntax, SQLite's file format, B-trees and more
9 stages
Start
Language Tracks
Go
74 stages
Start
Rust
74 stages
Start
Python
74 stages
Start
JavaScript
BETA
60 stages
Start
C++
BETA
52 stages
Start
Haskell
BETA
51 stages
Start
Ruby
BETA
46 stages
Start
C#
BETA
33 stages
Start
C
BETA
30 stages
Start
Elixir
BETA
24 stages
Start
Java
BETA
24 stages
Start
Zig
BETA
20 stages
Start
PHP
BETA
19 stages
Start
Clojure
BETA
13 stages
Start
Crystal
BETA
13 stages
Start
Kotlin
BETA
11 stages
Start
Nim
BETA
6 stages
Start