An intelligent, minimalist, AI-powered email client for macOS.
Features • Tech Stack • Getting Started • Development
Bubbles.mail is a modern, privacy-conscious desktop email client built specifically for macOS. It reimagines your inbox by moving away from cluttered lists and replacing them with an intelligent, timeline-based Daily Digest.
Integrated with the Vercel AI SDK, Bubbles.mail doesn't just show you emails—it reads them, understands them, and provides you with actionable tasks, upcoming deadlines, and concise summaries so you can achieve Inbox Zero with ease.
- Daily Intelligence Digest: Auto-generated morning briefing that groups your emails into actionable Tasks, critical Deadlines, and ongoing Threads.
- Bubbles.ai Assistant: Chat directly with your inbox. Ask Bubbles.ai to summarize a long thread, find an old receipt, or draft a reply in seconds.
- Smart Categorization: Automatically categorizes emails into Primary, Updates, Promotions, Social, and Forums using native Gmail labels.
- Multi-Account Support: Connect and switch between multiple Gmail accounts.
- Fast & Local: Emails are synced and cached locally using SQLite for instant loading and offline access.
- On-Device AI Ready: By leveraging tools like Ollama, Bubbles.mail can process your emails entirely on your machine. Keep your sensitive data strictly local while still enjoying the power of Large Language Models.
Bubbles.mail is built using web technologies packaged into a performant desktop application.
graph TD
subgraph Cloud
G[Gmail API]
end
subgraph Desktop App
UI[Vue 3 User Interface]
Main[Electron Main Process]
DB[(Local SQLite Cache)]
UI <-->|IPC Router| Main
Main <-->|Read / Write| DB
end
subgraph Intelligence
AI[Vercel AI SDK]
Ollama[Ollama / External LLMs]
Main -->|Send email data| AI
AI -->|Generate structured JSON| Ollama
Ollama -->|Stream responses| AI
AI -->|Tasks, Summaries, Chat| Main
end
G -->|OAuth2 Sync| Main
- Framework: Electron + Vue 3 (Composition API)
- Language: TypeScript
- Build Tool: Vite + Electron-Builder
- Database: Better-SQLite3 (Local caching)
- AI Integration: Vercel AI SDK
- Styling: Vanilla CSS + modern CSS variables & backdrop-filters
- macOS (Apple Silicon
arm64or Intelx64) - Node.js (v18+)
- A Google Cloud Project with the Gmail API enabled (for OAuth 2.0 credentials)
-
Clone the repository:
git clone https://github.com/yourusername/bubbles.mail.git cd bubbles.mail -
Install dependencies:
npm install
-
Set up Environment Variables: Create a
.envfile in the root directory and add your Google OAuth credentials and AI provider keys:VITE_GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret OPENAI_API_KEY=your_openai_api_key
-
Run in development mode:
npm run dev
To package the application into a standalone macOS .dmg and .app:
npm run build:macThe compiled binaries will be available in the dist/ directory.
Bubbles.mail respects your privacy.
- All emails are synced and stored locally on your machine in a SQLite database.
- 100% Local AI: For maximum security, you can configure Bubbles.mail to use local LLMs (via Ollama). This ensures your email data never leaves your machine for AI processing.
- If using external AI providers, you have full control over what data is sent securely via their APIs.
- We utilize standard OAuth 2.0 flows, meaning your Google password is never exposed or stored.
MIT License © 2026 Bubbles.mail