DEV Community

Falaq
Falaq

Posted on

What I learned building offline AI for Android

I built Orb because I wanted AI on my phone that still worked when the network disappeared.

Most AI apps are simple from the app side: send the prompt to a server, stream the response back, and keep the real complexity in the cloud. Orb is the opposite. It runs local models on Android after a one-time model download, so the app has to deal with the annoying mobile parts directly.

A few things stood out.

The model download is part of the product

If your app needs a 1-3 GB model before it becomes useful, the download flow is not plumbing. It is onboarding.

Users need to know:

  • why the file is large
  • whether they need Wi-Fi only for setup
  • if the download can resume
  • how much storage it will use
  • what works offline after that

This is also why I pulled part of the download work into a React Native native module. Large model files need progress, resume, and background-friendly behavior. A normal "just fetch it" flow is not enough.

Offline has to be obvious

A privacy app cannot just say "local-first" and hope people believe it.

The product has to make the boundary clear:

  • no account
  • no cloud chat backend
  • no subscription
  • no ads
  • works without Wi-Fi after setup

For Orb, the point is simple: once the model is downloaded, chat, image/document workflows, speech-to-text, text-to-speech, and local reasoning should not require an internet connection.

Mobile inference is not one performance target

Android hardware is all over the place.

Some devices can use GPU acceleration. Some Snapdragon devices may have experimental NPU/HTP paths. Many devices need CPU fallback. The same model can feel completely different across phones.

So the app cannot be marketed like every phone gets the same experience. The honest version is: use the best local path available, fall back safely, and keep model choices realistic.

Privacy is a workflow, not a slogan

The strongest use cases are not "replace ChatGPT." They are moments where sending data to a remote service feels wrong or impossible:

  • private notes
  • personal documents
  • travel with no signal
  • journaling
  • studying offline
  • screenshots/photos you do not want uploaded

Local AI is weaker than cloud AI in many ways, but it wins when the private/offline boundary matters.

Orb

Orb is my attempt at making this feel normal on Android: local models on-device, image and document upload, speech-to-text, text-to-speech, no account, no subscription, no ads, and no cloud chat backend.

It is Google Play only for now:
https://play.google.com/store/apps/details?id=com.falaq.orb

Top comments (0)