DEV Community

Subhasish Das
Subhasish Das

Posted on

Sloth Digest: A Group-Chat Summariser That Never Leaves Your Laptop

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

Sloth Digest is a group-chat catch-up tool that runs entirely on your own laptop.

You come back to 214 unread messages. Instead of scrolling, you drop in a WhatsApp export, a Telegram result.json, screenshots, or a PDF. Or you press Live scan, share the chat window, and let it read the chat for you. A few seconds later you get:

the two-line catch-up
to-dos (who promised what, and by when)
dates to remember
questions that were asked
a receipt for every item: tap it and you see the exact original message it came from

The lazy part: you never read the whole chat, and you never have to copy or upload anything when you use Live scan. The slow part: the sloth crawls on purpose, because a local model is thinking.

Extras: a History tab (every digest with its date and time, stored only on your computer, delete anytime) and drag-and-drop for chat files, screenshots (png/jpg/webp) and PDFs.

Demo

Code

Sloth Digest 🦥

Drop in an exported group chat. Get a two-line catch-up, the to-dos, the dates and the questions asked, each with a receipt (the real message it came from) A Gemma model runs locally through Ollama, so your chat never leaves your computer and nothing is saved.

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

Why it saves effort

A busy group chat can have hundreds of messages overnight. You do not need all of them, you need: what was decided, what was I asked to do, and what are the deadlines. The page also estimates how many minutes of reading you skipped (word count / 220 words per minute, labelled as an estimate).

How it works

  1. Parse the export (WhatsApp Android or iPhone style, Telegram result.json, or plain Name: message lines). System lines and "media omitted"…






Run it yourself: install Ollama, run ollama pull gemma3:4b, then pip install -r requirements.txt and uvicorn app.main:app, and open http://127.0.0.1:8000. Full steps are in the README.

How I Built It

Gemma 3 (4B) through Ollama, running locally. No API key, no cloud, $0 per digest. Gemma's vision reads screenshots, PDF pages and the live-scan frames.
FastAPI backend, plain HTML/JS front end, Pillow, pypdf and pypdfium2 for pictures and PDFs.
The model proposes, the code checks. Gemma returns strict JSON, and every claim must cite a real message number. Guardrails then drop anything the chat does not support: invented names, dates or numbers, tasks that do not match their message, and headlines with numbers that are not in the chat. The app shows how many claims it blocked.
Long chats are split into chunks, so a small local model can handle them. If Ollama is down, a simple keyword digest is shown instead of a crash.
Live scan uses the browser's screen share, takes a picture every 15, 30 or 60 seconds, skips unchanged screens, and merges new messages without duplicates. Pictures are read and dropped, never saved.
26 automated tests cover the parsers, guardrails, history, picture and PDF handling, live sessions and privacy (chat text is never written to disk).

Why Does Open Innovation Matter?

A group chat is private by nature. Sending it to a closed API just to get a summary is a bad trade. An open-weight model on your own machine makes the private version possible: your messages and screenshots stay with you, and you can read, change and run every line of the code.

Honest limits:
Live scan is near-live, not instant. A local 4B model needs several seconds per picture.
It only sees what is on screen, so scroll up to cover older messages.
Reading small text from pictures can make mistakes, which is why you check the text, and why every item has a receipt.
On a Mac, your browser needs Screen Recording permission. There is no WhatsApp API involved.

My Agent Session

I built Sloth Digest in one long session with Claude as my coding agent, working step by step:

  • I chose the idea and what it should do: a group-chat summariser with screenshots, PDFs, History and Live scan.
  • Claude wrote the parser, the guardrails, the FastAPI backend, the front end and the 26 tests.
  • I ran it on my own Mac with Ollama and Gemma, tested it, and asked for changes. For example, I asked for the PDF and image drop, the History tab and the Live scan.
  • I did the GitHub push myself.

Prize Categories

Best Use of Gemma: Sloth Digest runs Gemma 3 (4B) locally through Ollama for everything: summarising chats and, with its vision, reading screenshots, scanned PDFs and Live scan frames. No cloud API is involved.

Built by Subhasish Das.

Top comments (0)