Case Study

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

SaaSAI IntegrationFull-StackMulti-Platform

Personal learning project. The product is paused; the landing page remains live as a demo.

FlowMate: AI Email SaaS Built Solo in 6 Months

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.

Learn more about AI integration services →

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 2025January 15, 2026

300+ hours

LayerChoice
FrameworkNext.js 15 + React 19
DatabaseSupabase (PostgreSQL)
AuthenticationClerk
AI ProviderOpenRouter
PaymentsStripe
HostingVercel

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

Next.js 15React 19TypeScriptTailwind CSSFramer MotionRadix UI

Backend

Node.jsSupabase (PostgreSQL)Vercel Edge Functions

AI & LLM

OpenRouterClaude 3 HaikuVercel AI SDK

Integrations

Gmail APIMicrosoft GraphSlack APITelegram MTProto

Infrastructure

VercelStripeClerkSentryResend

Building a SaaS or Complex Web Application?

I bring the same architecture thinking, security focus, and attention to user experience to every project.