🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first desktop app. 🖼️ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video — real files, HTML/PDF/PPTX/MP4 export. 🤖 Claude Code / Codex / Cursor / DeepSeek Harness / OpenCode & 20+ CLIs via BYOK.
Offline AI app for Android, iOS, and macOS
Off Grid AI is a complete local AI app, not a builder tool or agent workflow. It runs chat, vision, speech, image generation, and tool calling on device, with support for GGUF models, Whisper, Stable Diffusion, and local-network servers. It is packaged as a mobile and Mac app with native modules and platform-specific build setup.
People who want offline AI chat, vision, speech, and image tools on their own phone or Mac.
You can use AI features locally without an account, API key, or cloud upload.
What it does
Local text generation
Runs GGUF language models with streaming responses and model management on device.
Voice input
Uses on-device Whisper speech-to-text for tap-to-talk and hands-free modes.
Image generation
Generates images locally with Stable Diffusion and on-device acceleration where available.
Vision analysis
Lets you point the camera at objects, documents, or screens and ask questions.
Tool calling
Includes built-in tools like web search, calculator, date/time, device info, and knowledge base search.
Local network servers
Connects to OpenAI-compatible servers on the local network such as Ollama, LM Studio, and LocalAI.
How to get it
- 1Tests run across three platforms on every PR
npm test # Run all tests (Jest + Android + iOS)
README
Off Grid AI
The Swiss Army Knife of On-Device AI
Chat. Generate images. Use tools. See. Listen. All on your phone or Mac. All offline. Zero data leaves your device.
Off Grid AI Pro
A voice, personas, and actions. $69 for life, or $49/year.
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.
What Pro adds
- 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.
- Personal Mesh sync - your phone and your Mac share chats, files, and settings over your own network. There is no relay.
→ 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.
Not just another chat app
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.
What can it do?
![]() Onboarding | ![]() Text Generation | ![]() Image Generation |
![]() Vision AI | ![]() Attachments | ![]() Tool Calling |
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. Tap the microphone to start and stop, or use Auto and Hands-free modes. 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.
Performance
| 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.
Install
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.
Build from source
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 ios
Requires Node.js 20+, JDK 17 / Android SDK 36 (Android), and Xcode 15+ (iOS).
Testing
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 |
npm test # Run all tests (Jest + Android + iOS)
This project is tested with BrowserStack.
Documentation
| Document | Description |
|---|---|
| Design System | Canonical visual system and platform profiles |
Community
Join the conversation on Slack — ask questions, share feedback, and connect with other Off Grid AI users and contributors.
Contributing
Contributions welcome! Fork, branch, and open a pull request.
Acknowledgments
Built on the shoulders of giants: llama.cpp | whisper.cpp | llama.rn | whisper.rn | local-dream | ml-stable-diffusion | MNN | Hugging Face
Star History
Off Grid AI — Your AI, your device, your data.
No cloud. No data harvesting. Just AI that works anywhere.
Files in the repo
- __tests__
- .artifacts
- .bundle
- .claude
- .github
- .husky
- .vscode
- android
- demo-gifs
- docs
- fastlane
- ios
- patches
- scripts
- src
- .coderabbit.yaml
- .dependency-cruiser.js
- .eslintignore
- .eslintrc.js
- .gitattributes
- .gitignore
- .gitmodules
- .prettierrc.js
- .sonarcloud.properties
- .swiftlint.yml
- .watchmanconfig
- AGENTS.md
- altstore-source.json
- app.json
- App.tsx
- babel.config.js
- brand
- CLAUDE.md
- codecov.yml
- Gemfile
- Gemfile.lock
- index.js
- jest.config.js
- jest.setup.ts
- knip.json
- LICENSE
- metro.config.js
- package-lock.json
- package.json
- pro
- README.md
- rules.md
- sonar-project.properties
- tsconfig.json
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More other
"Vibe-Trading: Your Personal Trading Agent"
OpenHuman is an open source personal AI for Mac, Windows and Linux — local-first memory, agent orchestration, and deep research.

Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
macOS video editor built for AI






