An error occurred loading project information:
Sole programmer on a Toronto gallery's open call: portfolios, Stripe fees, curator triage.
Gives every dollar a job before it is earned. No server — it syncs through your own Google Drive.
Your backend without the backend — a zero-dependency file store built on Google Drive.
Open-source C++20 library bringing WPILib's command-based paradigm to VEX V5 robotics.
Bilingual artist site with a Stripe shop and a CMS the client actually runs herself.
Live site for a halal takeout shop on Pape Ave — no cart, just menus and a phone number.
Bit-banging Linux GPIO 1.4 million times a second to hold a picture on a 64×64 LED panel.
A desktop text adventure whose entire game engine is one carefully written system prompt.
Drag a Bézier curve in Roblox Studio, get a runnable Lua module. Cubic inversion by Cardano.
Build an outfit on your phone — three nights, 198 scraped products, and no libraries.
Cells carry an executable 8-instruction genome, and evolve foraging nobody coded.
Roblox card-game hub: six classic games, a walkable lobby, and a colour wheel I built by hand.
A server-authoritative Roblox weapon system, built in three days for a gamejam and then sold.
A Roblox tactical FPS where bullets measure how thick a wall is before punching through it.
Offline-first scouting app for FRC team Arctos 6135, built for two-minute matches on bad wifi.
A commissioned Roblox arena shooter whose server re-derives every shot before it counts.
Four seasons with FRC Team Arctos 6135: swerve, vision auto-align, and the course I teach
Observe, touch and smell a plant before the game will tell you its name. Phaser 3 + TypeScript.
A desktop OS I built inside Roblox at eleven — windows, an app registry, drivers you can delete.
An endless Roblox world generated from a Perlin noise function that has no seed argument.
A Little Portugal business directory, built in 20 hours at the Bits and Bites Hackathon 2025.
Terminal Blackjack in pure Python — fanned ASCII cards, re-splitting, and a shoe you can count.
94 lines of Lua that give a Roblox client and server the same clock, using NTP's core trick.
An open-world Roblox city — cars, jobs, weapons and a hundred NPCs — built when I was twelve.
A 183-line Roblox module that snaps any model to a grid, wherever its PrimaryPart happens to sit.
Five aircraft over an open Roblox world, where lift is a boolean and empty tanks drop you.
60-second hidden-object rounds on Roblox, with a rented-by-the-round store economy.
A round-based Roblox fight arena built at eleven: five maps, a shop the client can't cheat.
A 2019 Roblox farming clicker whose backpack capacity is secretly the tech tree.
Reads Roblox's voxel terrain and rebuilds it as thousands of buildable 4x4x4 blocks
A hash function built from scratch in Lua 5.1 — no bitwise operators, so it runs on decimal digits.
A LAN email client and server in Java: raw TCP sockets one end, my own file format the other.
A glass interview hall at the end of a dock, on a Roblox island I built at twelve.
Sixteen keys and seven segments squeezed onto twelve Arduino pins, with no libraries at all.
A Roblox heist: 7 cases, 19 pieces, 15 seconds — deliberately not enough time for all of them.
A conversational assistant I built at twelve, in 2020, and rewrote five times before ChatGPT.
A Roblox simulator where dying is the job: four tiered hazards, each built rather than coded.
Minecraft in Roblox: terrain from a random walk instead of noise, plus crafting and a piston.