
Memo's hardware needs depend entirely on how you run chat — connecting an external API provider (OpenAI, Claude, Gemini, OpenRouter, and others) needs barely anything, while running a chat model fully locally needs real RAM and, ideally, a GPU. These are two genuinely different profiles, not one number with wiggle room, so they're broken out separately below. Either way, memory (RAG) itself is always local and always lightweight — see "Embedding Model Requirements" further down this page.
If you connect a cloud provider for chat (OpenAI, Claude, Gemini, Grok, Groq, OpenRouter, and so on) and only run the small local embedding model for memory, Memo is genuinely light:
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 1 GB | 4 GB |
| Disk space | 1 GB free | 2 GB free |
| CPU | Any x86-64 or ARM64 | Any modern multi-core |
| GPU | Not needed | Not needed |
| Internet | Required — every chat message goes to your provider | Broadband |
The 1 GB minimum covers the backend/Flutter app's own footprint plus the ~500 MB the local embedding model needs — there's no chat model to load into RAM at all in this mode. This is the realistic floor for most users who'd rather not download a multi-gigabyte local model, and it's genuinely usable at that floor, not just technically bootable.
If you'd rather run the chat model itself on your own machine — fully offline, no API costs, no data leaving your device — the requirements below apply on top of the API-provider baseline:
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB |
| Disk space | 4 GB free | 20 GB free (models range from 1–15 GB each) |
| CPU | x86-64 with AVX2 support (Intel Haswell 2013+ or AMD Excavator 2015+) | x86-64 with AVX2, 8+ cores |
| GPU | Not required — CPU inference works | NVIDIA with 6 GB+ VRAM (CUDA 11.7+) |
| Internet | Required only for model downloads | Broadband for model downloads |
With 8 GB RAM, you can run quantized models up to ~3B parameters comfortably on CPU. With a GPU, llama.cpp offloads layers to VRAM, dramatically increasing inference speed — a 6 GB VRAM GPU handles 7–8B parameter models at interactive speeds.
Nothing stops you from mixing the two: a cloud provider for chat with a local embedding model for memory (the lightest, most common real-world setup), a fully local setup for both, or switching between a local and a cloud model per conversation. See "Model Size vs. Hardware Guide" below for exactly what a given local model size costs in RAM/VRAM.
| OS | Version | Status |
|---|---|---|
| Windows | 10, 11 (x86-64) | ✅ Full support |
| Linux | Debian 11+, Ubuntu 20.04+, Fedora 38+, Arch | ✅ Full support |
| macOS | Apple Silicon (M1+) and Intel (x86-64) | ✅ Universal binary |
| Android | 8.0+ (API 26+) | ✅ Companion only |
On a fresh Linux install, you may need these system libraries:
# Debian / Ubuntu
sudo apt install libgtk-3-0 libblkid1 liblzma5 libgcrypt20
# Fedora
sudo dnf install gtk3 libblkid xz-libs libgcrypt
# Arch
sudo pacman -S gtk3 util-linux xz libgcrypt
These are typically already present on desktop Linux. The AppImage bundles most dependencies.
| GPU Vendor | API | Supported | Memory Required |
|---|---|---|---|
| NVIDIA | CUDA | ✅ Yes | 4 GB+ VRAM recommended |
| AMD | ROCm / Vulkan | ✅ Yes (via llama.cpp) | 4 GB+ VRAM recommended |
| Apple | Metal (MPS) | ✅ Yes | Unified memory |
| Intel | SYCL / Vulkan | ⚠️ Experimental | Varies |
For NVIDIA GPUs, install CUDA Toolkit 11.7+ and NVIDIA drivers 525+. For AMD, ROCm 5.7+ is recommended. Apple Silicon works out of the box via Metal.
| Model Size | RAM (CPU only) | RAM + VRAM (GPU offload) | Typical Speed |
|---|---|---|---|
| 1–3B (Gemma 3 4B, Phi-3 mini) | 4–6 GB | 4 GB RAM + 2 GB VRAM | Fast on CPU, instant on GPU |
| 7–8B (Llama 3.1 8B, Qwen 3 8B) | 8–12 GB | 8 GB RAM + 4 GB VRAM | Usable on CPU, fast on GPU |
| 12–14B (Qwen 2.5 14B) | 12–16 GB | 12 GB RAM + 6 GB VRAM | Slow on CPU, fast on GPU |
| 32B+ | 24+ GB | 16 GB RAM + 12 GB VRAM | Requires GPU |
The Model Store shows hardware-fit badges for each download — "Fits your device", "CPU OK", or "Too large" — computed from your detected RAM and VRAM.
The RAG memory system uses a separate embedding model (e.g., nomic-embed-text-v1.5). This is a ~137M parameter model that runs on CPU efficiently regardless of GPU presence. It requires ~500 MB RAM and processes ~100 tokens/second on a modern CPU.
Embedding models are lightweight by design. You can run cloud AI for chat (OpenAI, Claude) while a local embedding model handles memory independently — giving you the best of both worlds.
The data directory grows with usage:
| Component | Initial | After 1 Month (est.) |
|---|---|---|
| Models | 2–16 GB | Depends on downloads |
| Memory (RAG store) | < 1 MB | ~50–200 MB |
| Sessions (chat history) | < 1 MB | ~10–100 MB |
| WhatsApp messages | 0 | ~50–500 MB |
| Calendar events | < 10 KB | < 1 MB |
| Cloud sync cache | 0 | ~10 MB |
Memory consolidation runs daily, merging near-duplicate embeddings (cosine similarity ≥ 0.92) to keep the RAG store compact.