NLGet in touch

2026 · macOS

HandRest

Catch the face-touching habit at your desk

  • Swift
  • SwiftUI
  • AppKit
  • AVFoundation
  • Apple Vision

HandRest is for people with trichotillomania and other face-touching habits. It watches through the webcam for a hand moving towards the zones you choose, such as hair, eyebrows, eyelashes or mouth, and plays a short cue before the touch happens.

Everything stays on the Mac. Frames go from AVFoundation to Apple Vision and are thrown away. The app has no network access at all, and its history is a JSON file in its own container.

Role
Solo product
Privacy
No network entitlement, no stored frames
Runs
Menu bar, dashboard and floating panel

A nudge, not an alarm

When a hand enters a chosen zone, HandRest plays a soft cue. Move the hand away within the grace window and it counts as a redirect, which is a win. Stay, and it is logged as a touch.

Real life is full of false alarms, so they are filtered out. A head resting on a hand is recognised by finger posture, and on-device phone detection keeps a call from triggering a warning.

The session view, ready to start

Patterns over days

Insights stacks one dot lane per day: calm stretches, redirects and touches, hour by hour. A bad afternoon stands out at a glance, and a short daily reflection compares today with recent days. The history in these screenshots is synthetic.

HandRest started as a native port of an older web app. Both implementations were compared with a benchmark harness that matches their detections event by event.

Insights: the last seven days
Contact