Projects

Proficiencies:

  • LAMP Stack
  • Javascript, HTML, CSS
  • React
  • Node.js
  • Git
  • Drupal
  • Wordpress
  • IoT
  • DigitalOcean
  • AWS

IsItUp

2025
Django (Python)PostgreSQLsystemdGunicorn

IsItUp is a Django-based uptime monitoring service using PostgreSQL and systemd timers to run independent background checks, record uptime history, and surface results in a dashboard. It required building a secure API, background execution, and full Linux deployment.

Highlights

  • Automated Health Checks – configurable background checks for uptime and response time.
  • Decoupled Background Execution – monitoring runs via systemd services/timers, independent of web traffic.
  • Historical Uptime Data – stores and surfaces availability and latency over time.
  • Secure API Access – API key authentication and rate limiting for data access.

Movie recommender

2023
javascriptreactmovie api

A React app that curates movie suggestions via a movie API. Built to streamline the search for quality films while sharpening React skills.

zombieWizard

2024
PythonPygameGodotGDScript

A 2D shoot-em-up game built from scratch to explore game development fundamentals. Hit performance limitations with Pygame's architecture which eventually prompted a full remake in Godot Engine, leveraging its built-in optimisations for smoother gameplay and a cleaner codebase.

6Aside league scraper

2025
nodeexpressjscheeriopug

Our local league's website is outdated and hard to use. I built a scraper and frontend that fetches results, fixtures, and the current table, then restructures everything into a clean, well-organized JSON object and presents it in a modern UI.

Highlights

  • Clear view of upcoming fixtures and past results.
  • Shows exactly which teams have played each other and the final scores.
  • Readable, up-to-date league table.

How it works

  • The scraper periodically fetches data and builds a fresh JSON snapshot.
  • The backend serves the cached JSON for fast loads, avoiding unnecessary hits to the source site.
  • The frontend renders fixtures, previous results, and standings in a simple, responsive layout.

This project blends web scraping, data modelling, and UI work to make following our league much more enjoyable.

Weather app

2024
nodejavascriptmysqlcsshtmlnextjsreactchartjsTomorrow.io

Displays real-time weather updates and room temperature data from a Raspberry Pi with BH1750 and BME688 sensors. Combines weather API data with a sleek frontend and supports RSS feed integration. Also displayed on a 20x4 LCD wired to the Pi.

typeFaster

2023
nodeexpressJSsocket.iopughtmlcss

Multiplayer typing game inspired by TypeRacer. Utilizes WebSockets for real-time interaction and has secure user authentication. A proof of concept for leveraging modern web technologies.

Custom Business CRM

2024/2025
PHPMySQLJavaScriptStripe APISendGridSecure Sessions

A full-featured Customer Relationship Management platform built from the ground up to streamline and automate business operations. Designed with scalability and security in mind, it provides a central hub for managing clients, bookings, payments, and communications.

Highlights

  • Booking & Scheduling – integrated system for managing client appointments and lessons.
  • Stripe Integration – supports one-off payments, subscriptions, and invoicing with secure transaction tracking.
  • Email & Notifications – automated communication pipeline powered by SendGrid for confirmations, reminders, and updates.
  • Role-Based Access – secure session handling with permissions tailored for admins, instructors, and clients.
  • Customizable Tables & Graphs – dynamic data visualization tools for tracking business performance and insights.
  • Secure Architecture – robust database design, session security, and modular components for maintainability.

Discord Bot

2023/2024
javascriptdiscordjsytdlyoutube api

A music bot for Discord that streams audio directly from YouTube. Integrated with FACEIT to display player stats. Some issues with ytdl caused random music interruptions.

chatbot

2023
javascriptOpenAI

Voice-enabled chatbot using OpenAI's API and Chrome's speech recognition. An experiment in combining conversational AI with real-time input.

HLTV chrome extension

2023/2024
javascriptDOMParser

A Chrome extension scraping HLTV to display CS2 match results instantly instead of navigating to the site.

marketPlace

2022
PHPtwig

An eBay-style marketplace with Stripe integration for payments and secure login. Designed as a sandbox for PHP and Twig proficiency.

Other interests:

  • Liverpool FC
  • Favourite movie: Blade Runner 2049
  • Bouldering
  • Favourite series: Peep show
  • CS2
  • PC building/hardware
  • IoT
  • golf handicap: NaN ;)

Among other projects...

if you read this far you're the goat