Home / Projects

Projects

Business intelligence, applied AI and Kaggle work. Each write-up covers the problem, what I built, the hardest part and the result, including where my own changes didn't help.

Business intelligence

Live

Hospitality BI for a five-hotel group

A star-schema warehouse of 640,000 bookings, ten automated data-quality checks, a revenue command centre, a staff schedule builder and eleven free hotel tools.

640kbookings over four years
10automated data-quality checks
12tools and dashboards

Applied AI

Ongoing

Swarm Intelligence

One multi-agent engine in which batteries, drones and hotel equipment each make their own decision and together act as one team. Tested against the rules people use today.

949 MWgrid peak cut by a battery swarm
87%forest saved by a drone swarm
$279kyearly hotel energy saving

Applied AI

Complete

WARL wildfire drone swarm

Decentralised drones trained with deep Q-learning to route to a fire's choke points, with a live map dashboard and an explainable-AI chatbot. Built for the GDG on Campus Build with AI 2026 hackathon.

DQNone policy per drone
Livemap dashboard

Kaggle

Ongoing

Name That LLM

Identify which of 18 frontier language models wrote a passage, on prompts never seen in training. LoRA-tuned Qwen and Llama ensembles with leak-free, prompt-grouped validation.

Top 10%436 of 4,346 teams (public LB)
0.663balanced accuracy
38,935extra labelled passages

Kaggle

Ongoing

Enveda CASMI 2026 molecule identification

Rank candidate chemical structures for unknown molecules from their mass spectra. My main contribution is a leak-free 300-structure hold-out that caught leaderboard drops the provided validation missed.

0.415MRR@25 on the public LB
300structure leak-free hold-out
540kspectra embedded on GPU

Kaggle

Ongoing

NeurIPS 2026 Smart Buildings

An HVAC control policy that keeps people comfortable while cutting energy and carbon in buildings and climates it has never seen. Physics-informed control, validated on 30 simulated unseen scenarios.

0.01244best public score (lower is better)
0.01853best public notebook
30unseen validation scenarios

Kaggle

Ongoing

Squares in Squares

Pack N unit squares into the smallest possible square for every N up to 1,000. A validation and submission pipeline that only submits packings proven valid on Kaggle's high-precision checker.

Top 13%190 of 1,473 teams (public LB)
22.257score vs 28.938 baseline