LetterLab.Pro
A full-stack generative AI email assistant for the academic world. Three services — a React frontend, a Node.js API, and a Python AI worker — collaborate to draft and reply to academic email in a clean, role-specific UI.
Role
Solo founder
Stack
5 tools
Status
Live
Year
2025
Overview
A full-stack generative AI email assistant for the academic world. Three services — a React frontend, a Node.js API, and a Python AI worker — collaborate to draft and reply to academic email in a clean, role-specific UI. Designed to fit into existing workflows, this build focuses on real production behavior rather than a polished demo.
The Problem
Students and professionals spend a disproportionate amount of time triaging email, summarizing threads, and drafting context-appropriate replies. Existing AI tools either ignore thread context, leak data through scraping, or sit outside the inboxes people actually live in.
What I Built
- 01Role-based email generation (Student / Professor)
- 02Context-aware AI output for academic tone
- 03Three-service architecture: React + Node + Python worker
- 04Deployed live on Vercel with 100+ commits
Architecture
→ Client (React + Vite + MUI + Tailwind) hosted on Vercel → Express API on Render handling OAuth, token storage, mailbox sync → MongoDB for users, sessions, drafts, and analytics → Gmail API + Microsoft Graph for inbox + thread access → Gemini / OpenAI for summarization + draft generation → Strict server-side validation around all AI inputs and outputs
Engineering Decisions
OAuth over scraping
Used official Gmail and Microsoft Graph OAuth flows so accounts stay safe, scoped, and revokable instead of brittle scraping pipelines.
Thread-context drafting
Pulled full thread context server-side so AI drafts read like real replies, not generic responses with no memory of the conversation.
Render + Vercel split
Frontend on Vercel for fast edge delivery, Node API on Render for OAuth and webhook stability — trade-offs considered around latency and cost.
Results & Learnings
- Production system used through Gmail and Outlook accounts
- Hardened OAuth flows, token refresh, and error handling
- Clear separation between Vercel frontend and Render API
- Designed analytics and privacy pages for real-world usage