Skip to content

ruthvik-mt/InboxFlow

Repository files navigation

📧 InboxFlow

An AI-powered email aggregator that unifies multiple email accounts into one intelligent inbox with real-time sync, smart categorization and advanced search.

Table of Contents


Introduction

InboxFlow solves email overload by aggregating multiple email accounts (Gmail, Outlook, etc.) into a unified dashboard with AI-driven categorization and intelligent filtering. Manage all your emails in one place and let AI prioritize what matters most.

The frontend is built with React, TypeScript and Tailwind CSS for a modern, responsive UI. The backend uses Node.js, Express and MongoDB, with Elasticsearch for powerful search and Cerebras AI (Llama 3.3 70B) for intelligent email categorization.


Live Demo

🌐 Visit the website: InboxFlow


Features

  • Multi-Account Sync: Connect Gmail, Outlook and other IMAP accounts with real-time updates
  • AI Categorization: Automatic classification (Interested, Meeting Booked, Not Interested, Spam, Out of Office)
  • Advanced Search: Full-text search across all emails with fuzzy matching powered by Elasticsearch
  • Smart Notifications: Slack alerts and webhook triggers for important emails
  • Modern Dashboard: Dark-themed interface with email stats and quick filters

Tech Stack

Frontend

  • React 18.2 + TypeScript
  • Tailwind CSS
  • React Router
  • Axios

Backend

  • Node.js 22.x + Express + TypeScript
  • MongoDB (user & account data)
  • Elasticsearch 7.17 (search engine)
  • IMAP (email protocol)
  • Cerebras AI (Llama 3.3 70B)
  • Slack Web API
  • JWT Authentication

Prerequisites

  • Node.js v18+
  • MongoDB (local or cloud instance)
  • Elasticsearch 7.17+ (Docker or cloud)
  • Cerebras API Key (for AI categorization)
  • Slack Token (optional, for notifications)

Installation

Backend

git clone https://github.com/yourusername/InboxFlow.git
cd InboxFlow/backend
npm install

Frontend

cd frontend
npm install

Start Elasticsearch (Docker)

cd backend
docker-compose up -d

Configuration

Create a .env file in the backend directory:

# Database
MONGODB_URI=mongodb://localhost:27017/inboxflow

# Security
JWT_SECRET=your-jwt-secret-key
ENCRYPTION_KEY=your-32-character-encryption-key

# Elasticsearch
ELASTICSEARCH_NODE=http://localhost:9200

# AI Service
CEREBRAS_API_KEY=your-cerebras-api-key

# Notifications (Optional)
SLACK_TOKEN=your-slack-bot-token
SLACK_CHANNEL=your-channel-id
WEBHOOK_URL=your-webhook-url

Running Locally

Backend

cd backend
npm run dev

Frontend

cd frontend
npm run dev

The app will be available at http://localhost:5173


Deployment:

  • Frontend Deployment: Vercel or Netlify
  • Backend Deployment: Railway, Render or Heroku

Contributing:

  1. Fork the repository
  2. Clone the repository:
git clone https://github.com/ruthvik-mt/InboxFlow.git
cd InboxFlow
git remote add upstream https://github.com/ruthvik-mt/InboxFlow.git
  1. Now, if you run git remote -v you should see two remote repositories named:
  • origin (forked repository)
  • upstream (InboxFlow repository)

License

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

Made with ❤️ using Node.js, React & AI

Releases

No releases published

Packages

No packages published

Languages