Learn systems programming by building search engines, storage systems, caches, and distributed infrastructure from scratch.
SystemLab is a monorepo of independent systems programming projects.
Each project explores a core area of modern system software through incremental implementation, clean architecture, and practical experimentation.
The goal is not to build production-ready software, but to understand how real systems work by building them from scratch.
| Project | Language | Focus |
|---|---|---|
| SearchRS | Rust | Search engine, inverted index, ranking, query processing |
| GDFS | Go | Distributed file system, metadata management, replication |
| ZigKV | Zig | In-memory key-value cache, memory management, TTL |
systemlab/
├── docs/
│ ├── architecture/
│ ├── adr/
│ └── ...
├── searchrs/
├── gdfs/
├── zigkv/
├── Makefile
├── ROADMAP.md
└── README.md
SystemLab follows a few simple principles:
- Learn by building
- Incremental implementation
- Small and understandable codebases
- Clean architecture
- Well-documented design decisions
- Independent but composable projects
Each project is designed to be useful on its own while remaining easy to integrate with other projects through well-defined interfaces.
Projects evolve independently and may collaborate when appropriate.
SystemLab
│
┌───────────────┼────────────────┐
│ │ │
SearchRS GDFS ZigKV
(Rust) (Go) (Zig)
│ │ │
Search Storage Cache
One possible integration looks like:
SearchRS
│
DocumentStore Interface
│
+----------+----------+
| |
LocalFS Remote Storage
│
GDFS
SearchRS
│
Document Cache
│
ZigKV
These integrations are optional rather than required. The projects remain independent learning projects with clearly defined responsibilities.
ROADMAP.md— Overall learning roadmapdocs/— Architecture, ADRs, and design notessearchrs/README.mdgdfs/README.mdzigkv/README.md
Learn by building.
Instead of reproducing production systems feature by feature, SystemLab focuses on understanding fundamental ideas through clean implementations, comprehensive tests, and continuous refinement.