Work

Selected works

Some of the things I've been building — from full-stack apps to small games to creative experiments.

Cozy Chapter screenshot 1Cozy Chapter screenshot 2

Cozy Chapter

A 3D personal media tracker and plant watering app — because my growing collection of Dracaena demanded better record-keeping.

Tanstack startR3FDrizzleBetter AuthTypeScriptTailwindZodNeon PostgresNetlify
Pitaya Tracker screenshot 1Pitaya Tracker screenshot 2

Pitaya Tracker

A farm management system for a dragon fruit farm in Mozambique — tracking 130 variants, flowering cycles, taste profiles, and international exports.

Next.jsNextAuthTypeScriptNeon PostgresTailwindR3FDrizzleZodVercel
Bin There Ate That screenshot 1

Bin There Ate That

A trash-panda platformer in three courses. You are a raccoon and there is food. You know what to do. Eat your way through a full three-course meal - entrée, main and just desserts, leaving every level cleaner than you found it. Technically. The dinner conversation flows, effortlessly. This trash panda is a bit of a yapper.

Godot 4.7
Castle Capers screenshot 1Castle Capers screenshot 2

Castle Capers

A mini 3D murder mystery game — explore a castle, find clues, and figure out whodunit.

R3FDreiZustandVercel
Island Hopper screenshot 1Island Hopper screenshot 2

Island Hopper

Mapbox experiment exploring places around the world with animated 3D characters as guides, and lots of easter eggs.

Next.jsR3FDreiMapboxPostprocessingGLSLZustandVercel
Codemon screenshot 1Codemon screenshot 2

Codemon

🏆

A JRPG battle game with a coding theme — built in 3 days as a collaboration for Little Shop of Chaos - 2nd place Boot.dev hackathon winners

PhaserMongoDBExpressTypescriptVercel
Peaks and Beaks screenshot 1Peaks and Beaks screenshot 2

Peaks and Beaks

Strava meets tracking the species you've seen out on a walkabout, run, or row so I could appreciate the urban wildlife and watch personal mileage accrue.

DjangoGeoDjangoPostgresS3Herokusendgridwhitenoise