Chat. Generate images. Use tools. See. Listen. All on your phone or Mac. All offline. Zero data leaves your device.
Pro is an optional, additive tier. It gives the assistant a voice that talks back, personas you shape, and the tools to draft real actions you approve. One license covers your phone and your Mac. All on-device.
- Voice mode - the free app transcribes your speech; Pro adds on-device Kokoro text-to-speech, so it talks back and you run the whole thing hands-free. The voice runs in your phone's RAM.
- Custom personas - give each assistant its own system prompt, voice, and persistent memory, so it stays in character across conversations.
- Draft, then approve - connect Calendar, email, and MCP servers like Linear, Notion, and GitHub. It drafts the reply or files the ticket and waits. Nothing sends without your tap.
- Sync, landing through July - your phone and your Mac merge into one picture over your own network, never a relay. Your license includes it the day it ships.
→ Get Pro access - $69 once and it is yours forever (the price climbs as more people join, never down), or $49/year.
Pair it with Off Grid AI Desktop on your Mac. One Pro license covers both.
Most "local LLM" apps give you a text chatbot and call it a day. Off Grid AI is a complete offline AI suite — text generation, image generation, vision AI, voice transcription, tool calling, and document analysis, all running natively on your phone's or Mac's hardware.
Text Generation — Run Qwen 3, Llama 3.2, Gemma 3, Phi-4, and any GGUF model. Streaming responses, thinking mode, markdown rendering, 15-30 tok/s on flagship devices. Bring your own .gguf files too.
GPU & NPU Acceleration — Your phone has silicon sitting idle. Off Grid uses it. Adreno GPUs via OpenCL run 20-40 tok/s on a Snapdragon 8 Gen 2+, against 15-30 on CPU; Apple Silicon uses Metal. The app detects what your device has and defaults to the fastest backend that works, and you can override it in Settings. The Hexagon NPU (Snapdragon) is there too, marked experimental because it is — it only accelerates Q4_0 and Q8_0 quants, a K-quant silently falls back to CPU, and some model architectures come out garbled on it. Models that can actually use the GPU or NPU are badged in the model list, so you pick the right quant before you download 4GB.
Remote LLM Servers — Connect to any OpenAI-compatible server on your local network (Ollama, LM Studio, LocalAI). Discover models automatically, stream responses via SSE, store API keys securely in the system keychain. Switch seamlessly between local and remote models.
Tool Calling — Models that support function calling can use built-in tools: web search, calculator, date/time, device info, and knowledge base search. Automatic tool loop with runaway prevention. Clickable links in search results.
Project Knowledge Base — Upload PDFs and text documents to a project's knowledge base. Documents are chunked, embedded on-device with a bundled MiniLM model, and retrieved via cosine similarity — all stored locally in SQLite. The search_knowledge_base tool is automatically available in project conversations.
Image Generation — On-device Stable Diffusion with real-time preview. NPU-accelerated on Snapdragon (5-10s per image), Core ML on iOS. 20+ models including Absolute Reality, DreamShaper, Anything V5.
Vision AI — Point your camera at anything and ask questions. SmolVLM, Qwen3-VL, Gemma 3n — analyze documents, describe scenes, read receipts. ~7s on flagship devices.
Voice Input — On-device Whisper speech-to-text. Hold to record, auto-transcribe. No audio ever leaves your phone.
Document Analysis — Attach PDFs, code files, CSVs, and more to your conversations. Native PDF text extraction on both platforms.
AI Prompt Enhancement — Simple prompt in, detailed Stable Diffusion prompt out. Your text model automatically enhances image generation prompts.
Memory You Can See and Control — A phone has finite RAM, and a 4GB model does not politely share it. The model manager shows you what is resident right now and what each one is costing you in RAM, with a per-model eject. Model Loading picks the policy: Lean keeps one model in memory at a time, Balanced co-resides models that fit and swaps the ones that don't, Aggressive commits a larger share of RAM so bigger models load. If a load is refused, Load Anyway overrides it — your device, your call. When a model gets evicted mid-conversation, the chat says so and offers to bring it back rather than silently failing.
Download Manager — Three downloads run at once, the rest FIFO-queue and show as Queued instead of quietly stalling. Pause, resume, retry, cancel. Downloads survive backgrounding the app.
| Task | Flagship | Mid-range |
|---|---|---|
| Text generation (CPU) | 15-30 tok/s | 5-15 tok/s |
| Text generation (GPU / OpenCL) | 20-40 tok/s | — |
| Image gen (NPU) | 5-10s | — |
| Image gen (CPU) | ~15s | ~30s |
| Vision inference | ~7s | ~15s |
| Voice transcription | Real-time | Real-time |
Tested on Snapdragon 8 Gen 2/3, Apple A17 Pro. Results vary by model size and quantization.
Or grab the latest APK from GitHub Releases.
macOS: The iOS App Store version runs natively on Apple Silicon Macs via Mac Catalyst / iPad compatibility.
git clone https://github.com/off-grid-ai/OGAM.git
cd OGAM
npm install
# Android
cd android && ./gradlew clean && cd ..
npm run android
# iOS
cd ios && pod install && cd ..
npm run iosRequires Node.js 20+, JDK 17 / Android SDK 36 (Android), Xcode 15+ (iOS). See full build guide.
Tests run across three platforms on every PR:
| Platform | Framework | What's covered |
|---|---|---|
| React Native | Jest + RNTL | Stores, services, components, screens, contracts |
| Android | JUnit | LocalDream, DownloadManager, BroadcastReceiver |
| iOS | XCTest | PDFExtractor, CoreMLDiffusion, DownloadManager |
| E2E | Maestro | Critical path flows (launch, chat, models, downloads) |
npm test # Run all tests (Jest + Android + iOS)
npm run test:e2e # Run Maestro E2E flows (requires running app)This project is tested with BrowserStack.
| Document | Description |
|---|---|
| Architecture & Technical Reference | System architecture, design patterns, native modules, performance tuning |
| Codebase Guide | Comprehensive code walkthrough |
| Design System | Brutalist design philosophy, theme system, tokens |
| Visual Hierarchy Standard | Visual hierarchy and layout standards |
Join the conversation on Slack — ask questions, share feedback, and connect with other Off Grid AI users and contributors.
Contributions welcome! Fork, branch, PR. See development guidelines for code style and the codebase guide for patterns.
Built on the shoulders of giants: llama.cpp | whisper.cpp | llama.rn | whisper.rn | local-dream | ml-stable-diffusion | MNN | Hugging Face
Off Grid AI — Your AI, your device, your data.
No cloud. No data harvesting. Just AI that works anywhere.






