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.
Python · TypeScript
Project catalog
Every project is a real tool split into stages. Explore the catalog or tell us what you need for a personal shortlist.
22 projects
Build a neural network from scratch. Implement the forward pass, loss functions and gradient descent, then train and run your own model.
Python · TypeScript
Build SHA-256 and HMAC from scratch. Implement rotations, padding and compression blocks, then sign and verify messages without a crypto library.
C · Python · Go
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 regex engine from scratch. Turn expressions into automata with backtracking, groups and character classes without using a regex library.
TypeScript · Python · Rust
Build your own grep from scratch. Read stdin, filter text by pattern and handle exit codes while learning the foundations of Unix tools.
Go · Python · Zig
Build a coding agent from scratch. Connect models through OpenRouter, secure API keys, define tools and implement the autonomous ReAct loop.
Python · TypeScript
Build a JSON parser from scratch. Tokenize input, parse the grammar, construct a syntax tree and report useful errors for invalid JSON.
TypeScript · Python · Go · Java
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 a ray tracer from scratch. Calculate vectors, intersections and materials, then write a PPM image to render a scene pixel by pixel.
C++ · Rust · TypeScript
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
Build a Redis-compatible server from scratch. Implement RESP, an event loop and key expiry, then connect with the official redis-cli.
Go · Rust · Python
Build a POSIX shell from scratch. Use fork, exec, pipes and redirection to write a command interpreter that runs real programs.
C · Rust · Go · Zig