Created a site that creates a recap of an individual's Hololive - a VTuber gaming group -
watch history on YouTube (Similar to YouTube music recap/Spotify Wrapped). After a user
requests their watch history from YouTube, they could upload it and receive a personalized
recap of their Hololive watch history. Since 2024, it has served over 20,000 page visits with
over 3500 shared rewinds using #HoloRewind on Twitter/X.
Implemented the front-end with a NextJS application. The backend (for storing YouTube channel,
YouTube video and personal HoloRewind information) was implemented with Pocketbase. Hosted on a
DigitalOcean Droplet. Implemented CI/CD with Github Actions and Docker.
A terminal ASCII game engine and two accompanying games created with C++. The game engine
provides to the client the necessary tools with which that can extend with their own game
logic to create games.
My game engine follows the Entity Component System. It provides abstract Entities which are holders
of abstract Components which are raw data (such as position, velocity, health, etc...). It also
provides abstract Systems which act on Entities with certain Components (for example, a movement
system would act on entities with position and velocity and move the entity).
The client game programmer can then extend the engine with new Components or Systems to create
different games. I created two games in the engine which can be seen in the accompanying images.
Manipulation of the terminal uses the NCurses library and the Model View Controller Framework to
accept user input, calculate the next game state and display the state to the screen.
I used a UML diagram to help plan out and implement this project.
This code is private. Available upon request.

My personal website (this site) made with primarily Svelte and SvelteKit.
I was watching a Fireship video about Svelte and SveltKit and thought it was an interesting framework.
I had been planning on updating my old Ruby/Ruby on Rails website to a JS framework so I decided
to use Svelte.
Svelte and SvelteKit has been a pretty fun experience so far!
A Discord bot coded in Ruby and utilizing the discordrb API library to create server timers
Users could create timers in their servers which would be saved to an SQLite3 database. These timers
would display as locked voice channels and update periodically. I hosted this bot through a Google
Cloud Platform's VM instance.
This is among the first projects I made that I felt were "polished." Thus it holds a special
place in my heart. The last commit for this was March 24, 2020.
This is a browser version of an Etch-A-Sketch board or a sketchboard. There is a canvas made up
of pixels with which the user can draw by hovering over a pixel. The board can be cleared and resized
as desired.
The functionality was all acheived using vanilla JS and the document Web API.