cd /news/ai-agents/slothdigest-a-local-first-ai-agent-f… · home › topics › ai-agents › article
[ARTICLE · art-156625] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

SlothDigest — A Local-First AI Agent for Your Morning WhatsApp Digest

A developer built SlothDigest, an open-source local-first CLI agent that summarizes WhatsApp chat exports into a morning digest using open-weight models served through a local Ollama instance. The tool parses Android and iOS exports with Hinglish date support, applies map-reduce summarization, extracts deadlines and "needs you" items, and renders output as Markdown, HTML, or an .ics calendar file, with a network guard and data-wipe option to keep chat data on-device. It also includes a Flask web UI and a "Sloth Mode" that defers processing when the machine is on battery or CPU usage exceeds 80%.

by read5 min views2 publishedOct 24, 2026

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:

I built SlothDigest — a local-first CLI agent that does exactly that. Drop your WhatsApp .txt exports into an inbox/ folder, run one command, and get a clean digest in Markdown, HTML, or even an .ics calendar file.

It runs 100% locally using open-weight models via Ollama. No data ever leaves your machine. Privacy-first by design.

And because mornings should be lazy, it has Sloth Mode — if your laptop is on battery or the CPU is busy, it defers processing until you're plugged in and relaxed. 🦥

The tool runs from your terminal, but there's also a Flask web UI for those who prefer a browser:

slothdigest run

python run_webui.py

Generated digest (Markdown):


## family_group.txt
**Mom's planning Diwali dinner on Nov 1, and Dad fixed the WiFi router**

- Papa called Airtel and the WiFi will be back by evening
- Mom confirmed Diwali dinner — everyone needs to bring one dish
- Rohan scored 92% on his math test 🎉

## needs_you
### family_group.txt
- **Mom** (14:32): Raha, can you pick up sweets from Bikaner vala on the way home?
- **Dad** (15:10): Beta, send me the Airtel bill number, I need to follow up

## deadlines
- **Diwali dinner** (event) — 2026-11-01
- **Airtel bill payment** (payment) — 2026-10-25
- **Rohan's PTM** (event) — 2026-10-28 at 10:00

The same content is rendered as a beautiful 📱 phone-friendly HTML page and an .ics calendar file you can import into Google Calendar or Apple Calendar.

The entire project is open source on GitHub:

🔗 github.com/akshrakothari/SlothDigest

git clone https://github.com/akshrakothari/SlothDigest.git
cd SlothDigest
pip install -e .
slothdigest init --name "Your Name"
slothdigest run
inbox/              ← Drop WhatsApp .txt exports here
src/slothdigest/
├── cli.py          ← Typer CLI (init/run/schedule/wipe)
├── config.py       ← JSON config in ~/.config/slothdigest/
├── parser.py       ← Android & iOS chat export parser with Hinglish date support
├── noise_filter.py ← Drops system messages, spam, forwards
├── chunker.py      ← Smart message chunking that preserves conversation threads
├── summarizer.py   ← Map-reduce summarization pipeline
├── ollama_client.py← Ollama local LLM client
├── deadlines.py    ← Deadline extraction with relative date resolution ("kal", "parso")
├── needs_you.py    ← "Needs you" detection (mentions, questions, tasks)
├── renderer.py     ← Outputs MD + HTML + ICS
├── sloth_mode.py   ← Defers when on battery or high CPU
├── privacy.py      ← Network guard, data wipe
├── scheduler.py    ← Windows schtasks / cron installer
├── state.py        ← Incremental processing via state files
├── pipeline.py     ← Orchestrates everything
└── webui.py        ← Flask web UI (optional)
tests/              ← Pytest test suite
Decision Why
100% local Your WhatsApp data never touches the cloud. Only allowed Ollama URLs are reachable.
Map-reduce summarization Handles 1000+ messages by chunking, summarizing each chunk, then reducing into a final digest.
Incremental processing Tracks last-processed timestamps — only new messages are summarized.
Quiet-night detection If a chat has <10 meaningful messages, it just says "Quiet night".
Sloth mode Defers processing when on battery or CPU > 80%.
Hinglish support Understands "kal" (yesterday/tomorrow), "parso" (day after), "agle somwar" (next Monday).

Ollama — The backbone. Every LLM call goes to a local Ollama instance. I tested with:

The model handles four specific tasks, each with a carefully crafted prompt:

Temperature 0.1 keeps the model grounded and factual. Every prompt asks for structured JSON output, with robust fallback parsing if the model hallucinates the format.

┌──────────┐   ┌───────────┐   ┌────────────┐   ┌──────────┐
│ WhatsApp  │   │   Parser  │   │ Noise      │   │  Chunker │
│ .txt file │──▶│ (Android/ │──▶│ Filter     │──▶│ (smart   │
│           │   │  iOS)     │   │            │   │  windows)│
└──────────┘   └───────────┘   └────────────┘   └──────────┘
                                                      │
                                                      ▼
┌──────────┐   ┌───────────┐   ┌───────────────────────┐
│ Renderer │◀──│  Reducer  │◀──│  Chunk Summarizer     │
│ MD+HTML  │   │  (final   │   │  (Ollama map step)    │
│ + ICS    │   │  digest)  │   └───────────────────────┘
└──────────┘   └───────────┘

Here's the wild part: most of this code was written by an AI coding agent. I described the architecture, and the agent wrote the 16+ source files, 10 test files, and the deploy infrastructure — all in a single continuous session.

This is the future of open-source contribution: describe what you want, and let AI handle the implementation while you focus on design, privacy, and architecture decisions.

This project would be impossible without open innovation.

If I had built SlothDigest with a closed API like OpenAI or Claude:

Open-weight models (Qwen, Llama, Mistral, Gemma) running locally via Ollama make this project possible. The model runs on a $0 inference budget. Your data stays on your laptop. You can audit every single prompt and response.

Open innovation means privacy-first, cost-free, customizable AI that anyone can run, modify, and trust.

This project was built in a single continuous AI-agent session using Backboard's dev platform. The agent read the project requirements, created the architecture, wrote every line of source code, generated the test suite, built the deploy infrastructure, and assembled this blog post.

The session spanned:

Here's what SlothDigest actually saves you every morning:

Without SlothDigest With SlothDigest
Scroll through 500+ messages Read a 2-paragraph digest
15-20 minutes of doom-scrolling 30 seconds of browsing
Miss deadlines in noisy chats Deadlines extracted to your calendar
Forget to reply to someone who asked you "Needs you" section catches it
Read ads, forwards, "Good morning!" images Noise filter drops them automatically

The name "SlothDigest" is a double joke — it works like a slow, thoughtful sloth (deferring work), and it saves you time so you can be the sloth.

SlothDigest v0.1.0 — Built with 🦥 in October 2026 for Hacktoberfest.

── more in #ai-agents 4 stories · sorted by recency
── more on @slothdigest 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/slothdigest-a-local-…] indexed:0 read:5min 2026-10-24 · —