Projects

Personal Website

A modern personal website and blog with NestJS backend serving Pug templates and vanilla JavaScript frontend. Features a Markdown-based blog system with syntax highlighting, server-side rendering for SEO, smooth page transitions using the View Transitions API, and GSAP animations. Includes a contact form with Mailgun integration, XSS sanitisation, and CDN-optimised caching.

NestJSTypeScriptPugVanilla JSMarkdownMailgunGSAPhighlight.js

Dino Park

A dinosaur park management system built with pure functional programming principles. Processes real-time events from an external API to manage a 26×16 grid of park cells, tracking dinosaur feeding, movement, and maintenance needs. Features immutable data structures throughout, a three-panel UI with safety indicators, and comprehensive test coverage demonstrating clean functional architecture.

ReactViteVitestJavaScriptFunctional ProgrammingImmutable Data