Internal systems
The unglamorous software a company runs on: presence, scheduling, inventory, approvals. Built around the process you already have, not the one a SaaS assumes.
OFFLINE-FIRST · POSTGRES · REAL TIME
Contract work, remote across AEST or on site on the Gold Coast. You talk to the person who writes the code — no agency layer, no forty-page proposal.
The unglamorous software a company runs on: presence, scheduling, inventory, approvals. Built around the process you already have, not the one a SaaS assumes.
OFFLINE-FIRST · POSTGRES · REAL TIME
Customer-facing applications and interfaces in React and Node — fast, accessible, and maintainable by whoever comes after me.
NEXT.JS · REACT · ACCESSIBILITY · PWA
Models, classification and assistants where they pay for themselves — and an honest answer when they don't. Usually the data pipeline is the actual project.
IN-BROWSER CLASSIFICATION · PIPELINES · PYTHON
Two days on site or on call, watching how the work actually happens. The software comes after.
Data capture before dashboards. A clean entry point solves half of what people call an AI problem.
Documented, deployed, and simple enough that the team keeps using it in month six.
Case 1 of 1
Operations app for the field crews of an electricity distribution contractor with 4,000+ employees.
Client: SIRTEC·ELECTRICITY DISTRIBUTION
Managers couldn't see in real time what each crew was doing, and much of the work happens where there is no mobile signal.
I started the project and worked across the whole app. It is an offline-first web app (PWA): with no signal, it stores each task's start and end times on the device and syncs when the connection returns. With Supabase Realtime, managers see the moment a crew starts an activity. The crews' third-party safety-camera software is integrated into the app.
Around 500 field workers use the app, every field activity is now measured in real time, and safety and productivity are tracked in one place.
Built with: REACT · NEXT.JS · TYPESCRIPT · NODE.JS · SUPABASE · POSTGRESQL
View liveThe first conversation is about how the work happens today — what breaks, who works around it, and what it costs. If I'm not the right person for it, I'll say so and point you somewhere better.