https://www.youtube.com/watch?v=QXoBq97Vv_8
I wanted to use an old iPad as my Home Assistant dashboard, but none of the existing options fit. The kiosk apps I found did far more than I needed, and the alternatives were leaving the screen on all day or adding another presence sensor to the room. So I built a small kiosk browser that uses the iPad’s own front camera instead.
It shows your HA dashboard full screen when someone is in the room, and switches to an idle screen when nobody is.
How presence detection works
Every few seconds the front camera starts, waits a couple seconds for auto-exposure to settle, grabs a single still frame, and runs it through Apple’s Vision framework on the device. It checks luminance (to know when the room is dark) and whether a person is in frame. The frame is processed in memory and discarded immediately: nothing is written to disk, nothing is logged, nothing leaves the iPad. The camera indicator is on for those few seconds per sample, not continuously. The sample rate is configurable, with a separate slower rate for dark conditions.
Privacy
The app makes no outbound requests of its own. No analytics, no telemetry, no accounts. The only thing touching the network is the web view loading the URL you give it. The full source is public, so you don’t have to take my word for any of this.
Licence and pricing
The source is on GitHub, and personal, non-commercial use is free if you build it yourself. There’s also an App Store build from the same code: one-time purchase, no subscription, no in-app purchases.
- Source: GitHub - rafapages/DashPad: An iPad app to turn your old tablet into a kiok-style dashboard · GitHub
- More detail: DashPad — The iPad dashboard that's there when you are
Feedback I’m after
I’ve only tested this in my own house, so I’d love to hear how presence detection behaves in yours:
- Other features you would like to see implemented
- Rooms where it misses you (backlit windows, low light, iPad placed high or at an angle)
- Sample rates that work well for you
- Which iPad model and iPadOS version you’re running
I hope you like it! ![]()