DEV Community

Daksh Lalwani
Daksh Lalwani

Posted on

Muted the Group Chat, Missed the Deadline. So I Built a Sloth.

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady 🦥

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

What I Built

Sloths nap through 300 group chat messages without a worry. I can't, so I built ChatSense to do the reading for me.

Paste or upload a messy chat and it hands back the only parts you need:

  • Tasks with a "time left" bar that turns red when you're nearly out of time
  • What changed, like "deadline moved from 30 Oct to 2 Nov", so the missed update isn't your fault
  • Bills and info cards, so the rent stops living in your head
  • A fraud check for sketchy messages ("your bank account will be blocked, click here!")

Every card points to the exact message it came from. If ChatSense says something, you can see the receipt.

Who gets to be lazier? Students who muted the group and missed the deadline change. Parents who keep forwarding "you have won 25 lakh!" texts. The flatmate who owes 590 and swears nobody told him. A sloth would approve.

Demo

Try it here: https://chat-sense.vercel.app/

There's a demo chat built in, so you can be lazy right from the first click.

Code

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more…

How I Built It

The brain is Gemma 4 E2B, an open-weight model. My rule was simple: Gemma reads, and plain code decides. A sloth doesn't waste energy, and neither should a model.

Gemma does the reading:

  • Sorts each message (task, bill, info, promo, suspicious)
  • Pulls out the details and notices when someone corrects an earlier message
  • Explains a scam's tricks in one simple line

Normal code does the thinking:

  • Works out real dates from each message's own timestamp, so a "tomorrow" sent last week is already overdue
  • Handles time left, totals, duplicates and undo
  • Gives the fraud verdict by checking the real link domain, URL shorteners, lookalike domains and UPI ID mismatches. Gemma names the tricks, and code makes the call. It never says "safe", only "No red flags found"

Every Gemma answer gets validated, and anything without a matching quote in the original message is thrown out. No source, no card.

The app is built with Next.js and shadcn/ui. On my own test chats it got 83% accuracy. That's not perfect, which is why every card shows its source and lets you edit it.

Why Does Open Innovation Matter?

Group chats are personal. They hold family drama, bank alerts and who owes whom money. A closed API would mean sending all of that to a server I don't control, every time I paste a chat. That's a lot to hand over just to avoid scrolling.

An open-weight model changes that. It can run on my own machine with no per-call bill, no rate limit and no waiting on someone else's servers. I can swap the model, tune the prompts and see exactly what it does. And since the repo is open, anyone can fork it, teach it their own language or local scams, and make it work for their own chats. Fraud looks different in every country, so that matters.

Set it up once, and it's yours to keep.

Prize Categories

Best use of Gemma 4

Top comments (0)