Skip to content

QuigProQuo/EmailSummarizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Email Summarizer

AI-powered email summaries delivered directly to your Messages

macOS License Swift

A privacy-focused macOS menu bar app that automatically fetches your unread emails, generates AI-powered summaries, and sends them to you via iMessage.

Features

  • AI Summarization - Choose from Claude (Anthropic), OpenAI, or local Ollama models
  • Automatic Scheduling - Set up daily or weekly email digests at your preferred time
  • Privacy-Focused - All credentials stored securely in macOS Keychain
  • Content Filtering - Optional redaction of sensitive data before AI processing
  • Menu Bar App - Lives quietly in your menu bar, never intrusive
  • Local Model Support - Use Ollama for fully offline, private summarization

Requirements

  • macOS 14.0 (Sonoma) or later
  • Apple Mail app configured with your email accounts
  • One of the following AI providers:

Installation

Download

Download the latest release from the releases page or the website.

Build from Source

  1. Clone the repository:

    git clone https://github.com/johnpeterat/EmailSummarizer.git
    cd EmailSummarizer
  2. Open the Xcode project:

    open EmailSummarizerApp/EmailSummarizer.xcodeproj
  3. Build and run (Cmd+R) or archive for distribution (Product > Archive)

Setup

  1. Launch the app - It will appear in your menu bar
  2. Complete onboarding - Grant necessary permissions for Mail and Messages access
  3. Configure AI provider - Add your API key or configure Ollama
  4. Set your phone number - Where you want to receive summaries via iMessage
  5. Configure schedule - Choose when to receive your email digests

Privacy

Email Summarizer is designed with privacy as a core principle:

  • All email processing happens locally on your device
  • API keys are stored in the macOS Keychain (hardware-encrypted)
  • Optional content filtering redacts sensitive data before AI processing
  • No telemetry, no tracking, no data collection
  • Use Ollama for completely offline operation

Landing Page

The landing page is a Node.js Express application.

Running Locally

cd landing-page
npm install
npm start

The server will start at http://localhost:3000.

Production

Set NODE_ENV=production for optimized static file serving with caching.

Project Structure

EmailSummarizer/
├── EmailSummarizerApp/     # Main macOS Swift application
│   ├── App/                # App entry point and state
│   ├── Views/              # SwiftUI views
│   ├── Services/           # Business logic and API integrations
│   ├── Models/             # Data models
│   └── Resources/          # AppleScripts and assets
├── landing-page/           # Marketing website
│   ├── public/             # Static files (HTML, CSS, JS)
│   └── server.js           # Express server
└── LICENSE                 # MIT License

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

John Quigley (@johnpeterat)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors