Organizing Email

Better email management.

Table of Contents

    This is now an open-source project called Mailsense.

    This is a proposal for a sane email management system that can potentially be implemented using an inbox API such as InboxApp.

    Guiding principles

    2 classes of email: essential email and nonessential email.

    • Essential email: “Birthday Dinner - January 15th"
    • Nonessential email: “Quartz Weekend Brief—Why Davos matters"

    Different behaviors with each:

    • Essential email: read, reply, defer, or archive.
    • Nonessential email: skim subjects, see if there's anything important that may have fell through the cracks

    So we need to come up with an accurate heuristic for separating out essential email and nonessential email.

    A smart whitelist

    1. Filtering — There is a Gmail filter that marks all emails as “Holding" and moves them directly to the archive.

    The problem with a lot of email management apps is that they filter it after it reaches your inbox, which sends a notification to your devices first before it gets moved elsewhere. Filtering it on the Gmail level suppresses the notification, and we only get a notification when we move it into the inbox.

    2. Processing — A script (that awakens to new emails in the Holding label) will process them, and move the emails that are in the whitelist (approved senders, determined by email address) back to the inbox.

    The whitelist will match on full email addresses (, domains (*, and individual threads (more on this later). Those will get moved to the inbox.

    Emails that do not match the whitelist: remove Holding label, add Nonessential label.

    So now, we have Essential emails in the inbox, and Nonessential emails on the Nonessential label.

    3. Teaching the system — During the course of the day, you read the emails in your Inbox (Essential emails) and deal with them, and then skim the list of emails in the Nonessential folder. You can whitelist a sender by clicking a button, or temporarily move it to the Inbox.

    So: when you come across and mail that is in the Nonessential category but want to see this sender in the whitelist, you can click a button to add it to the whitelist:

    You can also simply move it to the inbox. This tells the system that you want to keep track of this particular conversation. When the script processes the emails (in step 2), it'll keep track of which conversations you have deliberately moved to the Inbox, and for that particular conversation, the system will keep moving subsequent conversations in that conversation to your Inbox. It's kind of like a temporary approval for that conversation.

    If the system finds that you keep moving conversations from a certain sender to your Inbox (say, more than 3 times), it'll send you an email to ask if you want to add that sender to your whitelist.

    (Implementation notes: the image above could be implemented using a Safari/Chrome extension, but it's unfortunately impossible to add an extension to desktop apps (other than and mobile apps, so temporary approvals will have to do. However, viewing the Nonessential inbox is easily done in mobile apps; in Mailbox, you just hit the checkmark button switching to your Archived Mail view.)

    The next time that the system processes messages, it will move to the Inbox 1) senders that you have whitelisted, 2) conversations that you have deliberately moved to your Inbox, and 3) replies (from non-whitelisted senders) to conversations from whitelisted senders. Everything else goes into the Nonessential folder that you skim periodically.

    The end result: your inbox is only stuff you care about; everything else goes into the Nonessential folder, and you can scan the Nonessential folder for anything that falls through the cracks. You'll still see emails that are nonessential, but your inbox won't be huge and you won't get 2am notifications for newsletters and subscription receipts. Life will be marginally better.


    What happens if an old friend emails and I miss it? — That's why the Nonessential folder is one that you skim. It would be useful to add something to the Gmail web interface that demarcates the last message you saw.

    Won't the Nonessential folder get huge? — Not huger than your inbox as it is now. What I do is I automatically set Gmail to forward all of my emails to another email address which holds everything. We could add such a process to this system, where it forwards all emails to a storage address, and in your main inbox, it periodically deletes emails in the Nonessential category that you didn't take action on (retaining Archived emails).

    What's your current process, Mark Bao? — I'm so glad you asked. Currently, I have five or six filters with about 50 emails each filtering stuff out of my inbox as a blacklist. It's dreadful.

    Other ideas

    • For certain things, like receipts (Amazon, Seamless, etc.), maybe matching on “receipt" or “order confirmation" or something of the sort, it would be a good idea to show the notification and then move it. Since these are things we expect notifications from, we might want to have a third class like “nonessential but show notification" or something.
    • Labels could potentially be used for whitelisting on mobile devices.