ashokvarma.dev

Apps

Everything I've built and where it stands — shipped on Google Play, in-development test builds you can install today, and open-source projects on GitHub.

shipped

Live on Google Play

Designed, architected, developed and shipped end to end, solo.

Ch

Chitra: AI Wallpapers

Live on Google Play

AI-powered wallpaper app with curated collections. Cloudflare R2 CDN delivery, offline-first Room caching, Clean Architecture — the grid still works with no network.

  • Compose Multiplatform engine — one Kotlin codebase on Android, Desktop (JVM) and Web (Wasm/JS)
  • Offline-first Room cache, so an image is never paid for twice
  • Built, released and maintained solo on my own Play account
KotlinJetpack ComposeCloudflare R2RoomMVVM
Status
  • Live and maintained

Google Play Website Source

An

Antar — Device Info

Live on Google Play

Device analytics with real-time StateFlow streams for 44+ hardware sensors — dual SIM, GPS satellites, battery health, network deep scan, custom Compose Canvas charts.

  • Custom Compose Canvas charts rather than a charting library, so render cost stays predictable
  • Runtime permission handling per sensor group
  • Ships through a tag-triggered GitHub Actions pipeline
KotlinJetpack ComposeSensorManagerCustom CanvasClean Architecture
Status
  • Live and maintained

Google Play Source

in development

Test builds — download and try

Apps I'm actively engineering. Each one leads with the stack and the hard problem it solves, plus an honest note on current scope.

Ar

Artha — Sense Maker

In development · used daily

An on-device multimodal AI app: ingest audio, video, images, text, PDFs and docs, then summarize, translate and chat with the content. The whole inference pipeline runs on the device — no cloud, no data collection — built around a pluggable engine layer so each modality sits behind a clean domain port. Artha (అర్థ) = “meaning.”

  • On-device Gemma LLM engine driving summarize and chat
  • ML Kit OCR plus on-device translation; STT/TTS speech pipelines
  • Engine-port architecture — each modality swappable behind an interface
  • Clean Architecture · MVVM · Koin DI · sealed-state Compose UI
KotlinComposeGemma (on-device)ML KitKoinv1.0 dev2026-07-09~230 MBAndroid 7.0+
Development status
  • Engine layer live; remaining modality flows being wired in
  • On-device inference is compute-heavy — large media processes slower on low-RAM devices
  • Development build, installed outside Google Play

Download APK (230 MB)

ER

Erosion Rider

In development · playable

An original 2D game on a custom momentum-physics engine, with a mechanic I designed: the terrain permanently erodes along the path you ride, and that wear persists across runs. I built it by reverse-analysing the terrain and momentum models behind proven rider titles, then inventing the erosion layer on top.

  • Custom momentum physics plus procedural keypoint terrain generation
  • Persistent erosion — carves are serialized and survive across sessions
  • 37 real worlds from Earth's core to the edge of the universe, 16 riders, 132 achievements
  • Crates with Magnet / Boost / Shield power-up cards that level up to 5, plus coins and a 7-day daily-reward streak
  • Full art pass: every screen, world, rider and pickup generated with FLUX and hand-reviewed
KotlinCustom Physics EngineCompose CanvasProcedural Terrainv1.0 release2026-09-11~32 MBAndroid 7.0+
Development status
  • Core loop, economy, power-up levels and the full art pass shipped
  • Difficulty ramp and economy values still being tuned between builds
  • Release-signed build, installed outside Google Play

Download APK (32 MB)

CR

Cascade Reaction

In development · playable

A turn-based chain-reaction strategy game on a custom cascade engine — place orbs, trigger chain detonations that capture opponents' cells, last player standing wins. Underneath it is a deterministic wave-propagation simulation with layered tactical rules on top.

  • Custom cascade engine — deterministic chain-detonation wave simulation
  • Fog of War: per-turn visibility recomputed from owned and adjacent cells
  • Magnetic Shield cards that absorb a cascade wave; radioactive hazard cells
  • Animated detonation waves rendered in Compose; clean state management
KotlinJetpack ComposeCustom Game EngineState Managementv1.0 release2026-07-14~12 MBAndroid 7.0+
Development status
  • Full game and 5 tactical modes built; strategic balancing ongoing
  • Local pass-and-play; online multiplayer not yet implemented
  • Release-signed build, installed outside Google Play

Download APK (12 MB)

SP

SimplePlayer — P2P Streaming Engine

Systems engineering demo

A BitTorrent stream-while-downloading engine: paste a magnet link and playback starts after a few seconds of prebuffering, with no wait for the full file. The hard part is the piece-aware stream that blocks an ExoPlayer read precisely until libtorrent has written the required bytes to disk, with sequential download and head/tail piece prioritisation feeding a local HTTP range server.

  • libtorrent4j with sequential download and head/tail piece prioritisation
  • Custom local HTTP range server streams bytes to ExoPlayer as pieces land
  • Piece-aware InputStream blocks a read until its data is written — seek-capable
  • Foreground service with correct Android 14+ FGS types keeps the download alive
Kotlinlibtorrent4jExoPlayerNanoHTTPDForeground Servicev0.10.0 dev2026-07-16~77 MBAndroid 7.0+
Scope and status
  • An engine demo — the UI is intentionally minimal, the streaming pipeline is the deliverable
  • Far-ahead seeks wait on piece download; magnet input is sanitised before parsing
  • Development build, installed outside Google Play
Note: BitTorrent is a content-neutral protocol — use only with content you have the rights to (public-domain media, Linux ISOs, openly licensed files).

Download APK (77 MB)

Installing these builds: they are distributed as APKs outside Google Play, so Android will ask you to allow installs from your browser or file manager. These are active development builds shared for a hands-on look at the work — features and data may change between versions. None of them collect personal data, and Artha's AI runs entirely on-device.
open source

On GitHub

Source-available projects — AI tooling, players, and Kotlin Multiplatform experiments.