GIS Web Portal
Map-based web portal for viewing and managing regulated areas, built on isolated network layers with scoped access to meet public-sector data standards.
A selection of client work, and the things I build on my own time. Client names and system details are kept private.
Map-based web portal for viewing and managing regulated areas, built on isolated network layers with scoped access to meet public-sector data standards.
Equipment tracking and asset lifecycle system, consolidating scattered inventory workflows into one dashboard.
Management system for spatial data, with its processing pipelines moved onto containerised services for faster turnaround.
Portal connecting local organisations with volunteers, with SEO-focused public pages and streamlined coordination workflows.
iOS app with local caching, so calendars and event listings stay readable offline and load fast when traffic spikes.
Intercom web application built in Svelte, with the reactive UI layer handled in plain JavaScript.
Multi-tenant web platform handling high-volume transactions, with each tenant's data kept separate and sensitive records protected by managed encryption keys.
Internal tool logging office supplies and IT equipment across several workspaces, so every item's current location and holder stay traceable.
Side projects and the builds I learned on.
Free JLPT practice in the real exam format — 118 timed papers from N5 to N1, every one written for the site, marked automatically, with listening read aloud by your own device. Every question can open its own vocabulary with furigana, and all twelve languages get their own URL and hreflang.
Live site Case studyA live community site for Nepalis living in Oita and Beppu — events, stories, photographs and a member area, with every privacy rule enforced by PostgreSQL policies rather than by the app.
Live site Case study SourceTravel writing about Kyushu on a Django site I built and run — Markdown posts, photo galleries, tags, search and moderated comments. Publishing a post is a single command, wrapped in a Makefile.
Live site SourceThe site you're reading. No framework and no build step — hand-written HTML, CSS and vanilla JavaScript, with every animation done in the browser rather than pulled from a library.