ThreadWise is a modern, full-stack email client that unifies your inboxes and uses Local AI (LLMs) to categorize, index, and understand your communications. Say goodbye to information overload.
| Unified Inbox Feed | AI Chat Assistant (RAG) |
|---|---|
![]() |
![]() |
| Smart feed with auto-categorization | Ask questions to your inbox contextually |
| Secure Mailbox Connection | Email Details Modal |
|---|---|
![]() |
![]() |
| Securely link Gmail via App Passwords | Read full emails without leaving the feed |
| Instant Search | User Registration | Secure Login |
|---|---|---|
![]() |
![]() |
![]() |
| Find any email instantly with Elasticsearch | Secure Registration | Secure Login |
Modern email is broken. We have too many accounts and too much noise. ThreadWise solves this by:
- Unifying Accounts: Connect multiple Gmail accounts via secure IMAP.
- Local Privacy: Uses Ollama to run AI models locally on your machineโyour data never leaves your specialized backend.
- Instant Search: Powered by Elasticsearch for sub-second retrieval of thousands of emails.
- Smart Labeling: Automatically tags emails as
Interested,Meeting Booked, orSpamusing Zero-Shot Classification. - Chat with Data: Uses RAG (Retrieval Augmented Generation) so you can ask "Did I get any job offers?" and get an instant answer.
- ๐ Secure Authentication: Hybrid login system supporting standard Email/Password and Google OAuth.
- ๐ง IMAP Sync Engine: Securely connects to Gmail using App Passwords and fetches emails in real-time.
- ๐ง Chat with Inbox (RAG): A floating AI assistant that answers questions based on your email context.
- ๐ค AI Categorization: Inspects email content using Llama 3.2 (via Ollama) to assign context-aware labels.
- ๐ Full-Text Search: Elasticsearch index allows for finding any email by keyword instantly.
- ๐ Real-Time Alerts: Webhook and Slack integrations notify you of "Interested" leads immediately.
- ๐ฑ Responsive Dashboard: A clean, split-screen UI built with React and Tailwind.
Follow these steps to set up the project locally.
- Node.js (v18 or higher)
- Docker Desktop (For running Elasticsearch)
- Ollama (Installed locally for AI features)
- MongoDB Atlas account
git clone [https://github.com/yourusername/threadwise.git](https://github.com/yourusername/threadwise.git)
cd threadwisecd server
npm installPORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
ENCRYPTION_KEY=your_encryption_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
SLACK_WEBHOOK_URL=your_slack_webhook (optional)npm run servercd threadwise
cd client
npm install
npm run devdocker run --name threadwise-es -d -p 9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.11.1๐ Usage Guide
-
Register: Create an account or sign in with Google.
-
Connect: Go to "Link Mailbox". Enter your Gmail address and App Password (Not your login password!).
-
Sync: Click "Sync Emails" on the dashboard sidebar.
-
Wait: The backend will fetch emails, send them to Ollama for tagging, and save them to Elasticsearch.
-
Search: Use the top bar to filter emails instantly.
[x] User Authentication (JWT + OAuth)
[x] IMAP Integration
[x] Local AI Classification
[x] Full-Text Search
[x] Chat with Inbox (RAG)
[x] Account Management (Delete/Logout)
๐ค Contributing Contributions are welcome! Please open an issue or submit a pull request.






