SlothDigest — A Local-First AI Agent for Your Morning WhatsApp Digest
What I Built Every morning, most of us wake up to 500+ unread WhatsApp messages across family groups, college groups, project teams, and neighborhood associations. Scrolling through them is exhausting. What if you could just get a calm, two-paragraph summary of: What actually happened What needs you specifically (bills, tasks, direct questions) Upcoming deadlines and events I built SlothDigest —…
Every morning, we are bombarded with countless unread WhatsApp messages—family groups, college teams, project associations, and neighborhood updates. Scrolling through them all is a challenge. What if you could get a concise, two-paragraph summary that includes what truly happened, tasks specific to you (like bills, assignments, or direct questions), and any upcoming deadlines? That's precisely what SlothDigest achieves. It's a local-first command-line agent designed to provide just that.
SlothDigest takes your WhatsApp .txt export files from an inbox folder, processes them, and generates a clean digest in Markdown, HTML, or even an ICS calendar file. It runs entirely on your machine using open-weight models via Ollama—ensuring privacy because none of your data leaves your device. Additionally, it features a "Sloth Mode" that defers processing when your laptop is on battery or the CPU is busy, so you can enjoy a relaxed morning.
Using the terminal, you can initiate the tool with `slothdigest run`, or for a browser-based version, run `python run_webui.py`, which opens the digest at http://localhost:5000. The generated digest is beautifully formatted as Markdown, a user-friendly HTML page, and an .ics calendar file for easy import into Google Calendar or Apple Calendar. All the code for this project is open source on GitHub (github.com/akshrakothari/SlothDigest).
The project is written in Python, with the entire stack running 100% locally. Here's a quick overview of the architecture:
1. **Inbox**: Drop your WhatsApp .txt exports here.
2. **CLI**: A Typer CLI handles the init, run, schedule, and wipe commands.
3. **Parser**: It uses Hinglish date understanding to parse Android and iOS chat exports, dropping system messages, spam, and forwards.
4. **Chunker**: Smartly chunks messages to preserve conversation threads.
5. **Summarizer**: The map-reduce summarization pipeline summarizes the messages.
6. **Ollama Client**: Connects to a local Ollama instance for AI processing.
7. **Deadlines**: Extracts deadlines, tasks, events, and payment obligations.
8. **Needs You**: Detects messages that require specific attention.
9. **Renderer**: Outputs the digest in Markdown, HTML, and ICS formats.
10. **Sloth Mode**: Defers processing when on battery or high CPU.
11. **Privacy**: Ensures network guard and data wipe features.
12. **Scheduler**: Installs Windows schtasks or cron jobs for scheduled runs.
13. **State**: Manages incremental processing with timestamp tracking.
14. **Web UI**: A Flask web UI is optional, providing a browser-based alternative.
This entire project leverages Ollama's open-source AI stack, allowing for complete control and privacy with no reliance on cloud services. The code was even co-written by an AI coding agent, streamlining the development process and showcasing the power of open innovation in software creation.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.