Built in public · installable now

The story so far

Dhruva is built in the open, one loop at a time — plan, build, test, review, ship. Chat, characters, voice and vision are done and running on real phones through Firebase App Distribution; image generation is coming together now. Here's exactly what's shipped, what's underway, and what's next.

Loop 0Shipped

Research & identity

Verified the hard technical choices against real sources, named the app after the pole star, and locked a design system and roadmap before a line of feature code.

  • Engine + architecture decided (ADR-001/002)
  • Design tokens + brand ratified
  • MVP scope frozen
Loops 1–3Shipped

Foundation: engine & model hub

Both repos scaffolded and CI-gated from day one; real quantized models loading and streaming on-device off the UI thread; and an in-app Hugging Face browser with honest device verdicts and resumable, integrity-checked downloads.

  • GGUF loads + streams locally
  • Device-aware verdict chips
  • Resumable verified downloads
Loop 4Shipped

Chat — the MVP

The conversation itself: streaming replies with a live tokens-per-second readout, markdown and code, collapsible reasoning, and on-device history with search. Tagged the first milestone, v0.1.0-alpha.

  • Streaming with live tok/s
  • Markdown, code, reasoning transparency
  • History, search, export — all local
Loops 5–7Shipped

Characters, voice & vision

Personas with their own prompts and memory; a real voice conversation with turn-taking and on-device STT + TTS; and vision — ask questions about a photo or screenshot, image understanding that never leaves the phone.

  • Custom personas with memory
  • On-device speech in and out
  • Photo & screenshot understanding
DistributionShipped

Installable via Firebase

Dhruva stopped being a repo you build yourself: real Android builds now ship to testers through Firebase App Distribution, with an A/B model playground alongside. The first thing you can actually install and run.

  • Real builds to testers (Firebase)
  • A/B model playground shipped
  • Monotonic versioning, clean reinstalls
v0.4.xShipped

Speed & first-run

Found and fixed the reason it felt slow — inference was pinned to a single CPU thread — so replies now use all your cores. Onboarding no longer stalls, and it recommends a fast model so your first reply arrives quickly.

  • Multi-threaded on-device inference
  • Onboarding no longer freezes
  • Fast model recommended first
Loop 8In progress

Image generation

On-device image generation with quantized Stable Diffusion — type a prompt and watch it denoise, every pixel staying local. The native path is proven and the feature is coming together now.

  • Quantized diffusion, fully offline
  • Live step-by-step denoise progress
  • Prompts never touch a server

Next milestone

On-device image generation

The MVP gate is cleared — install, download a model, and chat is real and shipping to testers. Next up: type a prompt and watch a quantized diffusion model paint it, every pixel staying on your phone.

The road ahead

Every feature on the landing page, earned one loop at a time

  1. Loop 9DocumentsRetrieval-augmented chat over your own PDFs
  2. Loop 10ToolboxLocal tools: alarms, notes, calculations
  3. Loop 11Polish + arenaThe craft pass across every surface
  4. Loop 14Hardening + handoverEdge cases, docs, and long-term care
  5. ThenContinuous modeShipped, maintained, and improved in the open
Made withby Ansh Singh Rajput