I study for a master's in computer science (AI) at Université Laval in Québec. The program is a double degree with INSEA in Rabat, where I study data and software engineering.
- I build backends: APIs, databases, and the services behind them.
- My code stays correct under real users and live data.
- I write low-level tools myself, a shell, a compiler, a search algorithm, to learn how each one works.
- I compete in programming contests: Codeforces Expert, top 4% at Meta Hacker Cup 2025.
|
Québec City's bike-share charges you once a ride passes 30 or 45 minutes. Map apps ignore this limit. The planner splits your trip into several rides on the same bike. You re-dock along the way, and the clock resets. The planner also accounts for hills. Result: across 1,000 sampled trips, overage charges dropped from 49.6% of trips to 0%. Live demo · |
A small compiler for ORM code. You write your schema in a No runtime reflection. No macros.
|
|
A chess engine playing at about 2000 Elo. The search uses minimax, alpha-beta pruning, and quiescence search. Move ordering uses killer moves, the history heuristic, and static exchange evaluation. Play OBSIDIAN on Lichess · |
A Unix shell I wrote from scratch. nova-shell handles pipes,
|
|
A web platform for academic conferences. Authors submit papers. Reviewers score them. Editors accept, reject, or request revisions. Each role has separate permissions. You export reports to Excel and PDF.
|
A command-line tool for setting up DOMjudge programming contests. I contributed 2 merged pull requests, about 1,260 lines of code.
|
| Contest | Result |
|---|---|
| Meta Hacker Cup 2025 | 491 / 13,779 |
| Codeforces | 1647, Expert |
| Moroccan Collegiate Programming Contest 2025 | 18th |
| Moroccan Olympiad in Informatics 2022 | Semi-finalist |
I also set problems for Game of Codes, a national inter-school contest. You find my solutions in Competive-Programming-Problems and neetcode-submissions.
Email me at me@imranakki.com. I'm happy to talk about backends, databases, or a contest problem.




