Skip to content

Project catalog

Choose what you'll build.

Every project is a real tool split into stages. Explore the catalog or tell us what you need for a personal shortlist.

22 projects

  • neural-network
    Beta

    Build your own neural network

    Build a neural network from scratch. Implement the forward pass, loss functions and gradient descent, then train and run your own model.

    Beginner6 stages~6 hSystems
    machine learningneural networksmath+1

    Python · TypeScript

  • hash-functions
    Beta

    Build SHA-256 and HMAC from scratch

    Build SHA-256 and HMAC from scratch. Implement rotations, padding and compression blocks, then sign and verify messages without a crypto library.

    Intermediate7 stages~8 hSecurity
    hashingcryptographybits

    C · Python · Go

  • mcp-server
    Beta

    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.

    Intermediate5 stages~12 hNetworking
    MCPJSON-RPCagents+1

    TypeScript · Python · Go

  • regex-engine
    Beta

    Build your own regex engine

    Build a regex engine from scratch. Turn expressions into automata with backtracking, groups and character classes without using a regex library.

    Advanced8 stages~11 hLanguages
    automataparsingbacktracking

    TypeScript · Python · Rust

  • grep
    Coming soon

    Build your own grep

    Build your own grep from scratch. Read stdin, filter text by pattern and handle exit codes while learning the foundations of Unix tools.

    Beginner7 stages~6 hTooling
    regexCLIstdin

    Go · Python · Zig

  • coding-agent
    Coming soon

    Build your own coding agent

    Build a coding agent from scratch. Connect models through OpenRouter, secure API keys, define tools and implement the autonomous ReAct loop.

    Beginner7 stages~6 hTooling
    agentsOpenRouterLLM+3

    Python · TypeScript

  • json-parser
    Coming soon

    Build your own JSON parser

    Build a JSON parser from scratch. Tokenize input, parse the grammar, construct a syntax tree and report useful errors for invalid JSON.

    Beginner7 stages~6 hLanguages
    tokenizerparsingrecursion

    TypeScript · Python · Go · Java

  • dns-resolver
    Coming soon

    Build your own DNS resolver

    Build a DNS resolver from scratch. Encode and parse UDP packets, then resolve domain names by walking the hierarchy from root servers.

    Intermediate8 stages~9 hNetworking
    UDPbinaryprotocols

    Go · Rust · Python

  • raytracer
    Coming soon

    Build your own ray tracer

    Build a ray tracer from scratch. Calculate vectors, intersections and materials, then write a PPM image to render a scene pixel by pixel.

    Intermediate9 stages~10 hGraphics
    vectorsgeometryimage

    C++ · Rust · TypeScript

  • http-server
    Coming soon

    Build your own HTTP server

    Build an HTTP server from scratch. Parse requests from socket bytes, manage connections and serve concurrent traffic with real HTTP responses.

    Intermediate10 stages~12 hNetworking
    socketsTCPHTTP+1

    Go · Python · C · Rust

  • redis
    Coming soon

    Build your own Redis

    Build a Redis-compatible server from scratch. Implement RESP, an event loop and key expiry, then connect with the official redis-cli.

    Intermediate10 stages~14 hDatabases
    RESPTCPevents+1

    Go · Rust · Python

  • shell
    Coming soon

    Build your own shell

    Build a POSIX shell from scratch. Use fork, exec, pipes and redirection to write a command interpreter that runs real programs.

    Intermediate12 stages~14 hSystems
    processesforkexec+2

    C · Rust · Go · Zig