Things I built because the problem existed and nobody else was fixing it. Some running in production. Some running on my home server at 2am. All of them taught me something.
securepet — lead shot
02
03
Mauritius has no centralised platform for pet care. Lost pets go untracked. Vet appointments are made over the phone. SecurePet changes that — a full web platform with lost-pet reporting, pet profiles, and a veterinary booking system.
Built with HTML, CSS, JavaScript and a MySQL backend hosted locally with XAMPP. Designed for people who aren't tech-savvy.
portfolio — lead shot
02
03
I could have used Squarespace. Instead I set up an Ubuntu server at home, configured nginx, bought a domain, and wrote everything from scratch. This site is the project.
It runs on my home server connected to the internet — I manage the infrastructure, the deployment, the updates, all of it. The sidequest became the portfolio that proves the sidequest happened.
pirt — lead shot
02
03
Incident response usually starts with a problem of distance: the machine that might be compromised is sitting right there, and the forensic lab is somewhere else entirely. PIRT closes that gap — a USB toolkit an IT officer plugs into a suspicious Windows machine and runs on the spot. No lab, no install, no waiting around for a specialist.
It pulls the Windows security event logs that actually matter — logons (4624), special privilege assignments (4672), code-integrity failures (5038) — grabs Chrome and Edge history, then correlates events through a rule-based engine instead of reading each log in isolation.
A lightweight URL model flags suspicious links, a risk score gets calculated, and it all comes out as an HTML report with a timeline and plain-language recommendations. Every artefact is SHA-256 hashed so the evidence integrity holds up afterward.
The detection wasn't the hard part — making it boring to use was. Event log permissions, keeping false positives down, parsing browser artefacts that don't want to be parsed, and packaging the whole pipeline with PyInstaller so it runs from a USB stick on a machine that's never seen Python. My final-year project, and the one I'd actually keep on my keyring.