Kia ora! I'm a first-year Computer Science student at The University of Auckland.
Projects
WaiMUN
Website and registration workflow for 126 schools across 15 schools, with Sanity CMS, Airtable, and Stripe. Developed internal tooling to generate event badges, and deliver personalised allocation emails.
- Astro
- Sanity CMS
- Airtable
- Stripe
- TypeScript
- React Email
Lectern
Event management platform for organisations, bringing publishing, registration, ticketing, check-in, participant imports, branded public pages, and printable materials into one place.
- TypeScript
- TanStack Start
- Convex
- WorkOS
- Stripe
- Resend
- React PDF
Saku
Discord-hosted coding agent and harness in Rust with threaded conversations, file and shell tools, web search, and memory system for working on codebases away from the terminal.
- Rust
- Serenity
- Codex
- Exa
Alien Helpdesk
Helpdesk simulator game where players answer tickets from aliens, with AI-graded user responses.
- Next.js
- TypeScript
- Zustand
- AI SDK
- Base UI
AnkAI
Built a study app that turns messy notes into Anki-style decks, with a collaborative, realtime editor and an AI microservice which generates structured flashcards.
- Next.js
- TypeScript
- Convex
- Clerk
- Tiptap
- OpenRouter
Homelab
Maintain self-hosted infrastructure for learning production-style operations, including Linux servers, Docker services, reverse proxies, backups, and home networking.
- Linux
- Docker
- Caddy
- Cloudflare
- Networking
- UniFi
Bridging Plugin
Developed a multiplayer game server plugin in Kotlin, implementing a session replay system, packet-level NMS hooks, and a persistent MariaDB database layer using Exposed and coroutines for async handling.
- Kotlin
- Spigot
- Exposed
- MariaDB
PaperSpigot Patch
Identified and patched a state desync bug in PaperSpigot – out-of-range block placements were rejected without a corrective client update, causing ghost blocks. Fixed by forking the project and issuing the missing update packets.
- Java
- PaperSpigot
- Minecraft
- NMS