Code

Audio Blanket

React TypeScript Vite Tailwind CSS Web Audio API Responsive Design

A web application for personalised ambient soundscapes with beautiful visual backgrounds. Features ambient sounds, noise generation, and responsive design with advanced audio controls using the Web Audio API.

Art of the moment

Python Flask Jinja Web Development REST API

A dynamic web application built to create an ever-changing artistic experience. It leverages the Artsy API to fetch and display a new piece of artwork with each refresh.


Note: The Artsy public API was sunset in July 2025

Solar system simulator

JavaScript HTML5 Canvas Animation Physics Simulation

A solar system simulation built with JavaScript and the HTML5 Canvas API, modelling the orbital mechanics and positional relationships between celestial bodies

Oyster card journeys

Python NumPy Pandas Matplotlib Data Analysis Data Visualisation

A data analysis and visualisation project using Python and key data science libraries to uncover insights into urban mobility from Transport for London (TfL) Oyster card journey data

K-means palette reducer

Python Machine Learning Image Processing Algorithms

This tool generates different artistic styles by reducing the number of colours in an image using the k-means clustering algorithm. It's useful for creating a simplified colour palette or for image compression.

Personal Website

HTML5 CSS3 Jekyll Sass Web Development Responsive Design

A personal portfolio website built with Jekyll to showcase a curated collection of my creative work, including coding projects and art