Available now · Surf Coast, Victoria · Open to Melbourne hybrid or remote
Full-stack engineer. I ship web and mobile apps end to end, from data model to production.
Three years building multi-tenant SaaS, payments infrastructure and mobile apps end to end. That work is commercial, so the code stays private and the systems are written up instead: architecture, trade-offs, and the parts that were hard.
Projects
What I'm building in the open.
Side projects, in progress and shown as such. Where the case studies below are the commercial work, these are where I'm picking up new stacks.
Sound Round
● In progressA music-league style song submission-and-voting game. Each round has a theme, everyone submits a track, everyone votes.
TrainFuel
● In progressTraining and nutrition app with Strava sync: calorie and macro logging plus a running-plan engine. A CedarJS web app with a React Native (Expo) mobile client.
Bellarine Links
● LiveA browser-based 3D golf hole visualiser — procedural terrain, ballistic shot arcs and cinematic camera modes, built entirely in code with no model or texture assets.
ClinicBook API
● In progressClinic appointment booking API built in .NET with clean architecture — slot availability, double-booking prevention, and cancellation windows enforced server-side.
Built with significant AI assistance as a learning exercise — exploring the stack more than claiming full authorship, and used to test AI-assisted coding workflows along the way.
StravaLab
● In progressPersonal Strava analytics API with a React dashboard — training load, fitness trends (CTL/ATL/TSB), HR drift, and pace curves beyond what Strava provides.
Built with significant AI assistance as a learning exercise — exploring the stack more than claiming full authorship, and used to test AI-assisted coding workflows along the way.
Work
Production systems, written up rather than linked.
Multi-tenant SaaS, payment splitting across separate businesses, EFTPOS terminal hardware, seat concurrency. The client names are left out; the architecture and the trade-offs are the part worth reading.
Motorsport licensing and registration platform
2024–2026Full-stack engineer
Multi-tenant SaaS replacing spreadsheets and paper forms for a motorsport governing body: a club and class hierarchy, three-layer role-based access, and one checkout that splits payment across several separate businesses.
Ticketing and point-of-sale platform
2023–2026Full-stack engineer
One multi-tenant codebase covering online ticket sales with allocated seating, digital wallet passes, and a React Native point-of-sale app for door scanning, bar and merch, shipped to both app stores and used at live venues.
ANZ Worldline terminal integration
2025–2026Full-stack engineer
Bridged ANZ Worldline EFTPOS hardware into a React Native point-of-sale app: a database-driven payment provider abstraction that switches at runtime, and a disconnect-recovery state machine so a dropped terminal never leaves a sale in limbo.
AI-assisted development workflows
2025–2026Full-stack engineer
Moved a small team from ad-hoc AI use to AI inside the actual delivery workflow: a Jira transition that fires a GitHub Action, runs an agent against the repo with the ticket's context, and opens a scoped pull request.
Skills
What I actually build with.
- Core
- TypeScript, Node.js, React, React Native, GraphQL, RedwoodJS / CedarJS, Prisma, PostgreSQL
- Also comfortable with
- Python (Flask), MongoDB, AWS S3, Stripe / Stripe Connect, SendGrid, Flutter, FlutterFlow
- Currently learning
- .NET / ASP.NET Core, Drizzle, Next.js
About
Ten years behind a camera, now behind a keyboard.
Before engineering, I spent close to a decade in broadcast television as a camera assistant and operator. Live production either goes to air or it does not, which is most of why I care about systems holding up under real conditions rather than in a demo.
Read the full story →Contact
Let's talk about the role.
Available now and based on the Surf Coast, Victoria. Open to Melbourne hybrid or remote. Email is the fastest way to reach me.