
An arena brawler where spinning is your only verb: strike the storm ball, parry it, or get knocked out of the league. Solo campaign and online rooms.
Design, direction, programming, bot AI and feel tuning, and the jam's hand-drawn art.
I'm a software engineer in Orlando who designs and builds games. Here you'll find what I've shipped, the systems underneath, and what I learned making them.

An arena brawler where spinning is your only verb: strike the storm ball, parry it, or get knocked out of the league. Solo campaign and online rooms.
Design, direction, programming, bot AI and feel tuning, and the jam's hand-drawn art.

A boy defends his bedroom from a nightly alien invasion in a tabletop game where the aliens are pieces and the hands are his.
Design, programming, direction, and the hand-drawn standees.

The last colorful unicorn in a dead city. Close rainbow loops around the horde, dash through danger, and turn each escape into another phrase of the soundtrack.
Game concept, creative direction, mechanics and iteration.

A zombie card roguelike where the horde forms poker hands and every move you have takes their hand apart.
Rules, systems and balance design, direction, and the hand-drawn zombie portraits.

A tactical roguelike where attacks never miss and the tension lives in your timing. My passion project, now being rebuilt for a desktop release.
Direction, programming, and the painted characters, event illustrations, and interface art; a collaborator handled sound, voice, and co-wrote the lore.

A platform for coaches to create learning programs, with editable content blocks and AI-generated quizzes.
Product design and full-stack development

Compare League of Legends items and full builds by their gold efficiency, using data from Riot's API.
Full-stack development and item-data pipeline

A resume and cover-letter builder with rich-text editing, PDF exports, and an MCP server for AI clients.
Product design, full-stack development, and MCP API
A placement flow that passed its tests and ate clicks, a boss with bad instructions, and an economy that gave tools away. The September update.
The four-gate look test I run before any character or prop earns a place in a game.
Killing three drafts, the rule that gave back depth I never designed, and balancing a roguelike with a bot that plays 300 runs.
Players said the interface was hard to read. I rebuilt it as a token system inside Phaser and fixed the soft-locks on the way.

I make games alongside my software engineering work. ThunderBashers is an arena brawler in Unity with online rooms and is the one I work on most weeks. I Won’t Be Abducted is a tabletop defense game in Godot, Undead Signal is a card roguelike in Unity, and Spare Knight is a tactical roguelike in Phaser being rebuilt for desktop. The latest is Runicorn Zombie Apocalypse, a tiny JavaScript survival game where rainbow loops trap the undead. They are all playable in a browser. I do the design and programming, and draw a good part of the art myself; Runicorn’s cover is generated promotional art.
What I care about is how rules interact and how a player learns them. In ThunderBashers it meant finding that a mechanic that felt broken was a readability problem, fixing it with a telegraph instead of a rules change, and later putting host-authoritative netcode beside the untouched offline simulation. In I Won’t Be Abducted it meant moving the boss’s instructions onto the board above his head. In Undead Signal it meant writing the rules for five days before building, then balancing with a bot that played 300 seeded runs per configuration. The project pages break down how those systems work.
I’m looking for gameplay engineering or game design work where I can keep doing that: build the system, watch people play it, and fix the right thing. If you want the short version, the portfolio deck is fourteen printable pages: one rule, one systems map, and one measured result per game.


