denizaydogan1902/anvilai — explained in plain English
Analysis updated 2026-05-18
Chat with a local AI model on an Android phone without sending any data to a server.
Download small open models like Llama 3.2 or Gemma 2 and pick one sized to your phone's available RAM.
Study a working example of running llama.cpp with GPU acceleration inside an Android app via JNI.
| denizaydogan1902/anvilai | mfori/bit-aes | nacode-studios/kdrant | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Kotlin | Kotlin | Kotlin |
| Last pushed | — | 2020-05-11 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Building from source requires Android Studio, the NDK, CMake, and a separate llama.cpp clone step.
Anvil AI is an Android app that runs large language models directly on the phone, with no cloud connection required. It uses llama.cpp for the model engine and taps the phone's GPU through Vulkan to speed up the math, so responses generate on device instead of being sent to a server. Because nothing leaves the phone, there is no data leakage and no API key to manage. The app lets you download curated GGUF model files from a built in model store, or paste a Hugging Face link to fetch a model directly, with resumable downloads if a transfer gets interrupted. It supports several small open models, including Llama 3.2 in 1B and 3B sizes, Gemma 2 2B, Qwen 2.5 1.5B, and Phi-3 Mini, each with a listed minimum RAM requirement so a user can pick a model that fits their device. Chat responses stream token by token, and the interface applies the correct prompt template for whichever model family is loaded. Chats are stored locally in an encrypted database, and the app includes a thermal manager that scales back GPU usage automatically if the phone overheats or the battery runs low, plus a performance overlay showing tokens per second, RAM use, and GPU layer counts. The interface is built with Jetpack Compose in a dark, high contrast theme, and supports multiple separate conversation histories with rename and delete options, along with markdown and syntax highlighted code blocks in responses. Building the app from source requires Android Studio, JDK 17, the Android NDK, and CMake, plus a separate step to pull in the llama.cpp source code, skipping that step still builds the app but inference returns demo responses instead of real output. A phone needs an ARM64 processor, at least 4GB of RAM, and Vulkan 1.0 support, which covers most devices from 2017 onward. The project states it is provided as is for educational and personal use.
An Android app that runs AI chat models fully on the phone using the GPU, with no internet connection or cloud server involved.
Mainly Kotlin. The stack also includes Kotlin, Jetpack Compose, llama.cpp.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.