Build your own container runtime
Build a container runtime from scratch. Isolate processes with namespaces, cgroups and chroot to understand how Docker starts an image.
Go · C · Rust
Build a neural network from scratch. Implement the forward pass, loss functions and gradient descent, then train and run your own model.
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.
Modern machine learning often feels mysterious behind massive frameworks like PyTorch or TensorFlow, but its core foundations are elementary arithmetic: weighted sums, non-linear activation functions, and gradient calculation using the chain rule.
In this project, you will build the training engine of a neural network from scratch without external machine learning dependencies. You will implement the affine combination of an artificial neuron, activations like ReLU and Sigmoid, loss metrics like MSE and BCE, and the gradient descent optimization loop to classify data deterministically.
6 stages across 3 phases. Every stage comes with its guide and its tests: you move on when they pass.
Compute the linear combination of weighted inputs and apply non-linear activation functions.
Measure prediction error using MSE and BCE, and update parameters using gradient descent.
Execute complete optimization epochs and perform deterministic predictions on binary classification.
Build a container runtime from scratch. Isolate processes with namespaces, cgroups and chroot to understand how Docker starts an image.
Go · C · Rust
Build a garbage collector from scratch. Implement mark and sweep, track live objects and reclaim memory like the runtimes you use every day.
C · C++ · Rust
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