DEV Community

Sunil Kumawat
Sunil Kumawat

Posted on

Slowly: Catch Up on Group Chats Without Reading Them, Fully On My Phone

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

Slowly is a small web app that summarizes a group chat on your phone. You paste a chat (or share a WhatsApp export) and about half a minute later you get:

  • The gist in one or two sentences
  • To-dos, with the owner named, as a checklist
  • Dates and plans that were mentioned

You can choose the summary language: English, Hinglish or Hindi. Every summary is saved on your phone, and you can search or delete it later.

I live in a village where the internet is slow. I did not want to send my private chats to someone else's server, so I built a tool that does all the work on the phone itself.

Demo

Live app (open in Chrome on Android): https://sunilkumawat-ai.github.io/slowly/

Proof: it works offline, in airplane mode

Slowly English summary in airplane mode

Look at the top of this screenshot. Airplane mode is on, and the app shows the "Offline" tag. There is no internet, and Slowly still read the chat and wrote the summary: the gist, three to-dos and the dates. It took about 21 seconds, at around 6 tokens per second, on my Realme X7 Max.

The model was downloaded once. After that, the phone does everything by itself.

Hinglish summary

Slowly Hinglish summary

Same chat, summarized in Hinglish. Common lines like "book the tickets" and "bring snacks" are translated with a built-in dictionary, so they are exact.

Hindi summary

Slowly Hindi summary

Same chat in Hindi. The speed and token numbers at the bottom are real, measured on my phone.

Model picker

Slowly model picker

Slowly lists the open models my phone can run, with their download size. It auto-picks the best one that fits, and it remembers which models failed.

Code

GitHub repo (MIT license): https://github.com/Sunilkumawat-ai/slowly

It is plain HTML, CSS and JavaScript. There is no backend and no build step.

How I Built It

  • WebLLM and WebGPU run an open-weight model inside Chrome, on the phone's GPU.
  • Open-weight models from Meta, Alibaba, Google, Microsoft and Hugging Face (Llama 3.2, Qwen3, Phi-3.5, Gemma 2, SmolLM2).
  • Offline after first load. A service worker keeps the app and the model engine, and the browser keeps the model.
  • Rules plus model. Plain code first reads the chat into "who said what" and finds the to-dos and dates. The model then writes the short gist.
  • Every model line is checked. Small models make mistakes. If the gist repeats itself, invents a name or number, has broken characters, or is too short, Slowly throws it away and shows a plain summary built from the chat.
  • Long chats are split into parts, turned into notes, and the notes are summarized again.
  • Everything is stored in the browser (localStorage). There is no server and no database.

I tested on a Realme X7 Max with Chrome on Android. These are single runs, not a rigorous benchmark:

Model Language Speed Total time
Llama 3.2 1B English 6.0 tok/s 21 s
Llama 3.2 1B Hinglish 6.3 tok/s 33 s
Llama 3.2 1B Hindi 5.9 tok/s 43 s
Qwen3 1.7B Hinglish / Hindi about 6.2 tok/s 45 s

What I saw while testing: Llama 3.2 1B gave the most reliable gist on my phone. Qwen3 1.7B sometimes wrote a gist that failed the checks. Gemma 3 1B loaded but wrote broken text, so it is not in the list.

The Lazy Payoff

Slowly rewards laziness in the best way. Instead of scrolling through 50 messages, you read about 5 lines: the gist, who has to do what, and the dates.

In my 5-line test chat, the summary was ready in about 21 seconds, with no internet, no account and no API key. It does the boring reading so you don't have to.

I have tested it on my own phone with sample chats. It is a small model, so I still check the original chat before doing anything important.

Why Does Open Innovation Matter?

Slowly only works because the model is open.

Closed cloud API Slowly (open weights, on device)
Where your chat goes Sent to a server you don't control Stays on your phone
Cost per summary Pay per token Free
Account or API key Required None
Works offline No Yes, after the first download
Swap the model Whatever the vendor offers Pick any compatible open model

The airplane mode screenshot above is the proof of the "Works offline" row. A closed cloud API cannot do that.

For a personal chat, the privacy row alone is the reason to build it this way. The first model download took me about 20 minutes on village internet. That is the "slow" part. After that the model lives on the phone and I do not wait for anyone's server. The "steady" part is that small models are unreliable, so Slowly checks every line before showing it.

Limitations

Small models make mistakes. They can miss a detail, merge two people or misread sarcasm. Check the original chat before acting on anything important. Hinglish and Hindi are not perfect, and unusual lines may stay in English. It needs a recent Chrome on Android with WebGPU. The first download is large, so use Wi-Fi.

Built by Sunil Kumawat.

Top comments (0)