Work
- 01
Hinewaa Ltd
Website for a Māori-owned strategy and governance practice working across climate, taiao and Indigenous economies. Bilingual navigation, tukutuku-inspired imagery, scroll-driven motion and a contact form backed by a serverless email function.
- React
- TypeScript
- Vite
- GSAP
- Resend
- 02
kori/os
Gym management app for New Zealand gyms: members, plans, direct debit, contracts and overdue reminders on one ledger. Billing runs on signed GoCardless webhooks, and the public demo replays each visitor's changes from a cookie, so it needs no database.
- Next.js
- TypeScript
- Supabase
- GoCardless
- Vitest
- 03
AWA/OS
Studio app that runs a project from first enquiry to final invoice, with the whole pipeline drawn as a river and a separate portal for clients. Two auth models, Stripe payment links, server-rendered PDF invoices and row-level security in Postgres.
- Next.js
- TypeScript
- Supabase
- Stripe
- Resend
- 04
Crook
Vinyl figure of Crook, my gaming and design alias since 2014. The whole model is generated by a Python script in Blender, and you can drag his beanie down into a balaclava or spin him on a turntable drawn in a shader.
- Three.js
- TypeScript
- Blender
- Python
- Vite
- 05
RAMA
Concept site for a clothing label built on raw construction and exposed seams. The page moves through a single day of light, from first light to after dark, with the sky, palette and timestamps shifting as you scroll.
- Next.js
- TypeScript
- Tailwind CSS
- GSAP
- Lenis
- 06
Six Voices. One Direction
Concept page on six people across music, fashion, performance, activism and storytelling, and the principles drawn from their work. A Three.js dither shader logo, a pixel-dither visual system and an optional listen-along sound layer.
- Next.js
- TypeScript
- Three.js
- GSAP
- Lenis
- Howler





