← All work

Android · 2024 — 2025

An Android dashboard for semi-autonomous driving that watches the driver, explains sudden braking, and warns ahead of road zones where the driver will need to take over.

Role

Development

Stack

Kotlin · TensorFlow · ETS2

Year

2024 — 2025

The problem

In Level 2 cars, the car can steer, accelerate and brake, but the driver is still responsible and has to keep watching the road. That’s hard to sustain: as the car does more, attention drifts. And when the car does something unexpected, like braking hard for no visible reason (“phantom braking”), drivers often don’t know whether to trust it or step in.

What we built

A dashboard app that mounts in the car and keeps the driver informed, attentive and ready to take over. It has three features:

  • Driver monitoring. The front camera tracks 468 points on the driver’s face to measure eye closure and head position. A state machine looks at these over time, so a normal blink doesn’t set off an alarm but a microsleep or a long look at a phone does. Alerts come as a banner, a sound and a vibration, and can be dismissed hands-free with a head shake.
  • Road view and phantom braking. The rear camera runs on-device object detection and draws boxes around vehicles and obstacles on a live road view. When the accelerometer picks up a sudden stop, the app checks whether anything was actually detected ahead, then labels the event as explained braking or suspected phantom braking. It also saves a 10-second replay clip for review afterwards.
  • Disengagement zones. GPS tracks the car against mapped high-risk zones. Instead of one last-second alarm, warnings escalate in stages: a heads-up at 200 m, a takeover prompt on entry, an urgent alert at 50 m, and a confirmation once the zone is cleared.

Everything runs on the phone, with no internet needed. On a mid-range Android phone, both camera pipelines ran together at a steady 20 frames per second.

Testing it safely

You can’t test phantom braking on a real road. So we connected the app to Euro Truck Simulator 2 driven with a steering wheel: a telemetry bridge streams the simulator’s speed and acceleration to the app in real time. We also trained a custom YOLOv8 model on game footage, because the standard detection model struggled with the simulator’s graphics.

Check out the demo here.

Gallery

(04) Get in touch

derickwithoner@gmail.com