Full-stack developer in Melbourne. TypeScript, React Native, Next.js, Supabase.
I'm the sole developer of a production platform at a Melbourne entertainment company — a React Native app live on both app stores, two Next.js web applications, a Supabase backend, and third-party CRM integration. That work lives in a private enterprise account, so it isn't visible here. What is here is what I build on my own time.
tune-arcade — an arcade game where reading real sheet music and playing it on your instrument is the gameplay. Live pitch detection off the microphone scores your performance. TypeScript, Web Audio, Vite, Vitest. Live demo
chess-engine — a UCI chess engine written from scratch in Rust. Correctness is verified with perft against published node counts, so move generation is either exactly right or provably wrong. Design decisions and the reasoning behind them are logged in docs/decisions.md.
Before software: three years as a contracted performer, a decade teaching instrumental music. I build for people who aren't at desks because I used to be one of them.
Melbourne · open to full-stack and mobile roles
