I am a senior full stack engineer and designer with ten years shipping production web, mobile, and desktop software end to end. I build interfaces in React, Next.js, and TypeScript, and the backends, realtime layers, and APIs behind them in Node, Rust, Supabase, Postgres, gRPC, and REST. Recent work includes a cross-platform remittance app that moves money from the United States to Latin America.
Games are where I started and where I still work. I have shipped mobile titles on the App Store and Google Play, led engineering teams, built realtime multiplayer networking, and deployed location-based AR across cities in Canada and the United States.
I am the sole developer behind Worldstone.dev, a realtime collaborative RPG design platform. It runs as a Rust desktop app under Tauri, syncs multi-user editing through Yjs CRDTs and Supabase, generates content with streaming AI, and exports straight into Unity, Unreal, and Godot.
I hold an Advanced Diploma in Video Game Design, so I design the work as well as build it. I take projects the whole way, from architecture through to a polished, shipped product.
Web / Software
Worldstone.dev
Solo Project
An RPG design tool for building characters, dialog systems, items, and interactive locations in one structured visual workspace.
It adds AI-assisted content generation, full Git version control, and direct export to Unity and other engines, cutting prototyping time and replacing scattered spreadsheets with a real design pipeline.
https://worldstone.dev
Stack: React, TypeScript, Unity, Unreal Engine, JavaScript, Tailwind CSS, Rust, C++, C#, Godot, Tauri, Vite, Supabase, PostgreSQL, Backblaze B2, Anthropic Claude, OpenAI, Yjs, React Flow, Zustand, Fabric.js, GSAP, Sanity, Zod, Vercel
This Website
Personal Project
The site you are reading, built as a game editor.
The panels dock and resize: Hierarchy, Scene, Inspector, Console. The viewport is a real 3D scene with engine navigation, so right-drag looks around, WASD flies, Alt-drag orbits, and F frames the selection.
Press Play and the Game view runs the selected project’s media behind an in-engine HUD. Ctrl+K opens a command palette, and the console takes typed commands.
Every selection writes a shareable URL, every route is server-rendered, and all of the content comes from Sanity.
Next.js 16, React 19, TypeScript, Tailwind 4, Three.js, dockview, and GSAP.
Stack: React, Next.js, TypeScript, Tailwind CSS, JavaScript, Git, Three.js, React Three Fiber, Sanity, Zustand, GSAP, Zod, Playwright, Vercel
Mods / Decomp
ROTK: Vegeta Mod
Personal Project
A remake of the PS2 game The Lord of the Rings: The Return of the King, rebuilt from the ground up in Rust on the Bevy engine, with Vegeta from Dragon Ball Z: Budokai 3 added as a playable hero.
Vegeta fights through Helm's Deep with his own moves: melee combos, rapid ki blasts and a charged Galick Gun. The opening film carries new shots that put him in the battle.
Stack: Rust, Bevy, Python
HardcoreWager
Personal Project
A play-money sportsbook built into World of Warcraft Classic Era, settled by the deaths its hardcore realm announces. Bet on what the next death will be by class, race, level bracket, zone, cause or guild, and combine picks into parlays that chain across the next three deaths. Bet the realm's pace against a Poisson line, patterns across upcoming deaths, or which class reaches three deaths first.
Odds come from the deaths the addon has actually observed. Every option carries one phantom death so nothing is ever impossible, the house keeps 5 percent, and prices lock the moment a bet is placed.
Because a client cannot be trusted with its own score, every client announces its bets as they are placed and settled, and every other client replays them against the deaths it witnessed itself. The realm leaderboard is verified by peers rather than self-reported.
Pure Lua across 28 modules, driven in development by a Python harness that boots the addon under LuaJIT with a stubbed widget API and a synthetic death feed, clicking through every page before each sync.
https://www.curseforge.com/wow/addons/hardcorewager
Stack: Lua, Python, PowerShell
Games
Dead County
Personal Project
A third-person survival horror game for the original PlayStation, in the style of the early Resident Evil games. Harmon, Indiana, October 1998: a farmer driving home on County Road 9 hits a man who gets back up. The demo plays one night start to finish, through a dive bar, its storage cellar, the drive home and a rescue in the barn, and it ships on itch.io as a CD image that boots on a real console.
It is a real PlayStation 1 program, not a modern game behind a filter: 2 MB of RAM, fixed-point maths, affine texture warping and dithering. Scenes are authored in Unity by builder scripts and exported by SplashEdit, and gameplay runs as Lua inside the psxsplash C++ runtime, compiled with a MIPS toolchain into a PS-EXE.
The runtime and exporter were extended wherever the game needed them: animation crossfades and upper-body layers on bone masks, Resident Evil door sequences staged from the real level around each doorway, conversations with choices, an inventory, item box, map and memory card saves, and every character reduced to a PS1 budget with its own baked texture page.
A PowerShell pipeline drives the open Unity editor from the command line to compile, export and build the disc, then plays recorded pad routes through PCSX-Redux under Lua automation, capturing frames and failing any build that breaks its per-scene frame time, triangle and memory budgets.
https://ryanhillgames.itch.io/dead-county
Stack: Unity, C#, C++, Lua, PowerShell
Engage Art
Exar Studios
A location-based Unity app that placed augmented reality content in cities across Canada and the United States.
As Lead Developer at Exar Studios I worked with the design and production teams to turn client goals into shipped features, from the AR experiences themselves to the systems around them.
Stack: Unity, C#, PlayFab, AR Foundation, Mirror Networking
Turbo Titans
Levitate Studios
An endless runner shipped to Google Play and the App Store in 2019, built by a team of three with me as Lead Developer.
Players unlocked characters, collected cosmetics, and bought upgrades that changed how a run played. The game is no longer available.
Stack: Unity, C#, PlayFab, Photoshop
Mobile Action RPG
Personal Project
A mobile action roguelike I am building on my own.
The clip is an early boss fight. You trigger the boss, then hold the circle to charge the teleporter to the next level.
Stack: Unity, C#, FishNet
VR Multiplayer Demo
Personal Project
A proof of concept for a networked VR game.
Every clip runs inside a multiplayer lobby, where a fully IK-rigged character picks up a pistol and fights zombies.
Stack: Unity, C#, FishNet
Stick To It
College
A college game built by a team of five over a twelve-week cycle in 2019.
I coded player movement, health, the points system, and the AI, and designed the tutorial and level 5. I also built dynamic collectable spawning, the checkpoint system, and the time trial and high score modes.
We showed it at a local high school, where it won the Most Fun Award at Great Lakes Game Day.
Stack: Unity, C#, 3ds Max, Photoshop, Substance 3D Painter
Overdew
College
A college game built by a team of five over a twelve-week cycle in 2018.
I designed the thief enemy and levels 2 and 5, and built the on-screen indicator that tracks the package’s location and distance whenever you are not carrying it.
Presented at the 2019 Juno Music and Video Game Collision.
Stack: Unity, C#, Substance 3D Painter, 3ds Max, Photoshop