Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

a-ghorbani/pocketpal-ai

Productivity & Utilities

An open-source mobile app that runs GGUF language models, speech recognition and TTS entirely on a phone.

9,205
1,069
TypeScript
MIT
2 years old

What PocketPal AI is

PocketPal AI is a React Native app for iOS and Android that runs language models locally instead of sending prompts to a server. It supports quantized GGUF models (Gemma, Qwen, Phi, Llama and others), on-device speech recognition through whisper.cpp, neural text-to-speech, and tool calling inside a chat loop. It is aimed at people who want a private chat assistant, and at developers who want to study or extend an on-device inference stack.

The app is organized as four layers: a React Native UI and tool-use layer, native bridges such as llama.rn and whisper.rn, inference engines (llama.cpp, whisper.cpp, ONNX Runtime, Phonon), and hardware backends covering CPU, GPU (Metal on iOS, OpenCL on Android) and NPU (Qualcomm Hexagon). A AgentRunner handles streaming tokens and dispatching "Talents" (calculator, date/time, HTML rendering, optional web search and page reading) when the model calls a tool.

Quick start

The fastest route is to install the store build and download a model inside the app:

  1. Install PocketPal from the App Store or Google Play.
  2. Open the menu (☰) → Models, choose a model that fits your phone's memory and storage, and download it. Alternatively use + to add a GGUF model from Hugging Face or local storage.
  3. Tap Load, or use the chevron next to the chat input, then open Chat and start typing.

For gated Hugging Face models, create an access token per the Hugging Face token docs, then paste it under Settings → Set Token. Core on-device chat works without backend keys or an account.

To build from source, use Node from the pinned .nvmrc and Yarn 1 Classic, then:

git clone https://github.com/a-ghorbani/pocketpal-ai
cd pocketpal-ai
nvm use
yarn install
(cd ios && pod install)   # iOS only
yarn start
yarn ios                  # or: yarn android

iOS builds need Xcode with the Metal Toolchain and an Apple silicon Mac for the simulator; Android needs Android Studio plus the SDK/NDK. See the React Native environment setup for platform prerequisites.

Using constraints

  • Model choice is constrained by device memory and storage; the app asks you to pick a quantization that fits, and hardware backends fall back or offload partial layers when a full backend is unavailable.
  • Privacy claims have exceptions: web search, page reading, a remote server, or an online system voice send data off-device. Model and voice downloads, PalsHub, purchases, launch-time device-compatibility rules fetched from a CDN, the opt-in benchmark leaderboard, and submitted feedback also use the network but do not attach chats.
  • The store builds offer an optional one-time "PocketPal Plus" purchase for hands-free voice; builds from source include those features.
  • Developers must rebuild native code after changing package.json, native modules, ios/, android/, the Podfile or build.gradle; a JS reload is not enough. Before a PR, run yarn lint && yarn typecheck && yarn test.
  • The project is MIT-licensed and localized into 16 languages, with a Weblate workflow for translations.

HotRepo's take

PocketPal AI was recorded on the TypeScript daily list on 2026-11-10 at 9,157 stars and 1,063 forks, with 50 stars gained that day and a best position of 10 on that list. With no all-language daily rank recorded, the visible signal is a single language-list snapshot rather than a sustained trend. The repository backs that attention with a concrete on-device stack — llama.cpp over GGUF, whisper.cpp, ONNX-based voices and explicit CPU/GPU/NPU fallbacks — rather than just an app shell, which makes it relevant to readers comparing local-inference mobile clients and to developers looking for a maintained React Native reference implementation.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

You might also like

  1. orailnoor/cross-platform-llm-clientA Flutter AI chat client that runs GGUF models on-device on Android/iOS and switches to OpenAI, Anthropic, Gemini, or Kimi cloud APIs.C++1,525
  2. techjarves/Portable-Local-StudioRun Stable Diffusion images, GGUF chat, Whisper transcription and Kokoro speech entirely offline in a portable desktop GUI with no install or API keys.JavaScript1,691
  3. NVIDIA-NeMo/SpeechA PyTorch framework for building, fine-tuning, and running speech recognition, synthesis, and speech-LLM models.Python18,655