Back to projects

AI Productivity

Email Responder

A Chrome extension that learns your writing style from sent emails and auto-generates personalized Gmail draft replies. Supports 8 different AI providers, knowledge base uploads, and multi-account switching.

Email Responder — All in One AI email reply tool
All-in-one Chrome extension for AI-powered email replies

Type

Chrome Extension

Platform

Gmail (MV3)

AI Providers

8 supported

Auto-reply

Every 10 min

Why I built this

I was spending too much time writing repetitive email replies that all followed the same pattern — my pattern. I wanted a tool that could learn my actual writing style from my sent emails, then draft replies that sound like me. Not generic AI text, but replies with my greeting style, my vocabulary, and my level of formality.

How it works

1

Sign in and connect your Gmail

Sign in with Google
One-click Google OAuth sign-in
Dashboard welcome screen
Clean onboarding with 3-step overview
2

Learn your writing style

Tone profile analysis in progress
Analyzes 50-500 sent emails to build your unique tone profile
3

Auto-draft replies in your tone

Processing emails and generating drafts
Auto-reply runs every 10 minutes, processing emails with custom reply instructions
4

Add context with a knowledge base

Knowledge base management
Upload company docs, FAQs, or product info to improve reply accuracy

Key features

Tone learning

Analyzes sent emails to extract formality, greetings, vocabulary, humor, and characteristic phrases

8 AI providers

Claude, OpenAI, Gemini, Grok, DeepSeek, Qwen, Kimi, GLM — switch anytime

Knowledge base

Upload company docs, product info, or FAQs as .md/.txt/.zip to improve reply quality

Multi-account

Switch between Gmail accounts with independent settings and tone profiles for each

Smart filtering

Skips newsletters, automated emails, non-English, calendar invites, and thank-you messages

Activity log

Tracks last 50 actions — which emails were drafted, which were skipped, and why

Tech stack

Extension

Chrome ExtensionGmail API

AI Providers

Claude AIGoogle GeminiMulti-LLM

Also supports OpenAI, Grok, DeepSeek, Qwen, Kimi, and GLM

APIs and Storage

Chrome

Chrome Identity (OAuth2), Chrome Storage, Chrome Alarms

Architecture

Manifest V3 Chrome extension with service worker background script. No build step — vanilla JavaScript with ES modules.

Unified callLLM() abstraction handles 8 different AI API formats (Anthropic, OpenAI-compatible, Gemini's schema). Includes 429 rate-limit retry logic.

All data stays local — API keys, tone profiles, and processed email IDs stored in chrome.storage.local. Nothing sent to any server except the chosen AI provider.

Multi-layer filtering: sender patterns (noreply, newsletters), subject patterns (OOO, verify), language detection (English-only via word frequency), and AI-powered triage (newsletter vs. actionable).

Chrome Alarms schedule auto-reply every 10 minutes and tone profile refresh weekly. Rate-limited at 15-30s between emails per batch.

Interesting details

  • -Custom English language detection using word frequency analysis — rejects emails with too many accented characters or insufficient common English words.
  • -Lightweight ZIP parser for knowledge base uploads using DataView — extracts .md and .txt files without any external library.
  • -Thread-aware replies: checks full conversation context, skips if already replied, groups by thread ID to avoid duplicate drafts.
  • -Email signature stripping removes patterns like "Sent from my iPhone" and "Get Outlook for iOS" before tone analysis to keep the profile clean.

What I learned

  • -Chrome Manifest V3 service workers have no persistent state — all in-memory data disappears on sleep. Design around chrome.storage from the start.
  • -The hardest part of an auto-reply tool isn't generating replies — it's deciding which emails NOT to reply to.
  • -Supporting multiple LLM providers taught me how different their API formats really are, even when they claim OpenAI compatibility.
Chrome ExtensionGmail APIClaude AIGoogle GeminiMulti-LLMChrome