projects
things with “professional skills” for my “portfolio”
YouTube Annotation Archive
Quick statistics:
- 1.4 billion (with a B!) videos saved
- 2.4 TB uncompressed data
- 3 ways to view annotation data
Annotations
Annotations were text overlays over videos. Besides mundane uses like correcting errors in videos after uploading, creative producers used them for choose your own adventure games like Barack Paper Scissors and demos like Annotation Tetris.
Annotations had only worked on the computer, never on phones. YouTube stated it removed annotations because annotations had been used for spam and better alternatives like end cards are now available.
Annotations were slated for deletion on 15th January 2019, destroying a decade of history on the platform. Me, Omar Roth, and a small group of fans decided to save as many annotations as possible before then.
Architecture
Since there would be a huge amount of data to go through, we decided to use a distributed architecture, allowing worker programs around the world to do the majority of the work and submit their results to the storage server. To save the most data possible before the deadline, we had to write code quickly, that executed quickly, and engage online to encourage more people to run the worker program.
I was entirely responsible for creating and optimising the worker program. My optimisations included an offline cache in case the main server went offline, dynamic multithreading for the downloader, running performance profiles on the V8 engine to reduce hotspots, and unslicing strings to allow V8 to free more memory.
Future
The archived data can be re-displayed over videos using browser extensions like Annotations Restored or the Invidious player (takes several seconds to load).
Annotations for billions of videos, including paragons of their time, were archived and can easily be re-displayed. The project surpassed its goals before the deadline and was a complete success.
Golf 2 GMTK Game Jam 2021
After eons of no Golf™ updates, washed-up world champion Hudson Buttermilk seeks out a new game...
Golf 2 is the world's first golf roguelike. Playing as the cart and dragging the helpless Hudson behind you, you can explore endless randomly generated fairways, smack enemies with your golf club, unlock 9 powerups with unique effects that can stack and combine, and maybe even Golf The Earth...
This was a ridiculous and fun project to work on with 7 of my friends within the 48-hour time limit of the game jam. Communication and coordination were key, and we golfed it out of the park, despite being in wildly different time zones around the world.
In my role, gave many invaluable design suggestions, drew 16 golf cart sprites, and fixed several bugs. I decorated the itch.io page to make our game look more appealing and eye-catching amidst the other people's jam submissions.
Out of almost 6000 submissions to the game jam, Golf 2 was ranked in the top 80 "most fun" and top 120 overall games!
Bored Gods' Board Game GMTK Game Jam 2022
Snake God is having a good time playing board games at the bar. Time to ruin their day.
Golf 2 was so insane that we had to do a game jam again in 2022. This time, armed with myself, 9 friends, a drawing tablet, and a new game engine, we set to work making a roguelike on a board game where you mess everything up.
Working with Godot Engine was an excellent choice compared to using GMS2 last time. There were a couple of teething issues but it was a much better experience for everybody. The power and ease-of-use of the engine as well as its cross-platform compatibility allowed us to take our game further than last time. In particular, we implemented some fascinating GBA-like on-the-fly pixelation for the dice model.
In my role, I organised, drew, voice acted, and constructed the logic for the title screen. I then hooked into the level generation to add a system for creating environment objects, and I drew environment objects to use with that system. Finally, I fixed a few bugs in the generation which was causing objects in the levels to spawn incredibly poorly. It's much better now!
With our game now submitted for voting, we've been able to think more about what to do next. On the whole, we really like our game, though there are currently some small issues that are making it less fun. We'd like to fix and improve those for a "definitive edition" that we can be completely happy with!
Bibliogram Instagram post viewer
Bibliogram takes data from Instagram's public profile views and puts it into a friendlier page that loads faster, gives downloadable images, eliminates ads, generates RSS feeds, and doesn't urge you to sign up.
I created Bibliogram due to my own frustration from my experiences trying to look at Instagram profiles without having an account myself.
News about Bibliogram spread entirely through word of mouth. It took off within privacy-related communities due to its design subverting Facebook's tracking. Since its creation in January 2020, its instances receive at least 2.5 million weekly web requests, the project's chatroom has 400 members, 6 independent browser extensions with thousands of users will redirect visitors from Instagram to Bibliogram, and 15 volunteers have translated Bibliogram to their language.
My personal website You're looking at it!
In early 2022 I decided to completely overhaul the design of my website to be more whimsical and happier for my brain! I used a distinctive purple colour scheme as well as retro aesthetics like the blocky 3D buttons on the left side. The redesign project was so much fun!
I first created my website in 2018 and I have been continuously running it since then. None of the old pages were lost through the design overhaul.
Crumpet Wonderland level editor
The game Return To Wonderland has a level editor and an online forum for sharing your creations. The built-in level editor has some drawbacks for people who want to make levels quickly and efficiently. Crumpet is designed from the ground-up to include important features for serious level designers.
Compared to the built-in editor, Crumpet adds infinite undo, faster tile selection, zooming in and out, moving already-placed tiles, keyboard shortcuts, proper text editing, on any screen resolution. Save files are totally compatible with the official release of Return To Wonderland.
- a graphql data entry form shaped to your schema
- a website for a medical clinic
other serious things
- Return To Wonderland official custom levels archive
- CloudTube - friendly YouTube video viewer
- NewLeaf - youtube-dl wrapper matching the Invidious API
- Frames - private photo publishing for the fediverse
- Bliz - powerful and easy dynamic Gemini server
- Bibliogram - friendly Instagram post viewer
- Crumpet - Return To Wonderland level editor
- a private forums site