Miscellaneous Projects

Below is an assorted collection of my projects that I have done, but didn't have a singular focus like my run of Minimalist Web Applications. However, I am very proud of all of the projects, and I think that they actually form a better picture of the kind of developer I am, one that tries to solve problems or doing interesting things with code.

Collocation Feud

With the popularity of Wordle at the time, I was feeling motivated to make a social web game. My friend really enjoyed word games like Wordle, so I tried to think of some new kind of game that would be fun and require some brain usage. What I came up with was a mixture of Family Feud and word collocations. In linguistics/data science, collocates are words that occur near a given word, and they can provide very useful insight into the meaning and usage of the words near which they occur. In this game, you have to guess which collocates for a given word contain the most information. I tried frequency, but it would sometimes have weird order, something I suspect has to do with the corpus of the dataset the collocates were found in.

Spotify Playlist Analyzer

As someone who creates a lot of Spotify playlists, I also know a lot of other people who create lots of playlists as well. I think that the way that people collect songs and name their playlists is something that is very fascinating, and so I wanted a way to be able to quantify some of this uniqueness. This app consists of a Spotify playlist retrieval API that then communicates with the frontend which contains a host of visualizations and data analytics about a Spotify user's playlists. The analytics include: average playlist word count, average energy/danceability/valence of songs in a playlist, number of playlists, number of unique songs, number of unique artists, and more.


Scratchpad is a skeuomorphic notepad where the rich-text contents live in your localStorage. I based it off of the design of Rapidtables' notepad app, but with my own improvements. I didn't want the toolbar that RapidTables had, I wanted the application to be as pared down as possible. However, later as I was using the application on the day-to-day, I realized that while I could separate my notes out on one super note, it would be nicer if I could create different notes that would display at the top that I could switch in between. I ended up taking the tabs interface from Bootstrap and used that to add the ability to have multiple notes in Scratchpad. There are also many basic formatting keybindings in the application to make the content richer.

GroupMe Bot

My friends and I always had a large groupchat on GroupMe, so I wanted to create a bot that would be able to add some more fun/interactive functions to the group. It provides points for interacting in the chat, and users can view the leaderboard to see how they rank in terms of engagement. There also is the ability to add pictures to a gallery with a name that can be recalled at any time with the /pic command. There are also lots of text transformation comamands like mock, shout, glitch, and more.