A face-controlled web game built with Claude Code in 10 days

SkinSync is a web game that uses a phone’s front camera to read face movement. The challenges include moving your head to avoid tomatoes, opening your mouth to collect cookies, and using your eyebrows to control a small bird. Face tracking runs on the device with , and the needed files are included locally, so the game does not call a CDN while running.

Camera frames do not leave the phone, and the demo video shows only face-tracking points instead of the real camera image. The technical setup is intentionally simple: static , no , and one Node file for the server. Claude Code wrote most of the code, while the human work was to play every challenge with a real face and report what felt wrong.

Before release, each game also had an automated test pilot with human-like reaction delay, run without a visible screen in Node. The eyebrow-controlled flying game turned out to be impossible in its first form because about 350 milliseconds of eyebrow detection delay meant the test pilot usually passed only one gate no matter how the physics were changed, so the control was rebuilt as continuous movement where raised eyebrows make the character climb. A -free PNG script made for the favicon accidentally produced a smiling face made of tracking points, and that became the mascot.

Key points

  • SkinSync runs in the browser and does not require an app install.
  • Face tracking happens on the phone, and camera frames are not sent away.
  • The stack stays simple: plus one Node server file.
  • Claude Code wrote most of the , while the maker tested the game with a real face.
  • Automated exposed an input-delay problem before more manual tuning wasted time.
Read original