A macOS mail client concept that reimagines email as conversations — not a pile of messages.
Most email apps are organized around messages. UnMail organizes around people and threads. Every inbox item is a conversation with a participant (a person, company, newsletter, or system), making your email feel less like a chaotic queue and more like a chat history.
AI assistance is built into the concept to help you draft, summarize, and manage those conversations.
- Conversation-first layout — Three-column NavigationSplitView: Sidebar → Conversation List → Conversation Detail
- Participant categories — Automatically bucket contacts into People, Companies, Newsletters, and Systems
- Smart Subjects — Hides redundant "Re:" subject lines; only surfaces them when the topic actually changes
- Pinned Attachments — Surfaces all attachments from a thread at the top so you never hunt for a file
- List & Card views — Switch between compact list and a card grid in the conversation panel
- Compose with References — Link related messages when composing so context travels with your reply
- Search — Full-text search across conversation names, subjects, and message snippets
| Layer | Technology |
|---|---|
| UI | SwiftUI |
| Persistence | SwiftData |
| Platform | macOS 14+ |
| Language | Swift 5.9+ |
UnMail/
├── UnMailApp.swift # App entry point, SwiftData container setup
├── ContentView.swift # Root three-column NavigationSplitView
├── Models/
│ └── Models.swift # Participant, Conversation, EmailMessage, Attachment, Draft, Reference
├── Views/
│ ├── SidebarView.swift # Category sidebar (Inbox, People, Companies…)
│ ├── ConversationListView.swift # Filtered conversation list with search
│ ├── ConversationDetailView.swift # Full thread view
│ ├── MessageCellView.swift # Individual message bubble/row
│ ├── ComposeView.swift # Compose sheet with participant picker
│ ├── ReferencePickerView.swift # Link related messages
│ └── AppSettings.swift # User preferences (pinned attachments, smart subjects…)
├── Utilities/
│ └── Utilities.swift # Date formatting, color helpers
└── Data/
└── SampleData.swift # Seeds demo data on first launch
- Clone the repo
- Open
UnMail.xcodeprojin Xcode 15+ - Select the UnMail scheme and run on My Mac
No additional dependencies or configuration required — sample data is seeded automatically on first launch.
This is a concept / work-in-progress. The core UI and data model are functional with sample data. IMAP/SMTP integration and AI features are not yet implemented.
MIT