Docs

Getting started & FAQ

How to get Dhruva on your phone, and straight answers to the questions people ask most about offline inference, supported phones, models, and data.

Install the app

Dhruva is a real Android build, distributed to testers through Firebase App Distribution. Once you're on the list you'll get an email with a link to install it directly — no Play Store, no account.

  1. Request access on the GitHub project (open an issue or watch the repo for the tester link).
  2. Open the install email on your Android phone and follow the App Distribution prompt.
  3. On first launch, pick the recommended model, let it download once, and start chatting — fully offline from then on.

An iOS build is planned. Everything runs on-device; the only network call is the one-time model download.

For contributors: build from source

Dhruva is a Flutter app (Android + iOS), open source under Apache-2.0. To hack on it you need the Flutter SDK matching the version pinned in the repo.

git clone https://github.com/AnshRajput/dhruva-app.git
cd dhruva-app/app
flutter pub get
flutter test
make verify   # full gate: analyze + format check + tests

make verify is the same gate CI runs — if it's green locally, your change is ready for a PR. Full setup, branch workflow, and contribution ground rules live in CONTRIBUTING.md.

Questions

Frequently asked

Is it really fully offline?

Inference is, always. Once a model is downloaded, chat, characters, vision, and voice all run without a network connection — try it in airplane mode. The one path that needs a connection is downloading a model file the first time, because the file has to come from somewhere.

What phones does it run on?

Android 8.0+ (API 26) and iOS 14.0+. How well it runs depends more on RAM than OS version — see the models page for RAM guidance per model size.

Why GGUF instead of some other format?

GGUF is the format llama.cpp (the inference engine Dhruva runs on) uses natively, and it has by far the widest selection of pre-quantized community models on Hugging Face. Using it directly means Dhruva can load almost any GGUF release without a conversion step.

Where do models actually come from?

Hugging Face. Dhruva's model browser searches the public Hub API and downloads directly from huggingface.co — the same public infrastructure any GGUF tool uses. Dhruva doesn't host, mirror, or curate a private model store.

Is my chat data stored anywhere? Does it sync to a server?

Conversations are stored locally on your device (so you can come back to them) and nowhere else. There's no account to sync to and no server that would receive them even if you wanted it to.

Do I need to sign up or log in?

No. There is no account system. Install the app, download a model, start chatting.

Why is this free and open source — what's the catch?

No catch, and also no monetization plan that would require one — there's no subscription, no ads, no data to sell because none is collected. It's built by Appu Inside Engineering and released under Apache-2.0 because an app whose entire pitch is "trust us with nothing" should be auditable by anyone.

Can I bring my own fine-tuned model?

Yes, as long as it's a GGUF file — either browse for it on Hugging Face inside the app, or sideload a file you already have.

What happens if my phone doesn't have enough RAM for a model?

Dhruva shows a device verdict before you download — Comfortable, Possible, or Not recommended — based on the model's file size against your device's RAM, so you find out before spending the bandwidth, not after a crash. See the models page for exactly how that's calculated.

Is Dhruva affiliated with AI4Bharat's Dhruva platform?

No. AI4Bharat's Dhruva-Platform is a speech-serving backend, a different project in a different category. The name overlap is coincidental — both draw on the same pole-star reference — and this project uses distinct repo names (dhruva-app, dhruva-website) to keep them clearly separate.

Made withby Ansh Singh Rajput