/// Shelf Engineering
A collection of

Things I’ve built with Claude

A running notebook of experiments, games, and small tools — each one started as a conversation and ended up as something I actually use.

Pixels & play

Games

Made to be lost in
Sideways Dojo title screen — a synthwave sun over the mode-select dojo
01 Versus arcade 2026

Sideways Dojo

An 80s martial-arts Tetris duel where pieces fall sideways toward a shared battle line — clear a column to shove the divider into your rival and K.O. them. Fight a black-belt AI across three difficulties, or run the roguelike auto-battler and upgrade your bot between rounds.

View project
Quietly useful

Functional tools

The boring stuff, handled
Behaviour Book landing page — log behaviour in 10 seconds, built for AU & NZ primary teachers
02 Classroom 2026

Behaviour Book

Private student-behaviour tracking for AU & NZ primary teachers — log an incident in ten seconds, and it flags recurring patterns, hotspot locations, and time-of-day trends automatically. Runs entirely in the browser with no accounts or cloud, and exports clean entries straight into Hero or KAMAR.

View project
Homepage Panda — a macOS editor rearranging an iPhone home screen from a Mac
03 macOS app 2026

Homepage Panda

A real macOS editor for your iPhone home screen — drag and drop apps, widgets, and folders with a mouse, search across every page, sort alphabetically, then apply the whole layout to your phone in one click. No jailbreak, automatic backups, and a one-time $9.99 license.

View project
Off the deep end

Creative experiments

No particular reason
Voice RPG — 'A voice-acted narrative engine, built eight times' with stats for all eight games
04 Narrative engine 2026

Voice RPG

A single-file branching-narrative RPG engine with on-device voice synthesis — built eight times, each version shipping a different game in a different world, from an Edo-era merchant’s rise to a postwar Manhattan nightclub. Eight games, 445 scenes, ~3,141 spoken lines, all playable in the browser.

View project