Explore my traditional software engineering work or my Roblox projects using the tabs
below.
Temporal Reasoning
CS 561 Viterbi Temporal Solver
Production-ready Python package (temporal_reasoner) that ships a typed
POMDP/Viterbi solver, parser, and CLI for Little Prince and Speech datasets. Includes
debug summaries, null-action inference toggles, and a compatibility shim for the
original HW3 entry point.
Tooling bundle adds a synthetic speech generator plus pytest coverage for reference
samples and stress datasets, ensuring the solver scales while staying correct.
Tech: Python, Typer CLI, NumPy, Pytest, Ruff
Game AI
5x5 Go Alpha-Beta Engine
A 5×5 Go agent built with alpha-beta search, transposition tables, killer &
history heuristics, aspiration windows, and quiescence search over captures and
atari. Exposes a simple API so you can play against it in the browser.
Tech: Python, Alpha-Beta, FastAPI, JavaScript
Software / Mobile
Level-Up IRL
Anime-inspired fitness app that turns real workouts into RPG quests. Users pick a
hunter handle, start at E-rank, and earn XP, ranks, and streaks by logging
“quests.” Built a Solo Leveling-style HUD, quest modal with deterministic XP math,
status screen with a 7-day activity strip, and local reminder toggle—all backed by
Supabase auth/data.
Tech: React Native (Expo Router), TypeScript, Supabase (Auth + Postgres), React
Query, Expo Notifications, Day.js
Software / CS
Shift Auto-Scheduler
An async Python bot that logs into the Celayix web portal, searches for
self-schedulable shifts, and automatically selects matches based on custom rules.
Uses Playwright to control a real browser, parses checkbox-based shift entries,
respects minimum search intervals, and supports a dry-run mode for safe testing.
Tech: Python, Playwright (async), asyncio, .env, Web Automation
Algorithms / Python
3D Traveling Salesman – Genetic Algorithm
A Python genetic algorithm for a 3D Traveling Salesman Problem. It parses city
coordinates, builds a distance matrix, and evolves a population of tours using
tournament selection, single-point crossover, swap mutation, and a repair step to
keep permutations valid. After several generations, it canonicalizes the best tour,
computes its path length, and writes the final route and cost to an output file.
Tech: Python, NumPy
Roblox
Ledge Vaulting & Wall-Run System
A custom movement system built in Roblox using Lua that combines ledge grabbing,
vaulting, and wall-running with a decay mechanic. It handles ledge detection, state
transitions, animation hooks, and edge cases like windows and blockers to keep
movement fluid and responsive.
Tech: Roblox Lua, Raycasting, State Machines, Character Movement, Timers