Open Source · Android · 100% Local

AI on your phone.
No internet.
No cloud.

Mias runs AI models directly on your Android device. Ask questions, write code, get help — even when you're offline. Built for students who live on their phone.

↓ Get Mias → Setup Guide
mias — terminal
$ ./gradlew assembleDebug
Building 221 files...
Running 87 unit tests...
✓ BUILD SUCCESSFUL

$ adb install app-debug.apk
✓ Installed on device

$ curl localhost:8400/health
{"status":"ready","device":"cuda"}

$
0
Cloud APIs used
100+
Models available
14k+
Lines of code
87
Unit tests

Why Mias

Your AI. Your hardware.
Your data.

No subscription. No login. No data leaving your phone.

📵

Works fully offline

In the library, on the bus, in a dead zone — Mias keeps working. Your assistant isn't tied to Wi-Fi or mobile data.

🔒

Nothing leaves your phone

Every conversation is encrypted locally. No OpenAI, no Anthropic, no Firebase. Zero cloud calls — ever.

🧠

Picks the right model

Simple question? Runs a 1 GB model to save battery. Complex code? Offloads to your PC's GPU over Wi-Fi.

♻️

Remembers you

Mias builds a local memory from your conversations — topics you care about, how you like to be answered.

🌡️

Thermal awareness

Phone getting hot? Mias automatically drops to a lighter model. Stays fast without cooking your battery.

🛠️

Actually does things

Read files, search the web, set reminders, open apps. Not just a chatbox — it can act on your device.

How it works

Three things happening
at once, on your phone.

01

You send a message

Mias reads your intent and routes it to the best available model — on-device or your desktop if connected.

02

Model runs locally

ONNX Runtime or llama.cpp processes your query on-device (NPU/CPU) or on your PC's GPU via Tailscale.

03

Answer + action

Response streams back in real-time. If a tool was needed — file read, web fetch — you see what ran and why.

04

Memory updates

Key points are compressed into long-term memory every few hours. Your next session is already smarter.

Models

Start small.
Scale up when you need it.

All models are downloaded directly from HuggingFace. You pick what to install.

Model Size Runs on Hardware Best for
MobileLLM-R1.5 1.1 GB Phone CPU Quick questions, always-on, low battery use
Gemma-4 INT4 3.2 GB Phone NPU General chat, faster responses, daily use
Qwen3-Coder-Next Q4_K_M 18.5 GB Desktop GPU Code, research, complex reasoning tasks

Setup

Running in under
30 minutes.

1 — Build & install the app

# Clone the repo
git clone https://github.com/nikhlgoel/mias.git
cd mias

# Build (first time ~5 min)
./gradlew assembleDebug

# Install on phone (USB debugging on)
adb install -r app/build/outputs/apk/debug/app-debug.apk

# Done. Launch the app, register biometric,
# go to Brain Market and download a model.

2 — Desktop offload (optional)

# Build the server container
cd desktop
docker build -t mias-desktop:latest .

# Download Qwen3 model (~18 GB, one-time)
pip install huggingface-hub
huggingface-cli download Qwen/Qwen3-Coder-Next-GGUF \
  Qwen3-Coder-Next-32B-Q4_K_M.gguf

# Run the server
docker run --gpus all -p 8400:8400 mias-desktop:latest

# Verify
curl localhost:8400/health
→ {"status":"ready","device":"cuda"}

3 — Connect phone ↔ desktop

# Install Tailscale on both devices
# Android: Play Store → Tailscale
# Desktop:
tailscale up --accept-routes
tailscale status
# Copy your desktop IP from output

# In the app:
# Settings → Networking → enter IP → Test
# You'll see ✓ Connected

Prerequisites

# For the Android app:
Java 21+
Android Studio + SDK 35
USB debugging enabled
4 GB RAM phone minimum

# For desktop offload (optional):
Docker
Python 3.11+
CUDA 12.0+ GPU (or CPU, slower)
~20 GB free disk space

Privacy

Hard guarantees.
Not a privacy policy.

What Mias will never do:

  • Call any cloud AI API (OpenAI, Anthropic, Gemini, etc.)
  • Send your conversations anywhere
  • Use Firebase, analytics, or crash reporting
  • Back up your data automatically
  • Require an account or login
  • Track usage or collect any telemetry

What Mias enforces by design:

  • All inference runs on-device or LAN only
  • AES-256-GCM + SQLCipher encryption at rest
  • Biometric gate before every app session
  • Android backup blocked at manifest level
  • Desktop traffic over WireGuard (Tailscale)
  • Codebase audited — zero hidden network calls

Open Source

Build it yourself.
Own it completely.

MIT-adjacent stack. Full source on GitHub. No black boxes.

View on GitHub → Report an issue