cd /news/artificial-intelligence/sloth-digest-a-local-ai-that-reads-m… · home › topics › artificial-intelligence › article
[ARTICLE · art-156951] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

Sloth Digest: a local AI that reads my group chats while I sleep

A developer built Sloth Digest, a local tool that parses exported WhatsApp group chats and uses Gemma 3 (4B) via Ollama to produce a daily Markdown digest of tasks, deadlines and meeting times, running unattended through Windows Task Scheduler. Testing on a synthetic chat showed the 4B model invented times and misassigned tasks, so the final design has the model extract tasks with an assignee field and copy deadlines verbatim, while code filters for the user and resolves dates — yielding all 5 tasks correct with no invented times. The developer notes no comparison against a closed API was made, only that the design keeps chats on the local machine.

by read3 min views1 publishedOct 24, 2026

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

Group chats pile up overnight. Reading 200 messages to find the two that matter ("can you send me the pricing doc by Wednesday?") is work nobody wants to do.

Sloth Digest does that reading for me. I drop my exported WhatsApp chats into a folder, and every morning a local model has already written one Markdown file with:

Pizza orders, coffee tips and football talk are ignored. I set it up once with Windows Task Scheduler, and after that I do nothing. I just open the file.

It is for anyone who wants to stay on top of busy group chats without scrolling through them, and who doesn't want to upload those chats to someone else's server to do it.

All the chats in the video are invented samples. Here is what the digest looks like for the sample chat:


## Needs you
- Send the updated pricing doc, due: Wednesday at noon. Asked by Maya in chat-team
- Review slides, due: Tomorrow afternoon. Asked by Priya in chat-team

## chat-team
The team needs to finalize the client demo, with Sam responsible for sending the updated
pricing document by Wednesday at noon... The demo time has been moved to Thursday at 4:30 PM.

- Client Demo: Thursday at 4:30 PM

A local AI that reads your exported group chats while you sleep and leaves a short morning digest. No cloud, no API key, no cost per message.

Built for the Hacktoberfest Open-Source AI Challenge, Week 3: Slow and Steady.

.txt) into inbox/. Small talk (pizza, coffee, football) is ignored.

Example output (from the…

Stack: Gemma 3 (4B, open-weight) running through Ollama, with Node.js and TypeScript. The model runs locally, and the scheduled run uses Windows Task Scheduler calling a script inside WSL.

WhatsApp exports (.txt) → parser → Gemma 3 via Ollama (JSON Schema output)
→ code-side logic (assignee filter, dates) → daily Markdown digest

<Media omitted>./api/chat with a JSON Schema in the format field, temperature: 0 and an explicit num_ctx, so the model always returns valid, predictable JSON. assignee. Plain code then keeps only the ones for me and works out which message each deadline came from.wsl.exe every morning. Ollama runs on Windows and the project lives in WSL, so I used WSL's mirrored networking mode to let them talk over localhost. I tested on a synthetic chat with known answers: two tasks for me, one meeting time that changes, and lots of small talk. A 4B model made real mistakes, and fixing them taught me the most important lesson of the project.

Run Change What went wrong
1 Baseline prompt A task Maya had promised to do was listed as mine; "tomorrow" left unresolved; the detail "include monthly and annual plans" got lost
2 Asked the model to resolve dates Dates became absolute, but the model invented times (4:00 PM, 9:00 AM) and picked the wrong day for "tomorrow"
3 Model extracts all tasks with an assignee , code filters Assignment fixed, but dates still inconsistent
4 Model copies deadlines verbatim, no date arithmetic All 5 tasks correct, no invented times. Still missing "monthly and annual"

The lesson: with a small model, don't ask for judgment or arithmetic that code can do. "Is this task for me?" and "what day is tomorrow?" are easy to verify in code and unreliable in a 4B model. Extraction stays with the model, and the rest moves to code.

OLLAMA_MODEL=gemma3:12b npm run digest -- inbox changes the model without touching the code. When a 4B model fails at something, I can try another open model instead of waiting for a provider. I did not compare it against a closed API, so I'm not claiming it is more accurate than one. What I can say is that this design is possible without my chats leaving my laptop.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @sloth digest 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/sloth-digest-a-local…] indexed:0 read:3min 2026-10-24 · —