Build your own MCP server
Build an MCP server from scratch. Implement Model Context Protocol with JSON-RPC, tools and resources to connect AI clients to your programs.
TypeScript · Python · Go
Build a BitTorrent client from scratch. Decode bencode, contact trackers and download a real file through the peer-to-peer protocol.
Build it in your language
The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.
Project in preparation: we are completing and verifying the implementation path and its tests. The capabilities below describe the project goal; starting the project is not enabled yet.
BitTorrent is a complete distributed system you can build on your own: peer discovery, a binary protocol with a handshake, block transfer and integrity verification. And you check the result by opening the downloaded file.
You'll start by decoding a .torrent and finish downloading a real file from several peers at once, in parallel, checking every piece against its hash before writing it to disk.
12 stages across 4 phases. Every stage comes with its guide and its tests: you move on when they pass.
A bencode decoder, file metadata and the infohash.
Tracker queries and the list of available peers.
Handshake, protocol messages, and downloading one verified piece.
Several peers in parallel, retries, and final assembly on disk.
Build an MCP server from scratch. Implement Model Context Protocol with JSON-RPC, tools and resources to connect AI clients to your programs.
TypeScript · Python · Go
Build a DNS resolver from scratch. Encode and parse UDP packets, then resolve domain names by walking the hierarchy from root servers.
Go · Rust · Python
Build an HTTP server from scratch. Parse requests from socket bytes, manage connections and serve concurrent traffic with real HTTP responses.
Go · Python · C · Rust