Overview:
Ski as fast as you can! Alpina is a ski racing game that I developed individually over a span of 2.5 weeks (with ~100 hours logged) for a class final. The timer starts after passing through the first gate. Changing weather, varying steepness, collision obstacles, and acceleration management will keep you on your toes. After all, nothing happens instantly in life — and that includes breaking as you ski headfirst into a snowbank.
Graphics holds a special place in my heart, and I wanted this assignment to serve as both a pinnacle of my current work ethic and technical programming ability in 2024. Leaning on knowledge from Physics 1 and Computational Physics classes, I designed a movement system with variable slope acceleration, ski-angle controlled friction & direction, particle emitter systems, and collision detection. I ultimately far exceeded minimum project requirements and received a personal request to become a TA for the class. My commitment to creating special projects that I can look back on fondly is something core to who I am; I enjoy pushing for the sake of seeing how far I can take endeavours.
Features:
• Dynamic weather, lighting, and particle effects.
• Player acceleration physics, depending on terrain and player acceleration stance (pizza, hockey-stop, turn, straight).
• Collision detection for obstacles and gate point system
• Texture mapping with transparency. Phong-based diffuse and specular materials.
• Frame-rate limiter for consistent experience across devices
View code:



Toolkit: C++, OpenGL, Glut, Visual Studio
Overview:
4 of my friends and I teamed up for the Syracuse “CuseHacks” 24hr Hackathon Competition, where we competed against 19 other teams to develop and pitch an innovative idea to judges. Our team won both Best Overall and Best Accessibility and Civic Service awards.
Wegman Grocery Path Finder helps shoppers find the optimum grocery route via a graphical trace representation of the A* search algorithm. Our implementation supports manual item entry as well as checkbox format. Location information is pulled directly from the Wegmans Website due to a lack of public API. The web scrape, which was my primary contribution, is multi-threaded, so the process takes ~8 seconds to find all item information regardless of list size, to a certain extent.
Whereas my Alpina ski project took careful planning and individual integrity, this one was a success story of team-based rapid-deadline scrambling and mutual trust to execute as promised. We walked in without a project idea, burned 1 hour brainstorming until landing on the “Wegman Grocery Path Finder,” then quickly divvied up tasks and laid out data pipeline requirements for each stage of the project before rapidly setting sail. We were never able to test the complete program working together until the final hour, but it all fell perfectly into place as we promised each other.
Features:
• GUI for item entry
• Multi-threaded web scrape for item location information (can be operated headless)
• A* search algorithm
• Animated path traversal of A* search algorithm



Toolkit: Python, Selenium, Tkinter
Overview:
3 of my friends and I developed a Java HTTPS web server for our class final project from scratch using only standard libraries. I served as both team leader and developer responsible for implementing HTTP (GET, HEAD, POST) with PHP support and worked closely with server core developer to implement multithreaded request handling.
Out of 10 teams, we were the only one to deliver a functional product on demo day and received compliments from the professor for even well exceeding minimum requirements.
Features:
• Multi-threaded HTTPS with GET, HEAD, POST
• PHP server-side support
• Password-authenticated administrator GUI
• Bundled HTML + CSS website for tech-demo



Toolkit: Java, PHP