Profile
I design and ship production web applications from architecture through deployment and iteration. My background in art and animation shapes how I approach UX, while years in systems-driven technical roles taught me to value reliability, maintainability, and clear system design.



Tech Stack
Select Work
Please allow up to 1 minute for projects to spin up.
TLDR History
AI-assisted history platform for exploring global events through infinite-scrolling timelines, interactive maps, and real-time statistics. Built with a type-safe GraphQL + Prisma backend alongside virtualization, production-grade authentication flows, SSR/prerendered pages for performance and SEO, and asset delivery via Cloudflare R2 CDN.
AI-assisted history platform for exploring global events through infinite-scrolling timelines, interactive maps, and real-time statistics. Built with a type-safe GraphQL + Prisma backend alongside virtualization, production-grade authentication flows, SSR/prerendered pages for performance and SEO, and asset delivery via Cloudflare R2 CDN.
Aquaclear
A production platform for a UK environmental services company featuring an AI-powered client assistant with contextual retrieval, persistent memory, and streamed responses. Built with React, Express, Supabase/PostgreSQL, OpenAI embeddings, integrated testing, and Docker-based CI/CD deployment on Render.
A production platform for a UK environmental services company featuring an AI-powered client assistant with contextual retrieval, persistent memory, and streamed responses. Built with React, Express, Supabase/PostgreSQL, OpenAI embeddings, integrated testing, and Docker-based CI/CD deployment on Render.
Slumbernaut
Dynamic artist platform integrating Spotify, YouTube, and Google APIs to automate content synchronization and event updates. Built with Next.js and React using SSR, caching strategies, reusable state patterns, and theme-driven UI architecture.
Dynamic artist platform integrating Spotify, YouTube, and Google APIs to automate content synchronization and event updates. Built with Next.js and React using SSR, caching strategies, reusable state patterns, and theme-driven UI architecture.