Android home-network diagnostic tool — plain-English signal ratings, room-by-room coverage mapping, on-device speed tests, and an A–F network score
WiFi Analyze is a native Android app that turns a phone into a home-network diagnostic tool — readable enough for a non-technical user, deep enough for an enthusiast. A Simple mode rates signal in plain English (Excellent → No Signal), maps dead spots room by room, and tells you whether a spot is solid enough for smart-home devices. An Advanced mode exposes the raw engineering: live dBm with a stability score, channel-congestion and spectrum-overlap charts, on-device speed and latency tests, and an A–F network score.
Everything a user records stays on the device. There is no account, no ads, no analytics, and no tracking; the only network traffic is the speed and latency tests the user starts by hand. It ships with a home-screen Glance widget, optional weak-signal notifications, and a Wear OS companion for glanceable signal on the wrist (built; not yet in the Play release).
Not affiliated with or endorsed by any router manufacturer or internet service provider.
Built on the modern Android stack — Kotlin-first, Compose UI, Jetpack Architecture Components throughout, and shipped clean to Google Play.
MVVM throughout: ViewModels expose StateFlow streams to the Compose UI layer; a Repository layer mediates between ConnectivityManager network callbacks, Room, and DataStore; Hilt injects dependencies at every layer boundary. Ref-counted callbacks prevent leaks across dual-mode view models.
Two audiences, one data source: the same signal pipeline feeds a plain-English verdict for casual users and a full diagnostic dashboard for enthusiasts.
Real device screenshots — signed release build, no personal data. Click any to enlarge.
The engineering that makes this more than a WiFi list view.
ConnectivityManager network callbacks with FLAG_INCLUDE_LOCATION_INFO handle SSID resolution; they are ref-counted across two view models so a mode switch can’t leak a callback. Graceful fallbacks handle the location-off case without crashing or silently going stale.
Android restricts apps to ∼4 scans per 2 minutes. The app works within this constraint: scan requests are rate-limited, cached results are served in between, and a BroadcastReceiver for SCAN_RESULTS_AVAILABLE_ACTION drives updates rather than a polling timer.
A WorkManager worker samples signal, prunes history, and fires weak-signal / all-clear notifications on threshold crossings — state persisted in DataStore. A persistently weak signal never spams the user; only the transition triggers a notification.
A streaming HTTP speed test delivers live Mbps callbacks; an ICMP-style latency runner pings the gateway and a public DNS server. Both feed into the A–F network score alongside the RF signal metrics. Friendly error surfaces cover the no-internet cases so users get a clear reason, not a crash.
The home-screen Glance widget is kept current across disconnect by writing to Glance’s Preferences state store from the WorkManager worker — decoupled from the Activity lifecycle entirely. Phone–watch push uses the Wearable Data Layer API so the watch never needs its own WiFi scan permissions.
R8 + resource shrinking, Play App Signing, adaptive + themed icon, backup rules, targetSdk 36, and a Data Safety declaration that matches the manifest exactly — precise-location declared, disclosed Cloudflare test endpoints, privacy policy aligned. No gaps the Play review team can flag.
End-to-end Android product delivery: from platform-level connectivity APIs up through a dual-audience Material 3 Compose UI and out to a signed, policy-clean Google Play release.
From Compose UI to Google Play release management — native Android apps built on the full modern Jetpack stack.
Native Android using Kotlin and Jetpack Compose (Material 3) — with plain-English signal ratings, room-by-room coverage mapping, on-device speed tests, an A–F network score, a home-screen widget, and WorkManager background monitoring.
Yes — native Kotlin/Compose apps are part of our software development service.
Yes — we handle the full production release pipeline: R8 optimisation, Play App Signing, Data Safety declarations, privacy policy, and ongoing release management.
Tell us what you have in mind and we'll come back with an approach and a flat quote — no obligation.