llama.rn is a React Native native module that wraps llama.cpp to provide on-device LLM inference on iOS and Android. It exposes a comprehensive TypeScript API via JSI for text completion, chat, embeddings, reranking, decision models, text-to-speech (multiple families), multimodal (vision/audio), speculative decoding (MTP), parallel decoding, tool calling, and state checkpointing. The architecture features a C++ core (slot manager, completion engine, TTS pipeline, decision evaluator) bridged to JS through direct JSI bindings, with GPU backends including Metal (iOS), OpenCL (Android), Vulkan, and Hexagon NPU (experimental). The library is production-grade with CI/CD, prebuilt binary distributions, and a full-featured example app demonstrating all capabilities. It is maintained by BRICKS and actively synced with upstream llama.cpp via vendoring and patch scripts.