The Doomscroll Derailer & Naptime Narrator: Rewarding Laziness with Offline AI Bedtime Stories A developer built the Doomscroll Derailer & Naptime Narrator, an offline desktop agent that watches the active window via native Win32 ctypes and, when a blacklisted site like Reddit or Twitter is open during an 11 PM–6 AM bedtime window for more than 10 seconds, triggers an intervention. The pipeline runs a local Llama 3 model through Ollama or llama.cpp to generate bedtime stories, paired with a slow-cadence TTS voice, procedurally generated rain and 432Hz drone audio in pure Python, and a typewriter-style screen interceptor guiding a 4-7-8 breathing exercise. The project was submitted for the Hacktoberfest Open-Source AI Challenge Week 3, themed around International Sloth Day, and argues that local open-weight models keep the wind-down tool functional when users switch devices to airplane mode. Built for the Hacktoberfest Open-Source AI Challenge: Week 3 Theme: Slow and Steady / International Sloth Day It is 11:45 PM. You are exhausted from a long day. You get into bed, plug in your phone or laptop, and tell yourself: "I'll just check Reddit for five minutes." Fast forward to 1:15 AM. You are eighty comments deep into a fiery debate between strangers about whether carbon steel pans are superior to cast iron. Your eyes are stinging from blue light. Your brain is hyper-stimulated, pumping cortisol and dopamine, completely detached from the physical reality that you have to wake up in five hours. In honor of International Sloth Day , let's face an uncomfortable truth: willpower is a finite resource, and at 11:30 PM, your willpower is at absolute zero. Sloths don't negotiate with high-dopamine algorithms. They don't refresh feeds. Sloths move at 0.15 miles per hour, conserve their energy, and let the world come to them. So why shouldn't our AI do the work of unwinding for us? The Doomscroll Derailer & Naptime Narrator is an autonomous, completely offline desktop agent designed to reward laziness by de-escalating your late-night digital addictions without you lifting a finger. Here is how it works: +-------------------------------------------------------------+ | ACTIVE DESKTOP WINDOW | | "Popular posts on Reddit - Chrome" @ 11:20 PM | +------------------------------+------------------------------+ | 1 Native Win32 ctypes Watcher v +-------------------------------------------------------------+ | DOOMSCROLL DERAILER AGENT CORE | | - Current time in Bedtime Window 11 PM - 6 AM ? - YES | | - Matches blacklist Reddit, Twitter, Shorts ? - YES | | - Doomscroll duration 10 seconds? - TRIGGER | +------------------------------+------------------------------+ | v +-------------------------------------------------------------+ | OFFLINE INTERVENTION PIPELINE | | | | +-----------------------+ +-----------------------+ | | | Local Llama 3 LLM | | Procedural Ambient | | | | Ollama / llama.cpp / | | Rain & 432Hz Drone | | | | Offline Procedural | | Pure Python wave | | | +-----------+-----------+ +-----------+-----------+ | | | | | | v v | | +-----------------------+ +-----------------------+ | | | Sleepy Voice TTS | | Screen Interceptor | | | | Slow cadence 120wpm | | Typewriter + 4-7-8 | | | +-----------+-----------+ +-----------+-----------+ | +------------------------------+------------------------------+ | v 💤 Peaceful, Restorative Sleep The theme of Week 3 is rewarding laziness. Here is the quantified payoff: In modern AI, the reflex is almost always: "Send a prompt to an external cloud API." For a bedtime agent, that approach is fundamentally flawed: When people want to wind down, sleep experts universally recommend putting devices in Airplane Mode or disconnecting Wi-Fi to stop the stream of midnight push notifications and messages. If your wind-down companion relies on an external server, turning off Wi-Fi breaks your app . Because the Doomscroll Derailer runs open-weight models locally, it works completely severed from the internet. You can be in airplane mode, in a cabin in the woods, or during a home broadband outage—your sleep routine is 100% resilient. Tracking active desktop window titles is sensitive. Nobody wants their browsing history, open documents, or midnight web sessions transmitted to a cloud telemetry server. Because our agent uses native local Windows APIs and an on-device Llama 3 instance, not a single window title, word of text, or bedtime metric ever leaves your machine. There are no monthly subscriptions, no API tokens, and no server maintenance costs. You own the code, you own the weights, and you can run it forever. The project is structured into five modular components: watcher.py To avoid heavy dependencies, the watcher communicates directly with the Windows subsystem using Python's built-in ctypes : OpenInputDesktop and SetThreadDesktop . GetForegroundWindow and GetWindowTextW at 1Hz with virtually 0.0% CPU usage. reddit , twitter , x.com , tiktok , youtube shorts , etc. are detected continuously past the threshold default: 10s , it fires the screen interceptor callback. story generator.py The bedtime storyteller has a multi-tier architecture: http://localhost:11434/api/tags and streams inference through models like llama3.2:1b or llama3:8b . http://localhost:8080/v1 . narrator tts.py Standard TTS engines read at 180–200 words per minute, which is jarring and energizing. The Naptime Narrator tunes the speech synthesis rate down to 120–125 WPM , softening the cadence and introducing 1.2-second pauses between sentences to mirror the calm respiration of a sleeping animal. ambient audio.py Rather than shipping large 50MB audio files, the app generates its own sleep soundscapes algorithmically using the standard library wave and math modules: winsound.PlaySound in an asynchronous thread. overlay ui.py Built with Tkinter, the overlay suppresses blue light by employing a midnight obsidian background 070913 paired with warm amber glow accents f59e0b . A pulsing canvas circle visualizes the scientifically proven 4-7-8 breathing relaxation technique while the story streams word-by-word like a drowsy typewriter. Here is an actual story generated on our local llama3.2:1b during testing when caught on Twitter: "In the heart of the cloud forest canopy, a gentle three-toed sloth named Luna slowly made her way across a single, wispy branch. The soft rustle of leaves and the gentle hum of a distant waterfall created a soothing melody that wrapped itself around her. As she moved, her claws clicked softly on the branch, the sound echoing through the stillness. Her eyelids, heavy with sleep, slowly blinked open, and she felt the gentle texture of the tree bark beneath her. The mist that clung to the forest floor began to form, veiling the world in a damp, gray veil. Luna's breathing slowed, her chest rising and falling in a gentle rhythm. She paused, her nostrils flaring as she adjusted her position, and then continued her slow journey. The world outside remained, but Luna's focus was inward, lost in the quiet beauty of her surroundings. Breathe in for 4, hold for 7, exhale for 8. Let the calmness of this moment settle within you, dear one. As you breathe, feel your eyelids growing heavy, your thoughts growing quiet. Allow yourself to let go, to surrender to the peacefulness of this slow, gentle world. Let go and fall asleep right now." The project includes an elegant Desktop Control Hub python main.py : Clone the repository git clone https://github.com/shashiharanramvanam-crypto/doomscroll-derailer.git cd doomscroll-derailer Install minimal dependencies pip install -r requirements.txt Launch the Control Hub python main.py Or experience an instant demo immediately python main.py --demo Hacktoberfest Week 3 asked us to channel our inner sloth and build open-source AI that rewards laziness. By shifting AI away from high-speed productivity and into slow, calming restorative care, The Doomscroll Derailer & Naptime Narrator proves that sometimes the greatest superpower of open innovation is helping us turn off the noise, disconnect, and finally get some sleep. Happy International Sloth Day, and good night 🦥💤 Open-source repository, full source code, and test suite available on GitHub under the MIT License: 👉 github.com/shashiharanramvanam-crypto/doomscroll-derailer https://github.com/shashiharanramvanam-crypto/doomscroll-derailer