Comprehensive, full-stack Software-as-a-Service (SaaS) application designed to automate and elevate professional correspondence.
Overview · Features · Architecture · Screenshots · Getting Started · Environment Variables · Documentation
AI Email Generator is a full-stack SaaS platform that helps users organize their emails, generate AI-assisted replies, and manage personalized correspondence using custom tones and personas.
The codebase is structured as a monorepo with two independently deployable services:
| Component | Technology | Role |
|---|---|---|
| Frontend | React 19, custom CSS | SPA with login, dashboards, email generation interface, 3D premium styling, protected routes, and responsive design. |
| Backend | Node.js 18+, Express | REST API handling auth (JWT), session management, OpenAI integration, and password recovery. |
Core Generation
- AI Replies — Context-aware, highly personalized email replies generated instantly by providing the incoming email context.
- Customization — Configurable tone and persona presets that control how AI outputs are formatted and structured.
Dashboard and UI
- Premium Aesthetics — 3D-styled user interface, glassmorphism, and a global dark/light theme toggle.
- Rich Text Editing — Pre-send email formatting capabilities using React Quill integration.
Security and Quality
- JWT Authentication — Secure account creation and session management using JSON Web Tokens and Bcrypt.js.
- Password Recovery — Automated reset links sent securely via Nodemailer.
The platform follows a decoupled client-server architecture:
| Layer | Frontend | Backend |
|---|---|---|
| Runtime / Framework | React 19 | Node.js, Express.js |
| Data / State | React Context/Hooks | MongoDB, Mongoose |
| Routing | React Router DOM | Express Router |
| UI / Styling | Custom CSS (Premium 3D) | — |
| Rich Text | React Quill | — |
| Icons | Lucide React | — |
| HTTP / Auth | Axios | JWT, bcryptjs |
| AI Integration | — | OpenAI API |
| Email Service | — | Nodemailer |
| Login Page | Dashboard |
|---|---|
![]() |
![]() |
| Profile Details |
|---|
![]() |
AI email generator/
├── README.md
├── screenshots/ # Add your images here
├── Backend/
│ ├── controllers/ # HTTP handlers
│ ├── models/ # Mongoose schemas
│ ├── routes/ # Route definitions
│ ├── middleware/ # Auth and validation middleware
│ ├── .env # Backend configuration
│ └── index.js # Application entry point
└── Frontend/
├── public/ # Static assets
├── src/
│ ├── components/ # Layout, UI, and feature modules
│ ├── pages/ # Route-level views
│ ├── App.jsx # Main React component
│ └── index.css # Global styles and 3D UI
├── .env # Frontend configuration
└── package.json
Prerequisites
- Node.js (v16.0.0 or higher recommended)
- MongoDB (Local instance or MongoDB Atlas)
- Active OpenAI API Key
- SMTP Credentials (for password recovery emails)
git clone <repository_url>
cd "AI email generator"cd Backend
npm installCreate a .env file and fill in the required values (see the Environment Variables section below).
npm run devThe API server starts on the port defined in .env (default is 5000).
cd ../Frontend
npm installCreate a .env file (if required) and configure your variables.
npm startOpen the provided local URL, typically http://localhost:3000.
Backend (Backend/.env)
| Variable | Description |
|---|---|
PORT |
Port the API server listens on (e.g., 5000) |
MONGO_URI |
MongoDB connection string |
JWT_SECRET |
Secret key for access token signing |
OPENAI_API_KEY |
Your OpenAI API key |
EMAIL_USER |
SMTP email address for password recovery |
EMAIL_PASS |
SMTP email password or app password |
Frontend (Frontend/.env)
(Currently utilizes hardcoded proxy or direct calls to http://localhost:5000)
| Document | Description |
|---|---|
Backend/README.md |
Backend architecture and API reference |
Frontend/README.md |
Frontend component structure and client configuration |


