Jungleland
LiveTimed-slot booking and deposits for a children's play centre
- Nuxt 4
- Pinia
- Stripe
- AWS Amplify
- AppSync / DynamoDB
Vue 3 · Nuxt · TypeScript
Senior Frontend Developer
I build interfaces for products people use every day — mostly in Vue and Nuxt, and mostly at the point where a design system meets real production constraints.
I'm currently a senior frontend developer at Spamhaus, where I've led two company rebrands and built the Vue 3 component library the rest of the team ships on. Outside work I build tools I actually need: a component workshop for Vue, a zero-knowledge password manager, and a monitor that watches the containers running in my house.
Timed-slot booking and deposits for a children's play centre
A Vite-native component workshop for Vue 3
A zero-knowledge password manager
Uptime monitoring for the containers I self-host
Earlier roles
I contributed to the rewrite of the user platform from Vue 2 to Vue 3, including a custom component pack, then redesigned and rewrote the admin interface to align with the new v2 interface. I introduced a code coverage tool and conventional commits to make the change history easier to track, and worked with client services on reported bugs, feeding progress back through our ticketing system.
One of a three-person frontend team building Kahu, a desk and room booking system. I implemented a full redesign of the user application to streamline the booking journey, and helped raise test coverage — maintaining both the e2e and unit suites, and reviewing as much code as I submitted.
My graduate role, on an internal web development team spread across Singapore, Crawley and Texas. I maintained the intranet the whole company used daily, and helped research and launch a new wiki to centralise the company's information in one place.
A placement year from my degree, maintaining the school's management information system (iSAMS), supporting staff and students day to day, and imaging teacher and student laptops ready for rollout. I also built a security application for the campus gate team, letting them check the person at the main gate against the registration plates parents had registered.
Core
Also
Open to senior frontend roles — remote, UTC−2 to UTC+2. The quickest way to reach me is email.