CarDemo hero image
CarDemo
Android companion app for real-time control of prototype car electronics over MQTT.
Overview
CarDemo is a native Android companion app built for a prototype vehicle, letting authorized users control car lights, seats, sound, and run pre-programmed scenes over MQTT. Users register and log in using face recognition — photos are captured with CameraX, uploaded via SFTP, and matched against the registered user list fetched live from the car. The app supports Owner and Guest roles with distinct permission levels, and falls back to a restricted offline mode when the MQTT broker is unreachable, using a local Room cache for user data.
Technology stack
Kotlin
Jetpack Compose
Material3
MVVM + Clean Architecture
MQTT
SFTP
CameraX
Hilt
Room
DataStore Preferences
Kotlinx Serialization
Coil
Coroutines + StateFlow
Key features
  • Face-recognition registration — photo captured with CameraX, uploaded via SFTP, confirmed over MQTT
  • Face-recognition login — user list fetched live from the car; falls back to local cache on timeout
  • Owner / Guest roles with active and restricted session modes
  • Lights Control — individual toggles for High Beam, Low Beam, DRL, Position, Stop, and Hazard lights
  • Scenes — create, modify, play, and delete named scene presets stored on the car
  • Diagnostics — live car telemetry streamed over MQTT subscriptions
Gallery
More projects