Skip to content

originaonxi/echo

Repository files navigation

version license python status PRs welcome

Echo

The Open-Source AI That Works Like You

Echo reads your inbox, drafts replies in your voice, reads your calendar, and sends you a morning briefing.
You approve. Nothing sends without you.


The Problem

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.


What Echo Does

  • 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

Demo

$ 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.

Quick Start

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.py

You 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.


Architecture

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.


Roadmap

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.


Philosophy

Echo drafts. You decide.

This project exists because AI assistants should amplify your judgment, not replace it. Three principles guide every design decision:

  1. 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.

  2. 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.

  3. 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.


Contributing

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.


Author

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.


License

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.

Releases

No releases published

Packages

 
 
 

Contributors