Perth, Western Australia
I make things
from scratch.
Ten browser games with no engine and no asset packs. An underwater gripper. An operating system. I also build small businesses a website that loads fast.
SLINGWRECK · every sprite drawn in code
The games
No engine. No asset packs.
I draw the sprites in code and synthesise the sound. Writing the renderer teaches you more than configuring one. They are free and run in a browser, with nothing to install.
Lane defense
Garden Defenders 2
Five worlds, 40 levels, boss fights and an endless mode. Plants hold five lanes while the waves get heavier. Installs as an app.
Sandbox
tree
Mining, crafting, building, towns, invasions and bosses through to the Moon Lord.
Physics demolition
SLINGWRECK
Fling nine kinds of critter at pig fortresses across a 52-level campaign, on a hand-written rigid-body engine. Build your own fortress in the workshop.
Horror · one HTML file
Tung Tung Tung Sahorror
Gather six offerings in the dark and carry them home before the call to Subuh, while something hunts you by sound. A raycaster in a single file, no build and no dependencies.
Stacker · battle royale
TOPOUT
Battle royale against as many as 98 CPUs, online versus, replays and a global leaderboard.
Survival · multiplayer
Wildbound.io
Gathering, age upgrades, base building, rotating seasons, bosses and 60 tameable companions.
Physics brawler
BOP
Draft one of three wild abilities a round and squish everyone else off the map. Eight players online, or couch play with bots.
Closer to the metal
The layer underneath
Browsers, emulators, robots and an operating system. Work that only goes well if you understand what sits below it. Each one has a page on how it was built, and links out to the source from there.
npu-twin
Speculative decoding on a Radeon 780M through Vulkan with no ROCm, 1.42× overall. Then a 1B Llama generating text on the laptop's XDNA 1 NPU, which AMD's own Linux stack cannot do.
SoftSense
An underwater gripper with no force sensor in it. One shaft closes both Fin Ray fingers and the motor current stands in for tip force. Prize winner, July 2026.
APEX-OS
A two-edition Linux distribution shipped as an OCI image. Updates apply in one transaction, so a bad one rolls back instead of stranding the machine.
EmuRust
A retro launcher carrying its own emulator cores. Six systems need nothing else installed, PlayStation renders through Vulkan, GameCube hands off to Dolphin.
Zen Browser
A Firefox-based browser. Sixteen pull requests opened and four merged, each one a piece of interface state disagreeing with what the user could see.
For Perth businesses
I build fast websites, by hand.
I design and build for small businesses the same way I build software. I write each page for your business and keep it small enough to stay quick.
Shaped around your business
It loads fast on a phone and meets accessibility standards, built around what you do rather than squeezed into a template.
Speed is the day job
Most small-business sites are heavy template builds that crawl on mobile. I spend my days in browser internals, so I know what makes pages slow and leave it out.
A working mockup, first
I research your business, write the copy and build a working site before we have spoken. Our first conversation starts from a page you can click through.
How I work
Profile it, don't guess.
I care how tools behave under the hood. I profile a project rather than guess at it, whether it is a browser internal or a small-business landing page.
Off-screen I build robots. I am team captain of Lebob, who came third out of 44 teams from 33 countries at the Korea Internationals, and design captain of FRC team 4788 "Can't Control" at Curtin University.
The palette on this page comes out of my own games. My sprites are drawn with a thick brown-black outline on sand and sage, so the page is drawn that way too.
- BasedPerth, Western Australia
- NowContributing to Zen Browser
- LanguagesRust, C, TypeScript, Python
- DesktopAPEX-OS, the distro I build
- RoboticsLebob captain · FRC 4788
- AvailableWeb projects