It runs entirely on your machine. It remembers conversations from weeks ago. It learns when you work and quietly gets ready before you do. And when you ask it to actually do something β edit a file, run a command, message someone on WhatsApp β it does it.
No cloud. No subscription. No telemetry. Your mind stays yours.
Reading files, running shell commands, writing code β live, sandboxed, permission-gated.
βΆ Tap to play if the preview doesn't load
| π€ Typical AI Assistant | π§ Memo | |
|---|---|---|
| Memory | Forgets when the tab closes | Remembers for weeks (local RAG) |
| Your data | Sent to the cloud | Never leaves your machine |
| Works offline | β | β |
| Takes real actions | Generates text only | Edits files, runs commands, messages |
| Learns your habits | β | β Proactive engine |
| Cost | Monthly subscription | Free & open source |
|
Every chat is embedded into a local vector database. Mention a project from three weeks ago and Memo already has the context. How β |
A background observer learns your rhythms. After a week it knows when you code, plan, or take breaks β and anticipates. How β |
8 real tools in a secure sandbox: read/write files, run commands, search the web, message WhatsApp. You approve each step. How β |
π¬ Watch Memo recall who you are β across sessions:
π¬ A plan mentioned in chat becomes a calendar event β automatically:
Memo is the only assistant that comes to you. A background observer tracks when you're active β never what you say. Using circular (directional) statistics, it finds rhythms like "Mondays 9β10am, planning" or "Daily 9pmβ11pm, coding."
When confidence crosses a threshold, it decides: suggest something helpful, push a notification, or β at high confidence β auto-start the agent. It's opt-in, transparent, and patterns that fade are forgotten. It stores only topic labels and timestamps β never your raw text.
π¬ The Mood Engine & opt-in Self-Interest protocol in action:
A Chief model decomposes a complex task and delegates to 8 specialist roles, then synthesizes the result. Mix providers freely β Claude for reasoning, Gemini for speed, local llama.cpp for code. Independent roles run in parallel. Combine it with the Agent and the Chief plans while the Agent executes, step by step.
| Planner | Frontend | Backend | Bug Fixer | Reviewer | Security | DevOps | Generalist |
|---|
- 8 Providers, One Interface β OpenAI, Claude, Gemini, Grok, Groq, OpenRouter, Ollama, and bundled
llama.cpp. Auto-fallback on failure, auto-disable after 3 errors, live/modelswitching mid-chat. Keys encrypted with AES-256-GCM. - π€ Voice Input β on-device whisper.cpp. Press, speak, release. Auto-detects TR/EN. Audio never leaves your machine.
- βοΈ Cloud Sync β optional E2E-encrypted Google Drive backup. AES-256-GCM + PBKDF2 (600K iterations). Encrypted before upload β Google can't read it.
- π Privacy by Design β no telemetry, no analytics, no crash reporting. Config files at
0600. Incognito mode leaves zero trace. The observer stores activity timestamps, never message content.
No terminal. No build steps. llama.cpp is bundled. Download β extract β pick a model in the Store β chat.
| Platform | Package | Instructions |
|---|---|---|
| Linux | Memo-linux-x64.zip |
unzip Memo-linux-x64.zip -d Memo && cd Memo && ./run_memo.sh |
| Windows | Memo-windows-x64.zip |
Extract β run run_memo.bat |
| macOS | Memo-macos.zip |
unzip Memo-macos.zip -d Memo && cd Memo && open run_memo.command |
β οΈ Engine binaries (llama-server,vec0) are not included β add them manually.
π¦ Download engine binaries β extract intobinaries/<platform>/inside the Memo folder.
β Actions tab β pick a workflow β download Artifact.
π For developers β build from source
Prerequisites: Go 1.26+ Β· Flutter 3.10+ Β· SQLite dev libraries (for CGO)
git clone https://github.com/BugraAkdemir/memo.git
cd memo
# Terminal 1 β backend
CGO_ENABLED=1 go run . --port 8090
# Terminal 2 β frontend
cd frontend && flutter run -d linuxRelease packages:
./build_releases.sh # Linux β AppImage / deb / tar.gz
.\build_releases.bat # Windows β Inno Setup installer / zipTwo decoupled processes talk over plain HTTP/SSE on localhost:8090. No TLS (local only), no external router β pure net/http ServeMux. The frontend is a single-page Flutter app with Riverpod, Dio SSE streaming, and flutter_markdown.
π See the full architecture diagram
βββββββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββ
β Flutter Desktop (Linux/Windows) β β Flutter Mobile β
β Chat Β· Agent Β· Orchestra β β Chat Β· Notifications β
β Settings Β· Model Store β β Remote connect β
ββββββββββββββββ¬ββββββββββββββββββββ βββββββββββββ¬βββββββββββββββ
β REST + SSE (:8090) β LAN / ngrok
ββββββββββββββββ¬βββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββ
β Go Backend β 25 packages, ~90 endpoints β
β βββββββββββ ββββββββ ββββββββ ββββββββββ ββββββββ ββββββββββ β
β β Memory β βSess. β βLlama β βWhatsAppβ βAgent β βProviderβ β
β β vec0 β βJSON β βGPU β βwhatsmeowβ βPipe β βRouter β β
β βββββββββββ ββββββββ ββββββββ ββββββββββ ββββββββ ββββββββββ β
β Orchestra Β· ModelStore Β· CloudSync Β· Calendar Β· Mood β
β ngrok Β· Tailscale Β· Whisper Β· Skills Β· Intent Β· Observer β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Backend Go 1.26 | Frontend Flutter 3.10 | Vector DB SQLite + vec0 | Inference llama.cpp |
| State Riverpod 2.4 | HTTP Dio 5.4 / SSE | Voice whisper.cpp | WhatsApp whatsmeow |
| Cloud Drive + AES-256 | GPU nvidia/rocm/sysfs | License AGPL v3 | CI GitHub Actions |
π Deep dive: Architecture Β· API Reference Β· Design System Β· Roadmap Β· Changelog
Memo is AGPL-3.0 and contributions are welcome.
- π£οΈ Browse the Roadmap for what's planned
- π Pick a Known Issue as a good first task
- π‘ Float an idea in Discussions







