Final year Computer Science student at Manchester Metropolitan University, predicted First Class Honours. I care about back-end systems, AI, and shipping things that work.
President of the MMU Computing Society. 4x hackathon winner, including 1st place at Microsoft's EMBRACE North Regional AI Hackathon. My dissertation explores how LLMs and RAG can build smarter learning tools.
View CV →
Selected Work
AI study assistant built for ADHD learners at a one-day hackathon. Includes a forced Pomodoro timer that locks the writing environment mid-session to prevent burnout, mood check-ins with AI-tailored responses, a gamified coin system earned through completed sessions, and a statistics dashboard tracking study time and mood trends over time. Built and demoed in a single day against a competitive field.
Next.js 15
TypeScript
Tailwind
Radix UI
Solo-built at Manchester Haqqathon 2025, commissioned by Manchester City Council to tackle digital exclusion. Users complete tasks in an interactive phone simulator: sending emails, reading messages, making calls, sending SMS. The app tracks completion rates, timing, and percentile rankings in real time. Results feed into a dashboard with visual analytics across task types and a ward-level map, so MCC can target digital literacy support where it's needed most. Form handling uses React Hook Form with Zod validation.
React
TypeScript
Tailwind
Recharts
Vite
View Presentation →
Built in 24 hours by a team called "How Do I Win a Hackathon?" and apparently we figured it out. A Chrome extension and Android app work together to give users a realistic cross-platform view of their social media usage, unlike native screen time tools that only track one device. Users choose which platforms count toward their total and can activate focus modes to block distracting apps and sites when they need to concentrate.
Android
Kotlin
Firebase
Back-end RESTful API for the Little Lemon restaurant. Manages menu items and table bookings through full CRUD endpoints. Secured with token-based authentication via DRF Authtoken, with group-based permissions separating Manager and Customer roles. Managers can create and update menu items, customers can only view and make bookings.
Python
Django
DRF
MySQL
View on GitHub →
Desktop app that analyses bank statements to surface spending patterns and highlight overspending. Users can categorise transactions by store or individually, ignore specific transactions, and load multiple statements at once. Provides monthly and yearly spending overviews alongside per-category breakdowns with clear visual summaries.
Python
Tkinter
View on GitHub →
Conveyor-belt game where you fill lunchbox orders before they reach the end. Multiple levels with increasing difficulty. Later rounds introduce unique mechanics like rotating bananas to fit them into the box. Score-based progression with fast-paced gameplay.
Java
Processing
View on GitHub →
Mobile-first guessing game. Identify the footballer from their image. Each round presents four multiple-choice options with randomised images and answers. Correct guesses advance to the next level; one wrong answer ends the game. Includes a starting splash screen and end screen with final score.
JavaScript
Tailwind
Play it →