尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Browse a photo gallery with hand gestures in the browser
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Browse a photo gallery with hand gestures, right in the browser. Webcam optional: every gesture also works with keyboard and mouse.
Try it live → Desktop Chrome or Edge. Hand tracking runs on your device; the camera feed never leaves it.
Recorded on an earlier build.
| Pose | Motion | What it does |
|---|---|---|
| ✋ Open palm | Move your hand | Cursor follows; the photo under it is outlined |
| 👆 Point | Dip the fingertip | Select the photo under the cursor, or press the button under it |
| 👌 OK sign (thumb touches index, other three fingers up) | Over a photo | Grab it. A curled-finger pinch 🤏 won't grab |
| 👌 then move back | Move your whole hand away from the screen | The photo grows; open your fingers to let go |
| ✊ Fist | Move up or down | Scroll the grid |
On a first visit, a short tour teaches these one at a time and moves on as you do each one. Replay it from ⓘ → Take the tour, or add ?tour to the URL.
| Gesture | Keyboard | Mouse |
|---|---|---|
| Move palm | Arrow keys | Hover |
| Point and tap | Space | Click |
| OK sign, move back | Enter (Esc closes) | Double-click |
| Fist scroll | Page Up / Down, Home / End | Scroll wheel |
With photos selected, Remove (or the Delete key) and Clear appear next to the title. Remove can be undone (Undo or Ctrl/Cmd+Z), and nothing is really deleted. The gallery is usable before hand tracking loads, and if the camera is blocked, missing or busy, a small card says which and how to fix it.
One index.html: vanilla HTML, CSS and JavaScript, no framework, no build step. MediaPipe Hands (pinned, from a CDN) finds 21 points on the hand in each camera frame; everything after that is this file.
Reading the hand
For everyone, not just webcam owners
prefers-reduced-motion removes decorative animation but keeps hand-driven movement, because that is the interface.alert() on every failure.Light on the machine. In Chromium at 4× CPU slowdown, the page's own work per frame (not counting the hand model) went from ~14 ms to ~2 ms when idle, and from ~22 ms to ~9 ms with a hand moving:
Details
<script>.index.html in Chrome or Edge. Nothing to install or build.If your browser blocks the camera on file://, serve the folder instead (python3 -m http.server, then visit http://localhost:8000).
58 end-to-end tests in tests/ run in Chromium on every pull request. Playwright is used only for testing; the site itself has no dependencies.
Hand tracking is tested without a webcam: the tests swap MediaPipe's model for a stand-in that feeds simulated hand landmarks (hand() in tests/helpers.js). The page's real gesture code therefore runs as it would with a hand in front of the camera. Chromium's fake webcam covers the camera states.
npm install
npx playwright install chromium # first time only
npm test
MIT © 2026 Divyanshi Rajauria
Designed and built by Divyanshi Rajauria, with AI assistance.
Independent educational demo. Not affiliated with, endorsed by, or connected to Apple Inc. or iCloud.