Pro RF measurement
Per-cell RSRP / RSRQ, per-beam RSRP, per-carrier SNR (up to 4 NR carriers), DL/UL MCS, BLER, CQI, PHR, TB size — sampled in real time from the DIAG socket.
Studio Field · MMT COTS Mobile
A COTS phone, turned pro drive-test tool.
Demo video coming soon
Demo video will appear here once it's added. Drop the .mp4 into /public/studio-field-demo.mp4 to enable autoplay.
Kotlin / Jetpack Compose Android app for 5G RF engineers and drive-test operators. 19 screens · 12 ViewModels · 25 Kotlin decoders · 49 Lua dissectors via tshark. Embedded Ktor REST / SSE / WebSocket server on port 8080 with a 32 MB Compose-Multiplatform WASM dashboard.
Android 11+ · Snapdragon-based handsets recommended · Root required for DIAG-socket features
20 5QI + 9 QCI QoS profiles · 6 drive-test campaigns · 6 export formats · 32 MB WASM dashboard.
A full 5G drive-test instrument on a phone you already own. KMP + Compose ship the same Kotlin code to Android and a browser-served WASM dashboard.
Per-cell RSRP / RSRQ, per-beam RSRP, per-carrier SNR (up to 4 NR carriers), DL/UL MCS, BLER, CQI, PHR, TB size — sampled in real time from the DIAG socket.
25 KMP Kotlin dissectors extract KPIs into GPS-stamped JSONL. 49 Lua dissectors run under tshark for full L1/L2/L3/NAS protocol decode — RRC, NAS, MAC, PDCP, RLC, IMS SIP.
PATH 1: KPI JSONL via Kotlin dissectors. PATH 2: Raw DLF (1 GB rotation) + UDP broadcast for QCAT / Wireshark. PATH 3: tshark + Lua for human-readable logs.
Quick, Standard, Throughput, QoS Voice, Idle. GPS map with RSRP-coloured route, event timeline, KPI panel. Export: CSV, XLSX, KML, JSONL, HTML report, DLF.
Kotlin Ktor CIO server on the handset, port 8080. 34 REST route files for remote control, log pull, dissector reload, and live KPI streaming to Studio Fleet.
Same Kotlin codebase ships to Android and a 32 MB WASM browser bundle, served by the on-device Ktor server. Real-time dashboard from any browser on the LAN.
20 5QI profiles (TS 23.501) + 9 QCI profiles (TS 23.203). Latency vs PDB, loss vs PER, throughput scoring. PASS / MARGINAL / FAIL verdict with weighted composite.
RRC state machine, NAS tracking, SIBs, PDU sessions, measurement config, timers. NR + LTE + IMS message identification per TS 38.331 / 24.501 / 24.229.
Floorplan upload with tap-to-pin RF measurements. Replay saved drive-test routes, compare two sessions side-by-side, band-lock via AT commands.
Traffic engine, tshark engine, AT command engine, KPI engine, drive-test engine, dissector registry, log rotator, DIAG broadcaster — composed via DI behind 12 Compose ViewModels.
On-device Room database for sessions, routes, measurements, license, and AI chats. Storage breakdown UI surfaces per-feature usage with cleanup actions.
License manager with HMAC-SHA256 device binding. 7-day Pro trial on first launch. Per-feature gates: Pro unlocks Protocol / Indoor Map / Auto Test / Web API / Excel; Enterprise adds Band Lock / Route Replay / QoS SLA / Voice.
Plus a side drawer with 12 more for Traffic Tools, Log Summary, Protocol, Device Info, Utilities, Indoor Map, Auto Test, Band Lock, Route Replay, Compare, AI Chat, and Settings.
Serving cell, neighbours, CA/SCell, MIMO RI/PMI, speed test, RSRP chart, cell scanner
NR / LTE / IMS log code selection, multi-RAT mask, DIAG socket management
Live protocol logs via tshark + Lua (L1/L2/L3/RRC/NAS), layer filtering
6 campaign profiles, GPS map, RSRP route, events, KPIs, 6 export formats
DL / UL throughput, BLER, MCS, CQI, PHR charts on Compose Canvas
34 REST routes on the handset itself, plus the WASM dashboard served from /web/ on port 8080. Automate drives, pull logs, or stream KPIs straight to Studio Fleet.
+ 24 additional routes for dissector control, slice selection, IMS, AT commands, license, AI chat, and fleet telemetry.
Kotlin Multiplatform with Compose Multiplatform — one codebase, two targets (Android + WASM).
| Technology | Used for |
|---|---|
| Kotlin 2.1.0 + KMP | Shared module (commonMain) across Android + WASM |
| Compose Multiplatform 1.7.3 | Shared UI for Android + browser |
| Jetpack Compose + Material 3 | Android-specific composables |
| Ktor CIO | Embedded REST + WASM server on :8080 |
| Room (SQLite) | On-device persistence |
| tshark 4.6 + Lua | Protocol decode (Path 3) |
| AGP 8.10.1 · Gradle | Mobile + WASM build |
| Ollama / Claude / OpenAI / Gemini | On-device AI chat |