Sandbox
@off-grid-ai/OGAM

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.

3,078 stars296 forksTypeScriptUpdated 7d ago
Who it's for

People who want offline AI chat, vision, speech, and image tools on their own phone or Mac.

What it delivers

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

  1. 1Tests run across three platforms on every PR
    npm test              # Run all tests (Jest + Android + iOS)

README

Off Grid AI Logo

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.

GitHub stars License: MIT Google Play App Store Platform codecov Slack Pro


BUILT BY

Wednesday SolutionsWednesday Solutions



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

TaskFlagshipMid-range
Text generation (CPU)15-30 tok/s5-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 transcriptionReal-timeReal-time

Tested on Snapdragon 8 Gen 2/3, Apple A17 Pro. Results vary by model size and quantization.


Install

Download on the App StoreGet it on Google Play

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

CI codecov

Tests run across three platforms on every PR:

PlatformFrameworkWhat's covered
React NativeJest + RNTLStores, services, components, screens, contracts
AndroidJUnitLocalDream, DownloadManager, BroadcastReceiver
iOSXCTestPDFExtractor, CoreMLDiffusion, DownloadManager
npm test              # Run all tests (Jest + Android + iOS)

This project is tested with BrowserStack.


Documentation

DocumentDescription
Design SystemCanonical 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

Star History ChartStar History Chart

Off Grid AI — Your AI, your device, your data.

No cloud. No data harvesting. Just AI that works anywhere.

Join the Community on Slack

Files in the repo

Repository payload49 top-level entries
  • __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 it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More other

🎨 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.

95k
HKUDS/
Vibe-Trading

"Vibe-Trading: Your Personal Trading Agent"

33k
tinyhumansai/
openhuman

OpenHuman is an open source personal AI for Mac, Windows and Linux — local-first memory, agent orchestration, and deep research.

40k

Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities.

35k