FlowMate: AI Email SaaS Built Solo in 6 Months
How I built a production SaaS that turns 200 emails into 5 decisions
300+
Development Hours
4
Platforms Unified
6
Months to Launch
30min
Time to Learn
Personal learning project. The product is paused; the landing page remains live as a demo.

The Problem
Working in IT support, I was drowning in email. Multiple inboxes demanding attention. Constant context-switching between Gmail, Slack, and Telegram. Customer service emails piling up faster than I could respond. Hours lost every day just managing communication instead of actually doing meaningful work.
The pain was real: jumping between 4+ platforms daily, writing the same types of responses repeatedly, missing important emails buried under newsletters, and no way to broadcast updates across all channels without copying and pasting the same message four times.
I didn't need another email client with a prettier interface. I needed something that would actually reduce the work. A unified hub where AI handles the boring parts so I could focus on decisions, not inbox management.
The Solution
FlowMate unifies Gmail, Outlook, Slack, and Telegram into a single intelligent hub. AI handles categorization, generates professional replies, summarizes long threads, and lets you broadcast to all platforms with one click.
The core idea: reduce 200 emails to 5 actual decisions. Let AI categorize what's urgent, what needs action, what's just FYI. Draft responses you can send or edit. Broadcast announcements everywhere without writing four different messages.
“Best feature is the broadcast, how easy it is to send to all platforms with different styles for each one automatically.”
- Early User Feedback, LinkedIn
Technical Challenges
Security Was Non-Negotiable
Handling people's email means handling their most sensitive data. OAuth tokens, personal messages, business communications. One security breach and the product is dead.
Every decision prioritized protection: AES-256-GCM encryption for all OAuth tokens with PBKDF2 key derivation. Row Level Security policies on every user table in the database. CSRF protection using 256-bit random state parameters. Rate limiting at 200 requests per minute per IP. Middleware-level bot blocking for 50+ known malicious crawlers. Constant-time comparisons to prevent timing attacks on authentication flows.
Multi-Provider OAuth Complexity
Each platform has different OAuth flows, different scopes, different edge cases. Gmail requires validating that the authenticated account matches the user's email. Slack needs signed state parameters to work in incognito mode. Telegram uses phone-based authentication with 2FA support instead of standard OAuth.
I built a unified token management system that handles all four providers with encrypted storage, automatic token refresh, and graceful degradation when individual services fail.
State Management at Scale
FlowMate has 10 different views, 4 platforms syncing simultaneously, real-time updates, draft management, AI chat history, and user preferences, all needing to stay in sync without performance degradation.
The solution combined several patterns: optimistic sync (save locally first, sync to database in background), IndexedDB paired with Supabase for offline-first architecture with cloud as source of truth, per-user storage keys for multi-tenant isolation, and circuit breakers with exponential backoff for graceful API failure handling.
AI Cost Optimization
AI features are expensive at scale. Running every email through a large language model would bankrupt the project before it launched. I implemented a model fallback chain: Claude 3 Haiku first at $0.25 per million tokens, escalating to Claude 3.5 Haiku at $0.80 only when needed, with heuristic fallbacks for simple categorization tasks.
The result: 99.5% reliability on natural language email queries while keeping costs sustainable for a subscription business.
The Build
Solo development from architecture through deployment. Every decision (database schema, authentication flow, AI prompts, payment integration, error handling) made by one person with full context of the entire system.
This approach has tradeoffs. Slower than a team, but no communication overhead. Every part of the codebase fits together because one mind designed it. Technical debt is minimal because I had to live with every shortcut.
July 2025 → January 15, 2026
300+ hours
| Layer | Choice |
|---|---|
| Framework | Next.js 15 + React 19 |
| Database | Supabase (PostgreSQL) |
| Authentication | Clerk |
| AI Provider | OpenRouter |
| Payments | Stripe |
| Hosting | Vercel |
What Got Built
112
API Routes
166
React Components
23
Database Tables
44
Migrations
20
Custom Hooks
Unified inbox for Gmail, Outlook, Slack, Telegram
AI categorization: Priority, Action Required, Newsletters, Social, FYI
Smart replies with professional tone matching
Natural language email search (99.5% accuracy)
Multi-turn AI chat with conversation memory
Broadcast system: compose once, send everywhere
Three-tier subscription with Stripe
Complete admin dashboard
Results & Lessons
User feedback validated the core thesis: Broadcast was the killer feature. The ability to compose once and send to Email, Slack, and Telegram, with AI generating platform-specific variations automatically, saved the most time. I invested heavily in making that flow feel effortless.
The strongest signal: users understand the entire app in about 30 minutes. No commands to memorize. No complex onboarding flow. Connect your accounts and start working. Simplicity was harder to build than complexity, but worth it.
Ship Smaller, Validate Faster
Launched with 10 views and 4 integrations. Could have validated the core idea with Gmail + AI alone, then expanded based on real usage patterns.
Users Find What You Miss
Built in isolation for months. Real users found bugs and UX friction points within days that I'd completely missed. Earlier feedback would have saved rework.
Features Aren't Value
Spent time building features before nailing the messaging. The broadcast feature was valuable because it solved a clear problem, not because it was technically impressive.
Technical Stack
Frontend
Backend
AI & LLM
Integrations
Infrastructure
Building a SaaS or Complex Web Application?
I bring the same architecture thinking, security focus, and attention to user experience to every project.