DEV Community

Cover image for Dread-Eater
GEETANSH SINGH
GEETANSH SINGH

Posted on

Dread-Eater

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

What I Built

Dread-Eater is an open-source, local AI-powered task shrinking assistant. It helps users tackle overwhelming tasks or anxiety-inducing "dreads" by systematically breaking them down into microscopic, frictionless action items over time.

Instead of staring at a daunting to-do item and procrastinating, Dread-Eater acts as a gentle buffer: it uses a local LLM via Ollama to evaluate the dread, decompose it into low-effort micro-steps, schedule follow-ups via a background scheduler, and manage snooze routines until the task is complete.

Who gets to be a little lazier? Anyone prone to task paralysis, burnout, or procrastination. You no longer have to spend precious mental energy figuring out where or how to start—the app turns overwhelming mountains into automated, tiny steps.

Demo

Demo Video: https://drive.google.com/file/d/1S4qOW_6KpxTQV99DaEB5RYj_DV6MD2NX/view?usp=drive_link

Code

🦥 Dread Eater

Tiny steps for big dreads. Tell Dread Eater what you've been avoiding ("email my landlord about the leak", "renew my passport"). A local open-weight model breaks it into a first step that takes under two minutes, drafts the emails, call scripts and checklists for you, and then shows you one step per day. A very slow sloth keeps you company.

Everything runs on your machine: no cloud, no accounts, no telemetry.

Quick start

# 1. Install Ollama from https://ollama.com, then:
ollama pull qwen3:4b

# 2. Install and run
python -m venv .venv && source .venv/bin/activate    # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python run.py check     # confirms Ollama + model are ready
python run.py           # opens http://127.0.0.1:8000
Enter fullscreen mode Exit fullscreen mode

The first launch seeds four demo dreaded tasks so you can see it working immediately. It also works without Ollama, using gentle built-in fallbacks (slower and…

How I Built It

Dread Eater is built to run entirely on your own machine:

Local AI: It talks to Ollama through a small client (ollama_client.py). The default model is qwen3:4b, and you can swap in Llama, Gemma or any other installed model from the Settings screen. The model scores the dread, guesses why you’re avoiding the task, and writes a first step that takes under two minutes. It also writes a ladder of micro-steps and drafts emails, call scripts and checklists. If Ollama is off, built-in fallbacks keep the app working.
Backend: Python with FastAPI and a single local SQLite file. scheduler.py enforces the one-step-per-day rule, and night_runner.py handles overnight draft prep.
Frontend: Plain HTML, CSS and JavaScript with no build step, plus an animated SVG sloth mascot.
Safety and privacy: It binds to 127.0.0.1 only. It has request limits, rate limiting, input sanitising, parameterised SQL, and Export and Wipe buttons.
Testing: 49 pytest tests with Ollama mocked. They cover JSON validation and fallback, the scheduler, snooze, shrink and undo-shrink, and path detection.

Why Does Open Innovation Matter?

Open innovation and open-weight models are central to Dread-Eater's purpose. Dealing with personal anxiety, overwhelming goals, or sensitive daily struggles requires absolute privacy—something third-party closed APIs cannot guarantee without data harvesting concerns.

By running open models locally via Ollama:

Zero Data Leakage: Personal tasks and internal anxieties remain 100% on the user's local hardware.

Offline Resilience: The tool works entirely without an internet connection or risk of API rate-limiting and sudden deprecation.

Customizability: Developers can swap in fine-tuned local models tuned specifically for productivity coaching or cognitive behavioral strategies.

The Lazy Payoff

You never have to plan where to start. Dump the task and you get back one tiny step for today. If it’s still too big, one click shrinks it. If today isn’t the day, one click snoozes it, with no streaks and no guilt.
The laziest part is overnight mode. Run python run.py schedule install once and your OS (launchd, systemd or Task Scheduler) runs python run.py night at 3 AM. It pre-writes any missing drafts while you sleep, so the email to your landlord is already waiting in the morning. If Ollama isn’t running, it exits quietly and the app offers a Retry Drafts button instead of an error.

Prize Categories

Main Challenge: Slow and Steady (Automation & Laziness)
Local AI / Open Model Track

Top comments (0)