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 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.

Things I've built

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 · Python FastAPI OSRM Next.js

A small compiler for ORM code. You write your schema in a .nexus file. NexusORM generates plain C++ classes, SQL migrations, and a chainable query builder (.where().orderBy().limit()) for PostgreSQL.

No runtime reflection. No macros.

C++20 PostgreSQL libpqxx CMake

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 · Python

A Unix shell I wrote from scratch. nova-shell handles pipes, < and > redirection, background jobs with &, quoting, $VAR expansion, and command history. Built-ins include cd, set, and history.

C GNU Readline

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.

Java 21 Spring Boot 3 MySQL Docker

A command-line tool for setting up DOMjudge programming contests. I contributed 2 merged pull requests, about 1,260 lines of code.

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. You find my solutions in Competive-Programming-Problems and neetcode-submissions.

Tools I use

C++, C, Java, Python, TypeScript, JavaScript, Go, PHP, Dart
Node.js, Express, Spring, Symfony, Laravel, FastAPI, React, Next.js, Vue, Tailwind CSS, Flutter
PostgreSQL, MySQL, Redis, Prisma, Firebase, Kafka
Docker, Nginx, Linux, AWS, Google Cloud, Cloudflare, Terraform, GitHub Actions, Prometheus, Grafana, Jest, Vitest

Email me 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. domjudge-cli domjudge-cli Public

    Forked from AnasImloul/domjudge-cli

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

    Python

  3. nova-shell nova-shell Public

    C 1

  4. avelo-route-optimizer avelo-route-optimizer Public

    JavaScript