Engram

LOCAL AI PLATFORM FOR ANDROID — ON-DEVICE LLM · LONG-TERM MEMORY · MINI-APPS

Local sovereignty, full privacy. An Android platform where the AI engine — a LiteRT-LM model quantized to 4 bits — runs entirely on the phone. A personal assistant with personas and a real long-term memory, and a family of mini-apps that share the same brain over a local HTTP API.

> Highlights

  • 100% on-device LLM — LiteRT-LM engine, GPU-accelerated, with text / vision / audio depending on the model. Nothing leaves the phone by default.
  • Long-term semantic memory — memories are embedded and searched by meaning, with previews + full-text retrieval, tag search, time search and plain text search.
  • Memories with photos — a photo with its EXIF date and GPS as separate metadata; in chat, the engine displays only the best-matching memory’s image.
  • Personas & identity — gender, assistant name, editable personas with AI-generated intros. First-person system prompts.
  • Agent with tools — memory_search/get/tag_list/time_search/add/update/delete, web_search, web_fetch, get_datetime — in a real tool loop.
  • Overflow-proof context — preventive KV-cache rebuilds and a silent emergency trim + retry; the chat never crashes on long conversations.
  • Cloud models, opt-in — add any OpenAI-compatible endpoint (DeepSeek, Groq, Mistral, OpenRouter, Ollama…) from the settings; the UI warns that messages leave the device.

> The App Suite

AppRole
EngramLauncher, chat assistant, settings, personas, model manager
MemoryStandalone memory manager: 4 search modes, tag editing, AI auto-tagging, photos
VisionPhoto description with custom actions, memorization with EXIF + AI tags
VoiceVoice commands and skills, speech-to-text and TTS
SummarizerShare-to summarize: any text from any app

> Architecture

┌───────────────────────────────────────────────────────────────┐
│  Mini-apps (separate APKs)          Master app (com.engram.app)│
│  Vision · Voice · Summarizer        Chat · Launcher · Memory   │
│        │  HTTP (127.0.0.1)                  │                  │
└────────┼────────────────────────────────────┼──────────────────┘
         ▼                                    ▼
┌───────────────────────────────────────────────────────────────┐
│  EngramService (foreground) — core module                      │
│  NanoHTTPD API :8081  ·  Streaming SSE server :8082            │
│  AgentEngine (tool loop, memory rules, personas)               │
│  LlmBackend — LlmEngine (LiteRT-LM) or CloudLlmEngine (API)    │
│  EmbeddingEngine (EmbeddingGemma) · SQLite vector store        │
└───────────────────────────────────────────────────────────────┘

The engine exposes a full HTTP API on the device (/health, /store, /memory_query, /agent_chat, /auto_tags, …) — any app, or any external client on the same device, can talk to the brain.

> Source & Documentation

Models are not bundled: pick a LiteRT-LM model (Gemma-family, 4-bit) from HuggingFace and add it in Settings → LLM Models — or register a cloud endpoint.