Nattercan

Client Work

Jayne Coppins photography website

Jayne Coppins

Beyond Condition website

Beyond Condition

Beyond Condition app

Beyond Condition App

Amelo oral health platform

Amelo

Anna Spiro Design website

Anna Spiro Design

(in collaboration with Tony Jarrat)

Helga's website

Helga’s

Nora's Plantation Foods website

Nora’s Plantation Foods

Rubyvale Hotel website

Rubyvale Hotel

Watson Industrial Solutions website

Watson Industrial

Watson Tooling website

Watson Tooling

Chess & Antichess

Anti-Puzzles trainer

Anti-Puzzles

Antichess puzzle trainer that mines your own Lichess games for missed wins.

Python · chessground · Stockfish

Perfect Antichess

An antichess engine, opening book and Lichess bot chasing perfect play.

C · Python

Powerlifting Tools

Barbell Tracker app

Barbell Tracker

Mobile app for loading the bar and logging your lifts.

Meet Day Pro

Meet Day Pro

Meet-management app for running powerlifting competitions end to end.

React

Referee decision lights

Referee Lights

Referees scan a QR code with their phone; the platform screen shows the decision lights.

Python · Flask

Training Feedback app in a hand-held phone

Training Feedback

Phone-first coaching app: training videos and feedback flow into a live programming spreadsheet.

Python · Docker

APA national records page

APA Rankings & Records

Records and rankings pages for the Australian Powerlifting Alliance, fed live from the federation’s spreadsheets.

PHP · Google Sheets API

Life Automation

Polestar charging telemetry dashboard

Polestar Telemetry

Watches EV charging via the Polestar API — live charge view, history charts, and a calendar entry when charging finishes.

Python · Google APIs

Dad-Voice Audiobooks

Turns EPUBs into per-chapter audiobooks narrated in a cloned copy of my own voice, for the kids’ bedtime.

Chatterbox TTS

otp.oats.cc login

otp.oats.cc

Self-hosted two-factor code store — encrypted backend, web app and Chrome extension.

Flask · React

Misc & 3D Printing

Fluted onion-shaped aroma diffuser

Aroma Diffuser

Fluted onion-shell ultrasonic diffuser designed around off-the-shelf mister electronics. Seven printed parts.

OpenSCAD · PETG

Clip-on squat bar handle

Squat Bar Handle

Clips onto an Olympic bar to give a shoulder-friendly grip — printed over steel rods laid in at print pauses.

OpenSCAD · PETG

Grabber claw opening and closing

Grabber

Trigger-operated pickup claw — a printed rack drives twin gear-hinged arms.

OpenSCAD

Photo of a poodle beside its generated paint-by-numbers template and colour preview

Paint by Numbers

Turns any photo into a paintable kit: numbered template, colour preview and real-paint mixing recipes.

Python