Sitelet https://github.com/imranakki
Skip to content
View imranakki's full-sized avatar
🏠
Working from home
🏠
Working from home

Highlights

  • Pro

Block or report imranakki

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
imranakki/README.md

Terminal intro: whoami prints Imran Akki, backend and systems engineer, MSc student at Université Laval on a double degree with INSEA, Codeforces Expert; a C++ solution passes all tests; àVélo plans a Québec City bike trip with no overage fee; ls lists the public repos.

LinkedIn Codeforces àVélo live demo Email me@imranakki.com

Hi, I'm Imran

I'm doing a master's in computer science (AI) at Université Laval in Québec, as part of a double degree with INSEA in Rabat, where I study data & software engineering. I mostly work on backends: APIs, databases, and the parts of a system that have to stay correct when real users and live data hit them. I also like going one layer lower to write the shell, the compiler or the search algorithm myself, just to see how it works. Outside of building things, I do competitive programming: Codeforces Expert and top 4% at Meta Hacker Cup 2025.

Things I've built

Québec City's bike-share charges you once a ride passes 30 or 45 minutes, and normal map apps ignore that. This planner splits a trip into several rides on the same bike: you re-dock along the way so the clock resets. It also accounts for hills.

Result: across 1,000 sampled trips, the share charged overage fees fell from 49.6% to 0%.

Live demo · Python FastAPI OSRM Next.js

An ORM generator built as a small compiler. You describe your schema in a .nexus file. NexusORM generates plain C++ classes, SQL migrations and a chainable query builder (.where().orderBy().limit()) on top of PostgreSQL.

It needs no runtime reflection and no macros.

C++20 PostgreSQL libpqxx CMake

A chess engine that plays at around 2000 Elo. It searches with minimax, alpha-beta pruning and quiescence search, and orders moves with killer moves, the history heuristic and static exchange evaluation.

Play it on Lichess · Python

A Unix shell written from scratch. It handles pipes, < and > redirection, background jobs with &, quoting, $VAR expansion and command history, plus built-ins like cd, set and history.

C GNU Readline

A web platform for running an academic conference: authors submit papers, reviewers score them, and editors accept, reject or ask for revisions. It has separate roles for each, and exports reports to Excel and PDF.

Java 21 Spring Boot 3 MySQL Docker

A command-line tool for setting up DOMjudge programming contests. I've contributed 2 merged pull requests, about 1,260 lines in total.

Python Typer Pydantic

Competitive programming

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. My solutions live in Competive-Programming-Problems and neetcode-submissions.

Tools I use

Languages and back end: C++, Java, TypeScript, Python, C, Node.js, Spring, Symfony, Laravel, FastAPI
Front end, data and ops: React, Next.js, Vue, Flutter, PostgreSQL, Redis, Docker, Nginx, GitHub Actions, AWS

Say hi at me@imranakki.com. I'm happy to talk about backends, databases or a contest problem.

Pinned Loading

  1. OBSIDIAN OBSIDIAN Public

    OBSIDIAN, a smart Python chess engine, plays strategically at a level of approximately 2000 ELO. uses Minimax Algorithm and Alpha-Beta Pruning

    Python 3

  2. Acadconf Acadconf Public

    HTML

  3. domjudge-cli domjudge-cli Public

    Forked from AnasImloul/domjudge-cli

    A command-line tool to set up and manage coding contests on DOMjudge.

    Python

  4. NexusORM NexusORM Public

    C++