Heads up — this was built for desktop. You might have a pretty terrible experience on mobile.

A human behavioural analysis system designed to challenge the current direction of anti-cheat software. Entirely server-side and locally hosted, no client data, no bloatware, 99% uptime since we are independent. Rather than detecting cheats, we analyse human patterns behind cheating, the methods used to evade detection, and as a side effect identifying trolling and griefing in real time. We aim to have our players and clients first, as it should always have been...

Andorra customs quota calculator for French cross-border shoppers. A Flutter native Android app with a Python backend to keep quota data up to date. Simple tool that saves a trip to the wrong checkout lane.

LoL match coaching platform built for the AWS × Riot Games hackathon, and won 1000USD and 2000 AWS credits. Leverages AWS Bedrock for AI-powered match analysis, DynamoDB for player data, and ElasticBeanstalk for deployment. The thing that makes ours special is the personalised coach feature — it doesn't just give random info, it's actively watching your stats and pulling latest metas and updates for the most accurate help.

Epitech project: a Zapier/IFTTT clone. Full task automation scheduler with a Flutter Android app and a Flask web interface. Users create automation pipelines between services with triggers and reactions. Built solo from scratch over a semester.

Epitech project: a compiler built from scratch inspired by HolyC. Low level programming language with a simple syntax, higher security model, and precise error messages. Includes a full 113-test suite. Written entirely in Haskell.

Custom D&D board built for me and my friends. Features a real-time socket-based messaging system, dice rolls, ability creation panel, and dynamic HP/stamina bars... Basically tailor made for my D&D campaign.

Network security monitoring pipeline built during my internship. Zeek captures traffic per client, Redis Streams routes events, and a tiered ML system (Isolation Forest → XGBoost → Autoencoder) flags anomalies with escalating precision. Entirely containerised.