A CV productivity tool that plays Skyrim Skeleton mode whenever you doomscroll or lose focus.
Doomscrolling: Skyrim Edition is a CV productivity tool inspired by the Skeleton trend on TikTok. Designed for laptop-based work only. Using your webcam, the program tracks your eye and iris movement in real time to detect when you’re looking down at your phone (aka doomscrolling).
Note: this tool does not work for activities like writing, reading books, or other offline tasks since it uses iris movement to detect doomscrolling
- Your webcam feed is processed in real time using face mesh + iris tracking
- The program checks whether your iris movement suggests you’re looking at your phone
- If you doomscroll for longer than a set threshold:
- The Skyrim Skeleton interferes with your doomscrolling
- Operating System: macOS using
osascript,QuickTime Player - Python: 3.9 - 3.12. Not compatible with Python 3.13
- Permissions: Camera access must be enabled for the terminal running the script.
git clone https://github.com/reinesana/Doomscroll-Skyrim-Edition.gitMake sure you are using Python 3.9-3.12+ on your system. Not compatible with Python 3.13.
pip install -r requirements.txtpython main.pyYou can customize how the system behaves by editing the configuration values in main.py.
The minimum amount of time the user must be “looking down” before triggering the program. This acts as a grace period.
- Lower values → triggers faster
- Higher values → longer grace period before triggering
timer = 2.0 The minimum iris position required to consider the user as looking down. Lower value → more strict and requires stronger downward gaze Higher value → more sensitive
Adjust looking_down_threshold to control the sensitivity of iris detection.
looking_down_threshold = 0.25The minimum threshold required for the system to exit the “looking down” state before the program resets.
- Lower value → video stops more easily (more strict while playing)
- Higher value → video stays on longer (more forgiving while playing)
Adjust debounce_threshold to control how much upward eye movement is required before the program resets.
debounce_threshold = 0.45License @ MIT