Pacific East Cafe Website
liveA production restaurant website with an admin platform the owners use to update menus, photos, and forms themselves.
- Astro
- TypeScript
- Cloudflare
Melee Mod Studio
liveA browser-based Super Smash Bros. Melee modding workbench that edits your own copy of the game without ever uploading it.
- React
- WebGL2
- Cloudflare Workers
Vocal Syllable Mapper
liveAn audio ML app that finds where every syllable, word, and line lands in a sung or rapped vocal.
- PyTorch
- librosa
- FastAPI
Form Reminder
liveA capstone app for an external client that keeps reminding people until they fill out your Google, JotForm, or Microsoft form.
- React
- Flask
- Firestore
Endling
liveExplore a vast Metroidvania world where you choose between embracing humanity or monstrosity.
- Unity
- C#
Tick-Tock-Take
completeA time-heist roguelike shooter where you wallrun, grapple, and dash through history stealing relics from under the nose of the Time Police.
- Unity
- C#
- ProBuilder
Bullet-Point
liveA fast arcade bullet hell with three levels of escalating enemy waves and a boss that throws everything at you at once.
- Unity
- C#
Schedule Me
completeA course planner with drag-and-drop scheduling, fuzzy search, shareable links, and an AI advisor that answers from the real course bulletin.
- Java
- React
- LangChain
All Outta Gum
completeA 2v2 top-down arena brawler where eight fighters smash open chests for weapons that wear out fast, online or on the couch.
- Unity
- C#
- Netcode for GameObjects
Living Lore Machine
completeA turn-based browser dungeon crawler where an AI narrator sets up every run and a bard writes the legend of how it ended.
- Excalibur.js
- Flask
- OpenAI API
Coursework and experiments
Smaller class projects and one-off builds. Logged here so the record is complete, including the ones that were never finished.
Bayesian Network Inference Engine
completeA Bayesian network engine with exact inference and three sampling methods, benchmarked against each other for accuracy and speed.
- Python
- Plotly
Trie Spell Checker
completeA spell checker built on a hand-written prefix tree that flags every word in a document it does not recognize.
- Java
Volunteer Database Client
archivedA Java JDBC client for a volunteer-project database, only partly implemented.
- Java
- JDBC
- MySQL
Hanabi AI Agent
archivedAn AI agent project for the cooperative card game Hanabi, with the game engine built and the agent itself unfinished.
- Java
Q-Learning Gridworlds
archivedA Q-learning experiment harness for Gymnasium's Taxi and Frozen Lake environments, with the agent itself unfinished.
- Python
- Gymnasium
Parallel CA Simulator
completeA Scala cellular automaton simulator that runs Game of Life, Wireworld, Langton's Ant, and more, and flips between sequential and parallel stepping at the press of a key.
- Scala 3
- JUnit
Ask Willie
completeA command-line search engine over 686 Wikipedia articles on programming languages, ranking results with a parallel random-surfer PageRank and TF-IDF.
- Scala 3
- Parallel collections
Hashi Puzzle Solver
completeA Python constraint-satisfaction solver for Hashi bridge puzzles, using backtracking search that tries the most constrained island first, on grids from 3x3 up to 25x25.
- Python