DEV Community

Tanishq Gupta
Tanishq Gupta

Posted on

Mail Sloth: Photograph Your Paper Mail, Get Verdicts and Calendar Reminders, Fully Offline

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

Mail Sloth turns a pile of paper mail into a short list of things to do, each with a calendar reminder, without you reading any of it.

Nobody reads paper mail properly. Bills, bank letters, school circulars, society notices, and government letters pile up on a shelf, and the one with a due date gets missed. Mail Sloth is built for the laziest possible workflow:

  1. Take one photo of each letter, bill, or notice. A pile takes about a minute.
  2. Drop the photos into the app and go do something else.
  3. Come back to a one-page summary and a calendar file.

For every item, it gives you:

  • Who it's from and what it's about, in one line
  • A verdict: Pay, Reply, Sign, Keep, or Ignore
  • The key facts: amount due, due date, reference number, and what you actually have to do
  • A calendar reminder for anything with a deadline, exported as a standard .ics file that opens in any calendar app, with a reminder a week before and a day before

You glance at a review table, fix anything flagged, and export. Junk mail gets a clear "Ignore" so you can throw it away without guilt.

Who gets to be lazier: anyone who dreads their mail pile, such as busy parents buried in school circulars, people managing a home or a parent's paperwork, and anyone who has paid a late fee for a bill they never opened.

How I Built It

  • Reading the letters: an open-weight model, Gemma, running locally through [Ollama / your runtime]. [Choose what you really built: the vision model reads the photo directly, or OCR with Tesseract extracts the text first and the model reads that.] It extracts the sender, summary, amount, due date, reference number, and required action as structured JSON.
  • Dates and amounts are handled by plain code, not the model. The model only reads what the letter says. Normal code parses and validates the dates, checks that a due date is plausible, and generates the calendar entries. This keeps reminders trustworthy, because a language model should never be the thing deciding when your bill is due.
  • Honest uncertainty: if the photo is blurry, a date is ambiguous (for example 03/04), or the model isn't confident, the item is flagged in the review table instead of silently guessed.
  • Verdicts: a small, editable rule set maps the extracted fields to Pay, Reply, Sign, Keep, or Ignore, and you can adjust the rules to your own life.
  • Calendar export: the .ics file is generated directly in code with standard reminders, so it works with any calendar app and needs no account or integration.
  • Batch processing: photos are processed one after another in the background. It is not fast, and it does not need to be, because you are not waiting for it.
  • Interface: [describe what you built: for example a local web app with drag-and-drop photo upload and an editable review table].

Why Does Open Innovation Matter?

  • Paper mail is about the most private data you have. It holds your home address, bank and medical details, tax and government references, and your children's school information. Uploading photos of all of that to a cloud API is a bad trade for the convenience. Because the model runs on your own machine, none of it leaves it.
  • It costs nothing per letter. A pile of mail is dozens of photos every month, forever. With a paid vision API, a boring household task would carry a running bill. With a local model, you set it up once and never pay again.
  • It works offline. There is no account, no login, and no connection needed.
  • You control how it behaves. Verdict rules, reminder timing, and the output format are all editable, and the model can be swapped for a better or smaller one without waiting on a provider. If the model gets a layout wrong, I can fix the prompt or the rules myself.
  • Slow is fine. A local model on an ordinary laptop is not as fast as a hosted API, but this is a task you hand off and walk away from, so speed hardly matters.

Top comments (0)