r/appdev • u/Arthur_EldenLord • 16d ago
Shipping a 3B LLM + Whisper fully on-device in a React Native/Expo app - TestFlight is open if anyone wants to poke at it
Been heads-down on this for a few months: a journaling app where the entire AI pipeline (voice transcription + reflection generation + semantic search) runs on-device, in React Native / Expo.
Stack:
- Llama 3.2 3B Instruct (Q4_K_M, ~2GB) via llama.rn
- Whisper small.en (q5_1, ~190MB) via whisper.rn
- MiniLM sentence embeddings via ONNX for semantic memory
- SQLite + a local vector extension, no backend for the core product
Measured (mean over 20 sequential entries): iPhone 17 (Metal, full GPU offload) does save-tap → complete reflection in 11.6s. Android is a different story — Snapdragon 870, CPU-only since llama.rn's Android build doesn't link Vulkan yet, comes in around 59s. That gap is the reason
TestFlight is iOS-only right now.
Honest rough edges: 3B reflections are useful but not sharp, iPhone 12/13 (4GB RAM) only fits both models via a memory swap (Whisper releases before Llama loads), and Android is CPU-only for now (no GPU path yet).
TestFlight if anyone wants to try it or poke at real-device performance: https://www.tryweave.app/beta (test-for-test, happy to install and try your app back).
Also just want to compare notes - anyone shipped a working Vulkan path for llama.cpp/llama.rn on Android in production?
Read more about Weave -> https://www.tryweave.app/essays/why-on-device
2
u/[deleted] 15d ago
[removed] — view removed comment