sortroom
Self-hosted IMAP mail sorter where a classification model like Jev files new mail into your folders and stars what needs action.
Overview
Sortroom sorts an IMAP inbox into folders. A classification model reads each new mail and picks one of your categories; because it does not generate text it can never invent a folder. Twelve standard categories in English or German are built in and freely editable, since the model files by the descriptions you write. Uncertain mail stays in the inbox under To review, where you accept the suggestion, pick another category or turn the sender into a rule. It also stars mail needing action (bills, appointments, security alerts), tracks time-limited offers and moves expired promotions, supports free sender rules, has an unsubscribe helper, and handles several mailboxes.
The model is reached through the TypeSafe API format, so any compatible service works: OpenRouter's decisions API by default (roughly $0.00002 per mail per the README) or a self-hosted model that keeps data in your network. Each classification sends sender, recipients, date, subject, attachment names and up to 3,000 characters of cleaned text. It runs as one Docker container with a web admin UI, is in beta, and is AGPL-3.0 licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which of the user's categories does this mail belong to? | — |
| Yes / no | Does this mail need action (bill, appointment, security alert)?(inferred) | — |
| Yes / no | Is this a time-limited offer, and has it expired?(inferred) | — |
How it works
- Poll the IMAP inbox every few minutes
- Apply sender rules first
- Ask the model to classify the mail and detect action items
- File confident mail; leave uncertain mail for review
Strengths
- Cannot invent folders
- About $0.00002 per mail on the default model per the README
- Self-hosted model option keeps mail local
Caveats
- Beta; settings may change between minor versions
- Hosted endpoints receive mail content
Getting started
Run the Docker image, open the web admin UI, add a mailbox and an OpenRouter key (or your own TypeSafe-API server).At a glance
- Type
- Service
- Status
- beta
- Language
- TypeScript
- Runtime
- Docker container with web UI
- Has code
- yes
- License
- AGPL-3.0-or-later
Use cases and integrations
How curated lists describe it
Self-hosted IMAP mail sorter: a classification model (any TypeSafe API service, e.g. Jev) files new mail into your folders, stars what needs action and tracks expiring offers. Docker image with a web admin UI.
hellogumbo/awesome-jev
Frequently asked questions
What does the model decide?
Which of your categories each new mail belongs to, and whether it needs action.
What happens to uncertain mail?
It stays in the inbox and appears under To review.
Can I avoid sending mail to a third party?
Yes, point it at a self-hosted TypeSafe-API-compatible model.
Related projects
Open-source AI email assistant; listed as using Jev as an optional classifier for email intent and triage.
ProjectproductionTypeScriptTriage for DingTalk mail and chats where Jev sorts messages into needs-reply, updates, promo, sales or spam with attention flags.
ProjectbetaPythonGoogle Apps Script that labels, archives or trashes Gmail conversations based on Jev answers to your plain-English yes/no questions.
ProjectbetaJavaScriptGmail classifier running on Google Apps Script where Jev decides action-needed, importance and category for each thread.
ProjectbetaTypeScriptAndroid and Windows message-priority assistant where Jev scores urgency and reply-now for each message and sorts them by colour.
ProjectbetaKotlinLocal-first work-message classifier that uses Jev to sort chat messages into urgent, to-do, worth reading and skip, with cross-chat to-dos.
ProjectbetaJavaScript