Apps & Control Planes / Runnable prototype
LOUP Parent Android App
Kotlin/Compose guardian app with pairing, QR scanning, device state, approved contacts, call history and the LOUP lifecycle model.
OVERVIEW
What I built.
Kotlin/Compose guardian app with pairing, QR scanning, device state, approved contacts, call history and the LOUP lifecycle model.
Built the Kotlin/Jetpack Compose application shell and guardian-facing flows.
Implemented QR pairing, device naming, lifecycle/status views, approved-contact management and call-history UI.
Kept SIP credentials outside the mobile app and modeled pairing around an opaque backend-issued token.
SYSTEM ARCHITECTURE
How the system is divided.
Android guardian app -> LOUP backend -> provisioning/PBX services -> LOUP device.
CameraX + ML Kit handle QR capture; repository abstractions isolate UI from future HTTPS APIs.
Lifecycle states cover factory, pairing, active, blocked, retired and transfer-related device states.
NETWORK / DATA FLOW
What talks to what.
TECHNOLOGY STACK
The technical surface.
IMPLEMENTATION
How it works in practice.
- 01
Android guardian app -> LOUP backend -> provisioning/PBX services -> LOUP device.
- 02
CameraX + ML Kit handle QR capture; repository abstractions isolate UI from future HTTPS APIs.
- 03
Lifecycle states cover factory, pairing, active, blocked, retired and transfer-related device states.
TESTING & VALIDATION
How I know it works.
Compose screens exercised with fake repository state
Lifecycle-state parsing covered by unit test
QR pairing tested with a bounded demo token
CameraX + ML Kit scanner path implemented for real QR capture
UI state checked across pairing, contacts and device status flows
EXTERNAL SERVICES & DEPENDENCIES
What sits outside the core.
ENGINEERING EVIDENCE
Artifacts behind the claims.
BOUNDARIES / CONSTRAINTS
What the project does not pretend to solve.
—Current authentication is a development stub
—Backend calls are not yet production-connected
—SIP credentials intentionally never live in the parent app
RESULT / CURRENT STATE
What this produced.
A runnable parent-control prototype with realistic device-management boundaries and a clean path from fake repository data to production APIs.