OngoingGDScriptCompositionSystems Dev
Project D.H.
Ambitious tandem turn-based role-playing game
StartJan. 2026Dev Time2mo
- Show / Hide Details -
OngoingGDScriptCompositionSystems Dev
Project D.H.
Ambitious tandem turn-based role-playing game
StartJan. 2026Dev Time2mo
Long-term project serving as a test of current skills, managing player state, inventory, and other user-defined variables efficiently during run-time. Systems are developed "in-house" to minimize costs and fine-tune solutions to fulfill the project's vision.
Strong focus on compatibility with low-end legacy devices, optimizing CPU and VRAM usage to provide a stylized user experience accessible to and performant for a large audience.
Extensive pre-planning and external feedback on iterated ideas lead this project with immutable scope and requirements; minimum viable product (field, battle, and adjacent systems) for this game is projected to take 5-6 months of active development time, after which asset creation and polish can be applied on a robust foundation.
DeployedHTMLCSSJavaScript
Berrite
Lightweight static site hosting a portfolio and webblog
StartApr. 2026Dev Time3wk
- Show / Hide Details -
DeployedHTMLCSSJavaScript
Berrite
Lightweight static site hosting a portfolio and webblog
StartApr. 2026Dev Time3wk
Designed as a portfolio first and a technical speakeasy second, the website utilizes custom markup and scripting to deliver a stylized user experience without compromising visitor bandwidth.
Assets are consciously created and optimized with heavy considerations on modern compression formats, retained visual fidelity, and browser compatibility on the forethought of every file while striving towards the goals of a sub-one megabyte filebase; such a limitation aims to permit large concurrent visitor "hits" without straining allotted host bandwidth.
Uses custom JavaScript intensively for the webblog portion of the website, populating blog entries through a mapped JSON index and displaying formatted markdown text in the user's browser, enabling accessible content management.
The blog regarding this project can be read here.
Deployed; LTSPythonSQLiteAsync
Roni
Discord bot for expanded server functionality and voice channel management
StartApr. 2025EndMar. 2026Dev Time3mo
- Show / Hide Details -
Deployed; LTSPythonSQLiteAsync
Roni
Discord bot for expanded server functionality and voice channel management
StartApr. 2025EndMar. 2026Dev Time3mo
Originally developed without prior experience with Python, Roni's first launch with commands was completed within a few days of learning the language; after deployment, the project files were ported to a self-hosted Raspberry Pi, sporting high responsiveness to user slash commands and automatic, indomitable reinitialization on disconnects.
Roni's primary usage by server members is the facilitation of "Rooms", allowing users to create and manage temporary voice channels for any purpose, with the bot automatically removing any vacant Rooms within the server.
Roni also utilizes an asynchronous SQLite database to store "reminders" for server members through a debouncer, provides quality of life commands for server moderators, and appropriately handles and forwards user reports into management channels.
FinishedGoogle SheetsFunctionsTool
Bio Gradesheet Cheatsheet
Spreadsheet tool for calculating weighted grades
Start + EndApr. 2024Dev Time1.5hr
- Show / Hide Details -
FinishedGoogle SheetsFunctionsTool
Bio Gradesheet Cheatsheet
Spreadsheet tool for calculating weighted grades
Start + EndApr. 2024Dev Time1.5hr
An impromptu foray into client work; client wanted an easy way to calculate their final grade after weighted averages and couldn't do it without assistance. Within hours of making contact and getting project specifications, an accessible spreadsheet was created.
Each column corresponds to a category of assignments with a given weight (e.g. lab work is worth 30% of the final grade). The user is meant to insert the percentage grade of a given assignment into the columns, where the top rows will update to calculate a raw and weighted average from their input. Finally, all columns in the top rows are calculated to show the user's final grade, with conditional chains to translate the percentage into a letter grade.
The tool was explained to the client without difficulty, and they indicated a return on investment by showing appreciation and gratitude after the work was shared.
FinishedC#UnityFront-end Dev
Arktis
National action-adventure platformer competition entrant
StartSep. 2021EndJan. 2022Dev Time4mo
- Show / Hide Details -
FinishedC#UnityFront-end Dev
Arktis
National action-adventure platformer competition entrant
StartSep. 2021EndJan. 2022Dev Time4mo
Responsible as lead front-end developer with a focus on integrating functionality into the user interface and heads-up display, player movement and environmental systems, and advocate of quality assurance and accessibility in a collaborative setting creating a software game with progression aspects, an engaging game loop, and error handling.
In parallel to development, was amenable in composing an instructional user manual for the game, and additionally provided grammatical touch-ups to story writing.
While celebrating our victories and overall 6th out of 37th placement in the nation, the project serves as a formative retrospective in system development and game design, with strong takeaways being the importance of project scale, team management and conflict resolution, accountability and explicit role responsibilities within a group, and effective time management to avoid burnout and crunch.
The game and development/project files are available here.
FinishedScratchUIUX
Tera's Fashionable Dress-up
Dress-up game successor with an overhauled interface
StartFeb. 2020EndMar. 2020Dev Time1mo
- Show / Hide Details -
FinishedScratchUIUX
Tera's Fashionable Dress-up
Dress-up game successor with an overhauled interface
StartFeb. 2020EndMar. 2020Dev Time1mo
Entry in the "Remix a Starter Project" Scratch Design Studio, the source material was expanded upon from its simple drag-and-drop concept to presenting the player with more clothing options through dedicated menus.
Selecting a customizable object updates the menu state, and allows for further modulation (e.g., recoloring clothing or changing the in-game character's shadow opacity). Beyond clothing, the player can cycle through various backdrops and toggle the menu's visibility for taking screenshots.
Attempts to make encoding/decoding logic and buttons for serialized player customizations are present within the project's assets. Mobile touch support was additionally planned after submission, though this too wouldn't be fully implemented.
The game is playable here. Project icon created using Scratch Team Marks (see Article 7.3); all rights reserved to Scratch Team.