Side project · experimental prototype
Hudder
Turns an Android phone or tablet into a simple heads-up display mirror for windshield reflection.
- Kotlin
- Jetpack Compose
- MediaProjection
- Foreground service
- Material 3
What it is
Put the phone on the dashboard, open a navigation app in one split-screen pane and Hudder in the other, and start capture: Hudder grabs the full display, crops out the opposite pane, and renders it mirrored so its reflection reads correctly on the windshield. Options cover horizontal flip, 180° rotation, a dim backdrop, and which pane to mirror.
How it works
The app tracks its own window bounds and whether Android is in multi-window
mode. A foreground service receives frames from a
MediaProjection-based capture pipeline, maps the app window
into captured-screen coordinates, and crops the opposite split-screen pane.
A debug mode can show the raw captured frame with the computed crop
rectangle overlaid — split-screen geometry is fiddly, and seeing the math
beats guessing at it.
It's an experimental driving-adjacent prototype, not a production automotive system: frame processing is deliberately throttled, and DRM-protected apps capture as black frames.