Reddit Scrolling Hell is an endless arcade runner browser-injection game built with JavaScript and designed to run on reddit.com via Tampermonkey. The script repurposes native page elements into gameplay objects and turns endless scrolling into a playable challenge. All assets are embedded in the single script for portability. The project demonstrates DOM manipulation and creative use of existing UI elements.
Role: Solo Developer
Languages & Tools used: JavaScript with jQuery for coding, jQuery UI for animations, Tampermonkey for the injection, Inkscape for the logo, SunoAI and Audacity for music
Development time: ~3 weeks
Platform: Browser (Chrome/Firefox)
Language: English
Status: Requires constant maintenance with site updates and isn't maintained as of creating this page
Settings
Avatar as player
Integrated design
Gameplay video (alpha)
Goal: try to survive as long as possible and scroll as far as possible.
Every pixel scrolled downwards adds to the score.
Dodge enemies by moving left/right or scrolling up/down.
Regain life points by manouvering yourself into award buttons, lose life points by hitting comment or share buttons.
Gain speed or lose speed by hitting up or down vote buttons.
A/D — Move left or right
Scroll wheel — Move up or down
Core Mechanics: Movement by scrolling, gaining power ups
Systems: menu system, highscore, avatar becomes player, restructuring the site and back after playing.
Polish: Various animations, soundeffects for actions, simple UI.
Adapting gameplay to an external, dynamic DOM — handling unpredictable element structures and asynchronous content loads.
Asset embedding and size tradeoffs (base64 in a single file).
Balancing performance: game logic vs page rendering on large, dynamic pages.
Building Reddit Scrolling Hell taught me practical lessons in DOM hacking, dynamic content, and engineering around third-party constraints. I learned the importance of robust selector strategies and how my code actively effects performance. Next iteration I would host assets externally, add automated compatibility tests, and try to reduce maintenance when the host site changes as much as possible.