In undergrad I got it in my head that the best way to find a job post-graduation was to have a strong portfolio piece, ideally with real users. I spent the better part of a summer making this extension, letting myself and users be able to quickly glance at who is streaming on SpeedRunsLive.com.
At its peak, I had over 1,000 monthly active users, and a 5 star rating across 15 reviews.
The part of this project I'm most proud of is the marketing. The extension itself was relatively easy to get put together, but getting people to use it took effort. I would go into speedrunning chats, ask if I can advertise, then post about the extension. The majority of users came from this direct, targeted outreach.
Working on this website showed me this has actually been off the store for a few months now! I went and fixed it up, and it should be usable by the time you're reading this :)
As a simple follow-up, I applied the same principles to MIDI audio data. The results are these eerie, Lavender Town style corruptions.
I've been involved with speedrunning for many years, my primary contributions have been in glitch finding and route optimizations. This idea came when I was watching an Animal Crossing 100% speedrun. The run was 20ish hours long and a huge portion of it is entering item codes to complete the in-game catalogue. These codes are long, complex strings based off of the chosen town name.
The concept is to calculate the number of inputs needed to input all the codes for each one character long town name. Once we have that information, we can find the town name which minimizes cursor travel distance when entering codes.
Writing this out inspired me to dust this off and find out what the best and words towns and codes are. The results are in!
Max combo player: N, max combo town: », min combo player: ), min combo town: M, max combo: 183571, min combo: 164397
Max cost: 216, max item: DkvZM2pz9%ysMQrP%9VpCUsYP%O#, min cost: 67, min item: ewwEEGGw@wdxSccr6m635GY6mgfH
That means that if you pick the player name "N" and town name "»", you will have to do 183,571 inputs versus 164,397 for ")" and "M", a difference of 19,175 inputs. At 2 inputs per second, that's a 2 minute 40 second improvement!
Sadly, this project was never used in a run because I could never get a solid list of items that would need to be entered.