Pose Ninja is an interactive, webcam-based game that uses real-time body tracking to encourage movement and fast reactions. Players tap randomly appearing targets with specific body parts while avoiding incoming bombs, testing their accuracy and speed. To ensure the game is widely accessible we designed the game to run efficiently on CPU-only hardware. The game supports both single-player and two-player modes.
For this project we built Bingus Search, a multi-threaded HTTP web server and search engine in C++. The goal was to create a system that could efficiently index files, handle multiple simultaneous users, and provide both web-based and command-line interfaces for interacting with files on the server.
In this project, we analyzed over 400,000 NYC restaurant inspections to predict inspection grades using historical data and engineered features, while identifying which factors most strongly influence inspection outcomes. By highlighting feature importance, we provide restaurant owners with actionable insights to proactively address issues that could result in lower grades. Ultimately, our framework seeks to improve public health by empowering diners to make safer, data-informed choices based on historical restaurant performance.
In this project, we explored whether ensembling transformers or increasing model size improves news source classification. Using a curated dataset of 3,713 Fox and NBC headlines, we found that transformer ensembles outperformed the best individual models by 1.08%. In contrast, scaling up from BERT-base to BERT-xlarge did not improve performance, showing that model diversity is more effective than size for short-text classification tasks.
Dungeon of Doom: Axe Quest is a dungeon-crawling game built in Godot, where players control a warrior navigating seven levels, battling monsters, getting upgrades, and aiming to defeat a final boss. The project taught us scalable coding, level design with TileMaps, basic AI implementation, and effective teamwork to complete a full game in just nine days.
For my multiplayer Blackjack game in Godot, I implemented a lobby system using a peer-to-peer model with ENetMultiplayerPeer, synchronizing player info and game events via RPCs for a smooth networked experience. The Blackjack logic manages turns, card dealing, scoring, and dealer behavior, keeping gameplay consistent across all clients while remaining modular and reusable.
Upgraded Chess is a game made in Godot that adds gem collection and purchasable abilities to classic chess, letting players level up pieces and activate special powers. The project leveraged inheritance to keep the code modular and reusable, allowing for easy expansion of abilities and game features.
The Grand Heist is a 2-player strategy game built in Java with a graphical interface using JFrame, where one player is a robber collecting items to escape and the other is a police officer trying to catch them. The game uses a 2D array board, object-oriented design with inheritance and enums, File I/O for saving progress, and JUnit tests to ensure functionality.
I developed a version of the classic Snake Game, integrating concepts like object-oriented design, linked lists, and Java records. The game features multiple types of apples, spikes as obstacles, and a high score tracker, all presented through a graphical interface built with PennDraw.