*This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
Modern communication tools have turned our mornings into an anxiety trap. Between student councils, hackathon teams, and family WhatsApp groups, waking up often means confronting 300 to 500 unread messages: inside jokes, reaction emoji, pizza memes, and fragmented logistics. Finding whether someone actually asked you a question or set a deadline requires 35 to 45 minutes of compulsive, thumb-numbing scrolling.
I built Sloth Digest β an offline-first, local-first web application that reads your busy group chats overnight on your own computer so you wake up completely calm.
Instead of a chaotic wall of noise, you get a serene morning hearth answering four core questions:
- Executive Morning Digest: A calm two-line summary plus an expandable Detailed Discussion Breakdown that synthesizes the narrative, key debates, agreements, and next steps.
-
AI Chat & Message Classifier: Every message is categorized as
β Important(action items, deadlines, questions, blockers) orπ‘οΈ Spam / Banter(emojis, reactions, media placeholders, greetings), alongside an overall chat-level priority badge. -
Formatted Chat Viewer: An interactive chat-bubble stream with sender avatar initials, timestamp tags, line citations (
#L42), and real-time filter tabs (All,Important Only,Spam / Chatter). - Who is Waiting on You: Only the action items and questions directed at you or your team.
- Dates & Deadlines Mentioned: A chronological timeline of commitments.
- The Safe to Ignore Counter: A celebratory badge highlighting how much chatter you avoided (e.g., "384 messages safely bypassed").
Every extracted fact includes our Hallucination Guard: a 1-click citation linking back to the exact line number, author, timestamp, and raw text of the original chat export. There are zero cloud API calls β nothing leaves your machine.
Demo
- GitHub Repository: https://github.com/Dhiraj201226/Sloth-Digest
- URL: https://sloth-digest.vercel.app/
-
Docker 1-Command Startup:
docker compose up --build -d(Local container onhttp://localhost:8080) -
Vercel Deployable: Pre-configured with
vercel.jsonfor 1-click UI deployment.
The 30-Second Lazy Workflow:
- Drop your exported chat (
.txtor.zip) into the dropzone orwatched_chats/folder. - Watch the streaming progress bar report chunk-by-chunk with honest remaining time estimates.
- Wake up to instant visual calm: warm linen theme (
#FDFBF7), zero red alarm badges, and a full breakdown of what needs your attention. - Toggle between the β Morning Digest and the π¬ Formatted Chat Stream to inspect message classifications in place.
Code
π¦₯ Sloth Digest
Slow and steady: rewards laziness by reading busy group chats overnight on your local machine so you wake up completely calm.
Built for the Dev.to Hacktoberfest Open-Source AI Challenge (Week 3 Theme: "Slow and Steady").
The Problem
You belong to 15 busy group chats: hackathon teams, college project channels, student councils, and family groups. Over an evening, hundreds of messages accumulate: inside jokes, memes, fragmented planning, and reaction emoji.
You face a stressful choice:
- The Compulsive Catch-Up: Spend 40 minutes scrolling through trivial banter just to find if someone asked you a question.
- The Passive Neglect: Mute everything and risk missing a crucial deadline or assignment.
The Solution: Radical Laziness
Do nothing. Go to sleep.
Sloth Digest processes your exported WhatsApp chats (.txt or .zip) overnight on your local machine using an open-weight model via Ollama. When you wake up, a sereneβ¦
Tech Stack Highlights:
-
Local AI Core: Ollama running
qwen2.5:1.5b(configurable via.envor UI tollama3.2:3borgemma4:12b). - Backend: Python 3.10+ with FastAPI, Pydantic v2 schemas, and embedded SQLite for zero-config persistence.
- Frontend: Vite + React 19 + TypeScript + Tailwind CSS v4, built to strict WCAG 2.2 AA accessibility standards.
-
Automated Airgap Test: Automated Pytest asserting that any socket connection attempting to leave
127.0.0.1immediately fails the build.
How I Built It
I approached Sloth Digest as a pairing of HCI design discipline and systems engineering across 7 deliberate phases:
-
HCI Personas & Usability Specifications (
docs/01_requirements.md): Designed around three distinct cognitive, perception, and motor profiles (an overwhelmed CS student, a busy class representative, and a senior family coordinator). Established 10 quantitative usability specifications (U1βU10) before writing code. -
The "Calm Morning Hearth" Design (
docs/02_design.md): Replaced conventional urgent unread counters and alarm badges with warm linen tones (#FDFBF7), sage accents (#4A6B53), and generous spacing. -
Map-Reduce Orchestration (
docs/03_architecture.md): Because chat exports often exceed 5,000+ messages, a two-stage map-reduce engine chunks chats into temporal slices (50β60 messages with overlaps), extracts candidate facts in parallel, and reduces them into a calm executive summary. - Hallucination Guard & Citation Anchoring: Built an $O(1)$ in-memory index that anchors extracted action items and deadlines back to raw line numbers. Unanchored model output is discarded.
-
Nightly Job (
sloth run) & File Tidier: Added a background CLI runner with SHA256 file hashing for lazy overnight execution, plus an Inbox Tidier stretch goal that standardizes messy WhatsApp export filenames in 1 click. - Chat & Message Classification Engine: Implemented message-level semantic analysis categorizing chatter, reactions, and media notices from direct questions and actionable commitments.
-
Production Containerization: Multi-stage
Dockerfileanddocker-compose.ymlbundling both the compiled React frontend and Python backend for 1-command deployment anywhere.
Why Does Open Innovation Matter?
Open-source and local-first AI are not just engineering preferences; they represent a fundamental ethical standard for personal software:
- Private Data Stays on Your Machine: Group chats contain deeply private conversations: personal finances, family health updates, academic disputes, and passwords. Asking users to upload their personal family logs to third-party cloud APIs (OpenAI or Anthropic) is a non-starter.
- Zero Running Cost: Anyone with a standard 8 GB laptop can run Sloth Digest forever without subscription fees, credit cards, or token meters.
-
Swappable Open Weights: Users aren't locked into a single proprietary provider. Today it's
qwen2.5:1.5b; tomorrow you can swap tollama3.2:3borgemma4:12bwith a single config flag. - Reliability in the Wild: Works in remote off-grid locations, on airplanes, and during campus internet outages.
- Where a Closed API Would Have Been Better (Honest Trade-off): During factual spot-checks, the 1.5B open-weight model occasionally conflated action items containing dates with standalone deadline categories (e.g., filing a video demo deadline under action items instead of dates). A frontier closed model (like Claude 3.5 Sonnet or GPT-4o) has stronger semantic classification zero-shot out of the box. However, our Hallucination Guard mitigates this by anchoring every extracted item to its original line number regardless of category.
My Agent Session
The Lazy Payoff
To ensure complete empirical honesty, here are the measured numbers from my own daily routine:
| Daily Activity | Without Sloth Digest (Manual Scrolling) | With Sloth Digest (Morning Glance) | Measured Daily Time Saved |
|---|---|---|---|
| Morning Class Council Catch-Up (180 messages) | 14 minutes | 45 seconds | 13 min 15 s |
| Hackathon Team Chat Triage (75 messages) | 9 minutes | 30 seconds | 8 min 30 s |
| Family Group Log Check (60 messages) | 6 minutes | 20 seconds | 5 min 40 s |
| Total Daily Investment | 29 minutes | 1 minute 35 seconds | 27 minutes 25 seconds |
Net result: By being radically lazy and letting a local model read while I sleep, I save over 27 minutes every single morning without missing a single commitment or deadline.
Sleep peacefully. Wake up informed. Stay lazy. π¦₯
Dhiraj201226
Top comments (0)