Echo is a single Go binary (~15MB) that runs anywhere. SQLite for storage, FTS5 for search, optional vector embeddings, and a knowledge graph. No Docker required. No database server. No runtime dependencies.
Five layers, one binary. Everything from client ingestion to persistent storage runs through a single process with zero external dependencies.
Echo organizes information at three levels, from individual memories to interconnected knowledge to agent-ready context.
The atomic unit. A text blob with optional tags, metadata, and vector embedding. Indexed by FTS5 for instant keyword search and optionally by vector for semantic search.
Memories link to each other through typed relationships. "Informs," "contradicts," "supports," "supersedes." Traverse up to depth 2 to surface connections your keyword search would miss.
Purpose-built tools for AI agents: exit reports, decision traces, handoffs between agents, session kickoff with relevant context. Your agents inherit institutional memory.
10 MCP tools organized by category. Every tool is also available via REST API.
Recently hardened with 25 security fixes. Every layer is designed for multi-tenant isolation and defense in depth.
tenant_idPRAGMA foreign_keys = ON enforced_txlock=immediate for TOCTOU protectionFLY_APP_NAME check)Three deployment paths. You choose how your data moves. We never see it unless you ask us to host it.
Data stored on Fly.io persistent volumes in US-East. Encrypted in transit via HTTPS. Fly.io shared-cpu-1x, 256MB RAM.
Data never leaves your machine. No network calls. No telemetry. Run on Mac, Windows, Linux, or a Raspberry Pi.
Talk into your phone. Audio syncs to a watch folder, gets compressed (ffmpeg), transcribed (Whisper), extracted (Claude), and stored. You get a Telegram notification when it lands.
Data never leaves your machine. No outbound network calls. No phone-home. No telemetry.
Usage stats are per-tenant for your own billing visibility. We never send analytics externally.
API keys are SHA-256 hashed before storage. The raw key is shown exactly once at creation.
Vector search uses OpenAI text-embedding-3-small. If you opt out, FTS5 keyword search works without any external calls.
Stripe handles all billing. We never see, process, or store credit card information.
Cloud tier encrypts all data in transit. Fly.io persistent volumes for data at rest in US-East region.
From a single command to a Docker container. Pick the path that fits your stack.
Download. Run. Done. SQLite database auto-created on first launch.
Multi-stage Alpine build. Final image is ~8MB. Mount a volume for persistence.
We run it for you. Free tier included. Upgrade when you need more.
Echo runs 24/7 on real infrastructure. These are not aspirational features.
Read the docs, grab an API key, or download the binary. Five minutes to first API call.