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