An AI-Native Email Client for Modern Productivity
VectorMail is an enterprise-grade, AI-powered email client that leverages advanced semantic search, intelligent summarization, and automated email management to optimize inbox workflows and enhance productivity.
- Overview
- Key Features
- Technology Stack
- Getting Started
- Architecture
- Configuration
- Development
- Documentation
- Contributing
- License
- Support
VectorMail represents a paradigm shift in email management by integrating artificial intelligence at every layer of the application. Built on modern web technologies and powered by state-of-the-art language models, VectorMail transforms traditional email workflows into intelligent, context-aware interactions.
Leverages machine learning for intelligent email categorization, priority detection, and context-aware automated responses.
Implements vector-based search using pgvector, enabling users to find emails by meaning and context rather than exact keyword matching.
Unified dashboard for managing multiple email accounts across different providers with seamless account switching.
AI-assisted email writing with real-time suggestions, tone adjustment, and context-aware content generation.
Comprehensive insights into communication patterns, response times, and productivity metrics with visual dashboards.
Responsive, accessible interface built with Next.js 15 and Tailwind CSS, optimized for desktop and mobile experiences.
Enterprise-grade authentication powered by Clerk with support for OAuth, multi-factor authentication, and session management.
Instant email synchronization across devices with optimistic updates and conflict resolution.
- Framework: Next.js 15 with React 19
- Styling: Tailwind CSS with Radix UI primitives
- Animations: Framer Motion
- State Management: tRPC with React Query
- Authentication: Clerk
- API: tRPC for end-to-end type safety
- Database: PostgreSQL 16+ with Prisma ORM
- Vector Database: pgvector extension for semantic search
- Caching: Redis for session and query caching
- AI Integration: OpenAI GPT-4, Google Gemini
- Containerization: Docker with multi-stage builds
- CI/CD: GitHub Actions workflows
- Testing: Jest, React Testing Library, Playwright
- Code Quality: ESLint, Prettier, TypeScript strict mode
Ensure the following dependencies are installed on your system:
- Node.js: Version 20 or higher
- PostgreSQL: Version 16 or higher with pgvector extension enabled
- Redis: Optional but recommended for caching
- Package Manager: npm or bun
git clone https://github.com/parbhatkapila4/Vector-Mail.git
cd Vector-Mailnpm installCopy the example environment file and configure with your credentials:
cp .env.example .env.localRefer to the Configuration section for detailed environment variable documentation.
Execute the following commands to set up the database schema:
npm run db:push
npm run db:generatenpm run devThe application will be available at http://localhost:3000
For a containerized deployment with all dependencies configured:
docker-compose up -dThis command initializes:
- PostgreSQL database with pgvector extension
- Redis cache server
- VectorMail application server
The VectorMail architecture follows a layered approach with clear separation of concerns:
┌─────────────────────────────────────────────────────────────┐
│ Presentation Layer │
│ (Next.js Client) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ React │ │ tRPC API │ │ Clerk │ │ Tailwind │ │
│ │Components│ │ Client │ │ Auth │ │ CSS │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ API Layer (tRPC) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Account │ │ Email │ │ Search │ │
│ │ Router │ │ Router │ │ Router │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Business Logic Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Aurinko │ │ OpenAI │ │ Embedding │ │
│ │ Email API │ │ Gemini │ │ Service │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ Data Persistence Layer │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ Prisma │ │
│ │ + pgvector │ │ Cache │ │ ORM │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
Create a .env.local file in the project root with the following environment variables:
# Database Configuration
DATABASE_URL="postgresql://user:password@localhost:5432/vectormail"
# Authentication (Clerk)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
CLERK_SECRET_KEY="sk_test_..."
# Email Service (Aurinko)
AURINKO_CLIENT_ID="..."
AURINKO_CLIENT_SECRET="..."
# AI Services
OPENAI_API_KEY="sk-..."
GEMINI_API_KEY="..."
# Cache (Optional)
REDIS_URL="redis://localhost:6379"For a complete list of configuration options, refer to .env.example in the project repository.
| Command | Description |
|---|---|
npm run dev |
Start development server with hot reload |
npm run build |
Build production-optimized bundle |
npm run start |
Start production server |
npm run lint |
Execute ESLint for code quality checks |
npm run typecheck |
Run TypeScript type checking |
npm run format:write |
Format codebase with Prettier |
npm run db:push |
Synchronize Prisma schema with database |
npm run db:studio |
Launch Prisma Studio for database management |
VectorMail includes comprehensive test coverage across unit, integration, and end-to-end tests.
# Unit Tests (Watch Mode)
npm run test
# Unit Tests with Coverage Report
npm run test:ci
# End-to-End Tests (Headless)
npm run test:e2e
# End-to-End Tests (Interactive UI)
npm run test:e2e:uiDetailed documentation is available in the following resources:
- API Documentation: Complete API reference and endpoint documentation
- Architecture Guide: System design and architectural decisions
- Contributing Guide: Guidelines for contributing to the project
- Deployment Guide: Production deployment instructions
- Security Policy: Security practices and vulnerability reporting
Contributions to VectorMail are welcomed and appreciated. To contribute:
-
Fork the Repository
git clone https://github.com/YOUR_USERNAME/Vector-Mail.git
-
Create a Feature Branch
git checkout -b feature/your-feature-name
-
Implement Changes
- Follow the existing code style and conventions
- Add tests for new functionality
- Update documentation as needed
-
Commit Changes
git commit -m "feat: add your feature description"Follow Conventional Commits specification.
-
Push to Your Fork
git push origin feature/your-feature-name
-
Submit a Pull Request
- Provide a clear description of the changes
- Reference any related issues
- Ensure all CI checks pass
For detailed guidelines, please refer to the Contributing Guide.
This project is licensed under the MIT License. See the LICENSE file for complete terms and conditions.
VectorMail is built upon the shoulders of exceptional open-source projects and services:
- T3 Stack: Modern full-stack TypeScript development framework
- shadcn/ui: High-quality, accessible UI component library
- Aurinko: Unified email API service
- OpenAI: Advanced language model capabilities
- Google Gemini: Multimodal AI intelligence
For technical support, bug reports, or feature requests:
- Email: help@productionsolution.net
- GitHub Issues: Report an Issue
- Website: vectormail.parbhat.dev
- Production: https://vectormail.parbhat.dev/
- Repository: https://github.com/parbhatkapila4/Vector-Mail
- Issue Tracker: https://github.com/parbhatkapila4/Vector-Mail/issues
VectorMail - Redefining Email Productivity with Artificial Intelligence
Developed and maintained by Parbhat Kapila