Projects

A selection of things I've built — personal projects and highlights from my professional work.

Munro Locator

Live

Despite the name — a legacy from its original incarnation — this app has been fully rebuilt as a general-purpose mountain tracker and trip planner, supporting any mountain classification worldwide (Munros, Corbetts, Wainwrights, and beyond). Users can browse a searchable mountain library with category and height filtering, plan future hikes with dates, log completed summits with photos and ratings, and organise outings into trip plans. The dashboard surfaces personal stats (total meters climbed, completion history, average ratings) and a recent activity feed. Planning tools include a Naismith route-time calculator, a Mapbox-powered drive-time estimator, an elevation profile viewer, and live weather forecasts via Open-Meteo. An interactive Leaflet map lets users visualise and filter mountains spatially. Goal tracking rounds out a full end-to-end experience from discovery to summit.

AngularTypeScriptTailwind CSSNode.jsExpressMongoDBLeafletMapboxOpen-MeteoJWTHerokuNetlify
Visit project →

Personal Site

Live

This site — a clean portfolio and profile built with Next.js, Tailwind CSS, and TypeScript. Designed to be fast, readable, and easy to maintain.

Next.jsTypeScriptTailwind CSS
Visit project →

CMS Platform (Forrit)

Live

Rebuilt a content management system from the ground up across multiple versions. Introduced a core page management engine capable of handling large datasets and multi-locale content authoring.

AngularTypeScriptAzureSQLDocker
Visit project →

Tesco Bank Website

Live

Led a full rebuild of the Tesco Bank public-facing website, spanning front end, back end, and CMS integration. Delivered significant performance and UX improvements.

TypeScriptSCSS.NET MVCJQueryC#AzureSQL
Visit project →

NHS ECT Tracking Platform

Archived

Built a secure internal platform for tracking ECT patients across NHS clinics in Scotland, including scheduling, reporting, and clinical workflow tooling.

.NET MVCC#SQL