97545d89d2c0ea225947e18f6c9ddb7c47439756
Email Organizer
This repository is a self-hosted version of our paid offering for organizing your email with AI. Simply run it, connect it to your IMAP server, explain in natural language how you want your mail organized, and forget it!
Key problems we solve:
- No more hand writing email sieve/filter rules!
- Separate out marketing emails from receipts / transaction confirmations.
- Automatically star high importance emails based off learning your own preference.
- Automatically recommend new folders/organization rules based off your own activity. For example, if you have a social media folder, and you start using tiktok, this service can recommend adding that as an organization rule.
Roadmap:
- Prototype - Setting up the base infrastructure and user experience
- MVP - enter your imap server. You list out folders and rules, and once a day emails in the "Pending" folder will be reorganized.
- "Import" your list of folders from your imap server
- Polling every 5 minutes, working off recent emails since last poll
- Label support for services like gmail
- Generate config to automate integration into imap servers like dovecot or gmail or proton
- Supporting auth / multi user. Admin controls the list of users, users control their folders.
- Making a paid, hosted version
- Auth via google / facebook / etc.
- Automatically star based off of your habits
Architectural concepts:
- The web application is built using Flask for a web server.
- HTMX is used to give SPA-like experience.
- AlpineJS is used for anything
- DaisyUI is used (on top of tailwind css) for the front end experience.
- Everything is stored in postgres
- OpenAI-compatible endpoints are used for email classification.
How it works:
- The user interface allows the user to specify a list of folders, and in plain language what content should go in those folders
- When an email is considered, a prompt is generated from all of the user input, specifying the rules, as well as a detailed system prompt.
- If an email cannot be organized, it's left in place
Initial data model:
- Users (id | user_name | salted_password_hash | imap_server | imap_password )
- Folders (id | user_id | organization_rule | priority)
Description
Languages
Python
80.9%
HTML
18.2%
JavaScript
0.6%
Mako
0.3%