SlimDB
77 tests
A crash-safe embedded database in Rust. No server, no configuration, no SQL.
Under the hood
Write-ahead log with fsync per write. Torn writes are detected and truncated on recovery. Checksummed, versioned format.
Software engineer · Cotonou, Benin · UTC+1
Backends, AI systems, and the data underneath them. When I want to understand how something works, I write it from scratch: a database, a ray tracer, a neural network. Then I ship the product that sits on top.
Surface
Pixels, game feel, interfaces
Product
Screens and flows people hold
Logic
APIs, auth, model orchestration
Data
Storage, durability, retrieval
Maths
The arithmetic under everything
Featured case study · 2025/26
Lead engineer, from the product redesign in Figma to production. Students ask questions, photograph their homework and revise with generated quizzes. Every answer is checked against the official school curriculum, so the tutor knows when a question is off the syllabus.
Product and client kept anonymous.
Student asks
« C’est quoi le travail d’une force ? »
Embed
Gemini embedding, truncated to 768 dimensions and renormalised
Search
pgvector over curriculum nodes, filtered by country, grade and track
Gate
Similarity ≥ 0.66, calibrated on real student questions
On the syllabus
Answers from the matching lesson
Off the syllabus
Says so, instead of pretending
Engineering
A database, an auth library, a ray tracer and a neural network. Each one exists because I wanted to know how the real thing works.
77 tests
A crash-safe embedded database in Rust. No server, no configuration, no SQL.
Under the hood
Write-ahead log with fsync per write. Torn writes are detected and truncated on recovery. Checksummed, versioned format.
0 dependencies
Stateless JWT auth you can actually revoke, plus the OTP and rate limiting a phone-first login needs.
Under the hood
A version claim checked on every request. One UPDATE invalidates every token, on every device.

4.4× on 4 cores
A ray tracer from scratch in C++17, with a scene format and a parser of its own.
Under the hood
Recursive reflection, analytic intersections for four primitives, OpenMP rows scheduled dynamically.
| N | CW | CB | MW | MB | |
|---|---|---|---|---|---|
| N | 301 | 48 | 73 | 15 | 10 |
| CW | 61 | 121 | 0 | 41 | 0 |
| CB | 45 | 0 | 145 | 0 | 32 |
| MW | 5 | 17 | 0 | 199 | 0 |
| MB | 3 | 0 | 21 | 0 | 213 |
Zero white and black mix-ups in 903 positions.
Rows: expected
Columns: predicted
72.5% held-out
A neural network with no ML library, reading chess positions from FEN notation.
Under the hood
It never confuses white with black. Every error is about severity: it learned the geometry, not the rules.
Games
Made in Godot 4. Two demos, a prototype and a game jam entry, each one built to feel good in the hands.
Cozy inn sim · Godot 4.7
Your grandmother's run-down inn, brought back one season at a time.
Puzzle · Trijam #395
Magic is scarce. Every power you give is a power someone loses.
Demo videos for every game · The jam entry is on itch.io
About
I'm a software engineer from Cotonou, Benin, with a Bachelor in Computer Science from Epitech. I came to code through design: before I wrote software, I designed interfaces for a living, and I still redesign before I build.
Teaching
Teaching assistant at Epitech, following 100+ students through their projects.
Community
President of Game Cloud, Epitech Benin's game development society. A digital literacy week in rural Benin.
Writing
I write fiction when I'm not writing code.
Lead developer & product designer
AI tutoring product, EdTech startup
Teaching assistant
Epitech Benin
React Native developer
TePlay
UI/UX designer
Cerberes Technologies
Bachelor in Computer Science
Epitech Benin
Contact
Built from scratch, like everything else.
Cotonou · UTC+1