Echo reads your inbox, drafts replies in your voice, reads your calendar, and sends you a morning briefing.
You approve. Nothing sends without you.
You wake up. There are 200 emails. You have 8 meetings before lunch. Somewhere between the fourth "per my last email" and the third calendar conflict, you realize: there is zero time left for thinking.
You are not doing your job. You are doing the overhead of your job.
Every knowledge worker knows this feeling. You did not study for years, build hard-won expertise, and climb through your career just to become a professional email-replier. Yet here you are -- triaging, drafting, scheduling, and context-switching until the actual work gets pushed to nights and weekends.
What if an AI already knew how you write, what you care about, and what your day looks like?
What if it did the first pass -- and you just approved?
That is Echo.
- Reads your inbox -- connects to Gmail via IMAP and pulls unread messages
- Drafts replies in your voice -- learns your tone, sentence patterns, and vocabulary from past emails
- Reads your calendar -- pulls today's meetings, attendees, and conflicts from Google Calendar
- Generates a morning briefing -- a single, structured summary of what matters today
- Prioritizes intelligently -- separates urgent threads from noise so you focus on what counts
- Respects your authority -- every draft is a suggestion. Nothing sends without your explicit approval
- Keeps your data local -- no cloud sync, no third-party storage, no training on your data
$ python3 echo.py
███████╗ ██████╗██╗ ██╗ ██████╗
██╔════╝██╔════╝██║ ██║██╔═══██╗
█████╗ ██║ ███████║██║ ██║
██╔══╝ ██║ ██╔══██║██║ ██║
███████╗╚██████╗██║ ██║╚██████╔╝
╚══════╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝
v0.1
┌─────────────────────────────────────────────┐
│ ECHO — Morning Briefing │
│ Thursday, March 19, 2026 · 7:02 AM │
├─────────────────────────────────────────────┤
│ │
│ INBOX: 47 unread · 6 need replies │
│ │
│ ★ VP Eng asking for Q2 roadmap deck │
│ → Draft ready. Tone: direct, concise. │
│ │
│ ★ Candidate follow-up (Staff SWE role) │
│ → Draft ready. Tone: warm, recruiting. │
│ │
│ ○ 3 vendor cold emails — archived. │
│ ○ 1 newsletter — filed. │
│ │
├─────────────────────────────────────────────┤
│ │
│ CALENDAR: 4 meetings today │
│ │
│ 09:00 1:1 with Sarah (Eng) │
│ 10:30 Architecture Review — you present │
│ 13:00 Hiring Sync │
│ 15:00 ⚠ CONFLICT — 2 overlapping invites │
│ │
├─────────────────────────────────────────────┤
│ │
│ ACTIONS WAITING: │
│ [1] Review & send VP Eng reply │
│ [2] Review & send candidate reply │
│ [3] Resolve 15:00 calendar conflict │
│ │
└─────────────────────────────────────────────┘
Approve, edit, or skip. You are in control.
git clone https://github.com/anmolchaudhary/echo.git
cd echo
pip install -r requirements.txt
cp .env.example .env # Add your API keys and email config
python3 echo.pyYou will need:
- An OpenAI API key (for LLM-powered drafting)
- Gmail App Password (for IMAP access)
- Google Calendar API credentials (for calendar reads)
See .env.example for all configuration options.
Echo is built on five cooperating agents, each with a single responsibility:
┌──────────────┐ ┌──────────────┐ ┌────────────────┐
│ InboxAgent │────▶│ ReplyAgent │────▶│ BriefingAgent │
└──────────────┘ └──────────────┘ └────────────────┘
│ ▲
▼ │
┌──────────────┐ ┌────────────────┐
│ StyleMemory │ │ CalendarAgent │
└──────────────┘ └────────────────┘
| Agent | What It Does |
|---|---|
| InboxAgent | Connects to Gmail via IMAP. Fetches unread messages, parses threads, extracts sender context, and ranks by urgency. Filters out noise before anything else runs. |
| ReplyAgent | Takes priority emails from InboxAgent and generates draft replies. Uses StyleMemory to match your writing patterns -- your words, your cadence, your level of formality per recipient. |
| CalendarAgent | Pulls today's schedule from Google Calendar. Identifies conflicts, flags meetings where you are a presenter, and surfaces attendee context relevant to inbox threads. |
| BriefingAgent | Synthesizes outputs from all other agents into a single morning briefing. Ranks action items, formats the terminal dashboard, and queues drafts for your approval. |
| StyleMemory | Persistent memory layer that learns how you write. Stores tone profiles, per-recipient preferences, common phrases, and sign-off patterns. Improves with every approved or edited draft. |
All agents run locally. No data leaves your machine except the LLM API calls, which contain only the minimum context needed for generation.
| Version | What Ships |
|---|---|
| v0.1 (current) | IMAP inbox read, calendar read, LLM drafting, terminal briefing, local StyleMemory |
| v0.2 | Gmail send via API -- approve a draft and it sends directly, no copy-paste |
| v0.3 | Slack integration -- pull DMs and channel mentions into your briefing |
| v1.0 | Full professional clone -- handles your email, calendar, Slack, and task management as a unified AI assistant |
Want to help get there? Check the issues or open a PR.
Echo drafts. You decide.
This project exists because AI assistants should amplify your judgment, not replace it. Three principles guide every design decision:
-
Human-in-the-loop, always. No email sends, no calendar event accepts, no message posts without your explicit approval. Echo is an advisor, not an actor.
-
Your voice, not a robot's. Generic AI replies are worse than no reply. Echo learns your patterns so that every draft sounds like something you actually wrote.
-
Your data stays yours. Echo runs on your machine. StyleMemory lives on your disk. There is no cloud dashboard, no analytics platform, no "we may use your data to improve our models." Your professional communication is yours alone.
Echo is early. If you care about reclaiming your mornings from inbox chaos, there is a lot to build:
- Better style learning from small sample sets
- Support for Outlook / IMAP providers beyond Gmail
- Calendar write operations (accept, decline, reschedule)
- Multi-language support for drafting
- A lightweight web UI for non-terminal users
Read CONTRIBUTING.md to get started, or just open a PR. We keep it simple.
Anmol Chaudhary -- CTO @ Aonxi, Ex-Meta, Ex-Apple
Built because I was tired of spending the first two hours of every day on email instead of engineering.
MIT License. See LICENSE for details.
Use it, fork it, build on it. If Echo saves you an hour a day, tell a friend.
Star this repo if you want your mornings back.