🔮 Projects
Dam Defender
Nov 2023 – Feb 2024
Originally an entry to the 20 Second Game Jam 2023. 2D arcade-style game featuring a beaver protecting its home by building a dam.🏆 Top 20% in Overall Category
🏆 Top 20% in Visual Category
🏆 Top 20% in Audio Category
🏆 Top 25% in Fun Category
Bun Below
Dec 2023
Entry to the Bigmode Game 2023. 2D puzzle game with a top-down perspective featuring elemental bunnies.🏆 Top 15% in Fun Category
plate.tools
Jun 2023 – Aug 2023
A web app for generating simple Bell Plates and analyzing their resonant frequencies.Built to be responsive with React and TypeScript. Leverages GCP Cloud services to generate and analyze plates using a scaled down and modernized version of Sound Sculptures REST API.
Axoloyuda
May 2023
Entry to the GameDev.tv Game Jam 2023. 2D puzzle game with a side-on perspective featuring an axolotl.Designed with a focus on progressively introducing mechanics, as well as maintaining a difficulty curve that encourages players to continue to the end.🏆 Top 5% in Fun Category
🏆 Top 10% in Mechanics Category
🏆 Top 15% in Story Category
🏆 Top 15% in Sound Category
🏆 Top 25% in Theme Category

Pokémon Pokédex Prototype
Apr 2023
A prototype React app for a web version of the Pokédex in Pokémon Sword & Shield. Leverages my Pokémon Management API for the backend.
Pokémon Management API
Mar 2023
A REST API for retrieving details for every Pokémon entry in Generation 8. Compliant with Pokémon Sword & Shield. Includes types, genders, height, weight, types, and descriptions.Core data is stored in the database for quick fetching and faster queries, with extra details coming from PokeAPI. Resources are in standalone endpoints as well as in endpoints nested per region for cross reference.REST API documentation for each endpoint in the OpenAPI standard is hosted on SwaggerHub.Auth0 Identity provides tokens for interacting with the endpoints. Management of obtained Pokémon is on a per user basis.

3e.run URL Shortener
Mar 2023
Created a server-side generated URL shortener for 3E.The core use case was messaging and and required ease of use. URLs present SEO and image previews using Nuxt server-side rendering to optimize sharing links via Discord, and new URLs are easy to add as JSON via a Pull Request by the 3E team.

SClock
Jun 2022
An opiniated daily planner app. Presents the day's schedule with a donut. Persists schedules, supports sharing, and mobile first design.Built with Vue and TypeScript. Manages data using Pinia stores and the browser's local storage for session persistence. Schedule presents as traditional agenda, or an interactive donut plot to better gauge day.

Midas
Jul 2021 – May 2022
2D platformer game inspired by king Midas of greek mythology. Developed with separate development and production environment powered by GitHub actions to build and publish. Game state management in a Redux style. Used to track tiles touched to turn to gold, level progression, etc.

Endocytosis
Jun 2021
Entry to the GMTK 2021 Game Jam. 2D top-down puzzle game featuring slimes of different types. Desktop and mobile compatible. Continuous deployment for export and Itch.io publishing using GitHub actions.🏆 Top 10% in Fun Category
🏆 Top 20% in Overall Category
🏆 Top 20% in Presentation Category

Sound Sculptures
Aug 2018 – May 2019
Engineering research project to create and optimize resonant sculptures.Implemented a REST API using flask to access and interact with sculptures. Actions include: generating unique flower petal-like shapes, setting desired notes, optimizing sculpture's harmonic frequencies, retrieving .DXF file for plasma cutting, and retreiving .PDF file of musical scale.🏆 First Place at 2019 Engineering Design Expo
RenTUl
Sep 2017 – Dec 2017
A bike rental Software as a Service that allows students to sign up as renters and select bikes for rental.
Battleship
Apr 2017
A recreation of Battleship using the Milton Bradley rule set. Boards are displayed in plots, and gameplay is handled through clicking the plot.
Tic Tac Toe
Mar 2017
Classic game made in Matlab. Supports n-sized magic squares. Menu handled through the console. Supports console and plot play.