Run 1 · Wikipedia Vital Articles pack
One average answer, second by second
- Answered correctly
- 6/6
- First token
- 6.4 s avg
- Generation
- 17.5 tok/s avg
- Whole answer
- 10.6 s avg
- Peak memory
- 1.76 GB
- Network
- none
Open source · on your phone · for Android
BOAR keeps a small AI and a library of knowledge on your phone, so it can still think a problem through with you when the signal is gone. It shows where each answer came from, and keeps an honest record of how it ran.
boar-v1.0.0-arm64.apk · 123 MB · any 64-bit ARM Android phone · SHA-256 published with the release · MIT
How it works
BOAR needs the internet one time, to fetch its model. From then on, everything it knows and everything it says stays on your phone.
01
Get boar-v1.0.0-arm64.apk from the release and check its SHA-256. On first launch BOAR fetches its default model and a small embedding model: about 1 GB, the only time it needs the network.
02
Airplane mode on, Wi-Fi off, mobile data off. BOAR searches its offline library with keywords and on-device embeddings, and runs the model locally.
03
Every answer lists the offline articles it was built from, so you can check it. And every answer is measured: model, time to first token, speed, memory.
When it matters
The six places in the film. BOAR reasons with a model on the phone and grounds what it says in its library. Each source named here is an article in the Wikipedia Vital Articles pack BOAR can download. Answers are abridged and written for the page. The train question is from BOAR’s evaluation set, where the default model answered 6:15 pm on a real phone.

In flight
The man next to me is choking and can’t speak. What do I do?
BOARLean him forward and give up to five firm blows between the shoulder blades. If that fails, give up to five abdominal thrusts. Keep alternating, and call the crew.
Choking

Underground
A train leaves at 3:40 pm and the trip takes 2 hours and 35 minutes. What time does it arrive?
BOAR3:40 pm plus 2 hours is 5:40 pm. Add 35 minutes: 20 to reach 6:00, then 15 more. 6:15 pm.
Worked out on the phone · no source needed

Mountain hut
My friend is shivering, clumsy and slurring words. Is it hypothermia?
BOARThose are classic signs. Get her out of the wind, swap wet clothes for dry layers, warm her core first, and give a warm sweet drink if she’s alert.
Hypothermia

In the garden
Why plant corn, beans and squash together?
BOARThey help each other. Corn gives the beans a pole to climb, beans add nitrogen to the soil, and squash leaves shade the ground and hold in moisture.
Companion planting

At sea
Thunder came 9 seconds after the flash. How far away is the storm?
BOARSound covers about 1 km every 3 seconds, so roughly 3 km. That’s close: head for shore or shelter now.
Thunder
Lightning

Flooded road
Water is running across the road ahead. Can I drive through it?
BOARDon’t. Moving water can float a car even when it looks shallow, and the road underneath may be gone. Turn around and wait on higher ground.
Flash flood
For anything serious, BOAR is a companion, not a doctor or a rescue service. Get help as soon as you can reach it.
The receipt
Every answer records which model ran, how long until the first word, how fast it generated and how much memory it used. These are the first runs on a real phone, failures included.
Run 1 · Wikipedia Vital Articles pack
Run 2 · five configurations, 17 questions each, same phone
| Model | tok/s | First token | Per answer | What happened |
|---|---|---|---|---|
| Qwen2.5-1.5B (default) | 11.4 | 13.6 s | 21.0 s | 17/17, no timeouts |
| LFM2.5-8B-A1B (MoE) | 14.8 | 27.2 s | 57.3 s | Only model to solve the RAM question; 4 of 17 ran out of answer budget |
| Phi-3.5-mini | 4.0 | 44.0 s | 73.1 s | 4 timeouts at 120 s |
| Qwen2.5-7B | 2.7 | 70.5 s | 107.1 s | 5 timeouts at 120 s |
| Instella-MoE-16B-A3B | — | — | — | Didn't load: architecture not supported yet |
Medians. LFM2.5 ran separately with the same 17 questions. Highest peak memory of any run: 5.21 GB, under the 12 GB limit.
Measured on Xiaomi 2311DRK48G · MediaTek Dimensity 8300 · 11.6 GB RAM · Android 16. Raw results: docs/evidence.
Numbers look wrong? Run them on your phone and tell us. A result from your device is data nobody else has.
npm run eval:device -- --models <model>
Nothing leaves your phone.
Useful now beats perfect later.
No account, no API, no Google Play Services. One download at setup, then nothing. Not “mostly local”, not “offline except when it matters”.
Still growing
The model everyone wants on a phone, a huge mixture-of-experts model streaming from storage, doesn't exist yet. BOAR is what works today, measured honestly. 4–15 tok/s is enough to find out how to treat a blister, what a museum is about, or why the train isn't running, when there's no signal and nobody around to ask.
Open source
MIT licensed. Code, models, data sources and benchmark results are in the repo, and the APK ships with its SHA-256.
github.com/rferrari/boar-appStill open
poidh bounty #31
BOAR is claim #124 on “Build the Best Offline AI Research App for Android”. The bounty is still open.
Roadmap
A direction, not a schedule. First, make the everyday app excellent, tested by the people who use it. Then BOAR grows into a library that the community fills and shares, one pack at a time.
Phase 1 · Here today
Works now on Android: a model and a searchable library on your phone, your own documents, and any GGUF model you choose.
Phase 2 · Next
iOS is in progress. Then offline voice, and packs for places you can download before a trip.
Phase 3 · After that
Packs people share: a library of community knowledge packs to browse and download, and private, encrypted memory.
Phase 4 · Further out
An essentials library: verified offline bundles for first aid, disaster response and growing your own food.
v1.0.0 · 123 MB · any 64-bit ARM Android phone · MIT · Read the manifesto