I'm a machine learning engineer at Picnic, based in Amsterdam. Outside of work, I enjoy systems programming in Rust and writing about math and statistics on majid.blog.
- codecrafters-sqlite-rust (2026) – A barebones SQLite implementation in Rust for the CodeCrafters "Build Your Own SQLite" challenge. Zero dependencies: SQL parsing, B-tree traversal, and record decoding are all implemented from scratch against the official SQLite file format spec.
- codecrafters-shell-rust (2025) – A POSIX-compliant shell in Rust for the CodeCrafters "Build Your Own Shell" challenge: command parsing, a REPL, builtin commands, and running external programs.
- codecrafters-shell-cpp (2025) – My earlier take on the same "Build Your Own Shell" challenge, this time in C++.
- agglo (2023) – Fast agglomerative (hierarchical) clustering in Rust.
- UTank (2020) – A tank game in Java. This was the course-end project for the "Advanced Programming" course, back when I was a bachelor's student.
- pizza (2017) – An algorithm for dividing a circle into n equal areas from any given point, solved numerically in a Jupyter notebook. I also wrote a blog post about it.
From my day job at Picnic:
- The Bitter Lesson, Sweet Results: How We Rebuilt Picnic's Recipe Recommender (2026, Picnic Engineering) – How we rebuilt Picnic's recipe recommender: replacing a Two-Tower retrieval model with a Deep & Cross Network ranker, learned purchase-history embeddings instead of hand-engineered features, and agent-driven hyperparameter tuning.
From majid.blog:
- Picking a TTL under Exponential Changes (2026) – A closed-form way to pick a cache TTL from a staleness budget under an exponential change model.
- PiZza Project (2025) – How to divide a circle into N equal slices from a non-central point.
- DIY Temperature Monitoring with ESP32 and Raspberry Pi (2024) – A battery-powered temperature sensor and dashboard, using the ESP32 microcontroller with C++/Python.
Rust Python C++ Java · machine learning · statistics · data engineering



