LIVE AT HFOTABLETENNIS.COM
HFO TABLE TENNIS
No controller. No download. Just your hands, your camera, and a fast first rally.
LOCAL CAMERA FREE OFFLINE PWA TV / CAST READY
Initialising hand tracking…
Best on phone landscape, tablet landscape, or cast-to-TV fullscreen.

📷 CAMERA ACCESS REQUIRED

HFO Table Tennis needs your camera because the whole app runs on local hand tracking. No hand tracking means no way to play.
Everything stays on this device through the local MediaPipe pipeline, nothing is sent anywhere, and it works offline as proof. I have made it as safe as possible with an offline PWA, clear privacy, and full open source in progress.
Please allow camera access and try again.

Click the 🔒 icon in your address bar → Allow Camera → Refresh

SETTINGS
HFO TABLE TENNIS
STABLE ALPHA · PARKED BUILD
CAMERA INPUT · LOCAL HAND TRACKING
✦ PLAY WHENEVER · NO DOWNLOAD ✦
  • Start simple: allow camera, raise one hand, play a rally.
  • Local AI hand tracking: no data upload, no account, no controller.
  • Parked alpha: this build is meant to stay useful without chasing update promises.
☕ SUPPORT THE EXPERIMENT
START HERE OFFLINE APP
install pwa, ai, balls, orb
⊕ INSTALL
⊕ INSTALL OFFLINE APP
Highest-value setup step on mobile: install the offline PWA for one-tap launches and app-like fullscreen play.
🤖 AI
🤖 AI: EASY
Tap to cycle beginner-friendly rallies up to hard returns.
🏓 BALLS
Start with 1 or 2 balls, then add more once tracking feels stable.
🌈 ORB
Pick the orb look that reads fastest in your room lighting.
HELP QUICK FAQ
start, solo vs, tuning, tracking fixes
START
Raise one hand into a pulse zone to start. Left zone drives the left paddle, right zone drives the right paddle.
1P / 2P
One hand locks solo mode. Add the second hand before launch for versus, or lift one hand to stay solo.
TUNE
AI, ball count, paddle size, speed, and orb palette all live in this panel and can be changed between rallies.
FIX
If tracking drops, return the hand to its pulse zone. If framing feels wrong, use OVERSCAN, SWAP CAMERA, or MIRROR in FRAME.
FRAME CAMERA & DISPLAY
overscan, resolution, mirror, ui
📷 OVERSCAN
1.20
OVERSCAN protects edge tracking by making the play area a smaller subset of total camera coverage, and it also improves ergonomics when you stand closer or farther away.
📺 RES
Leave Auto on first; lower resolution only if the frame rate dips.
📊 PERF
— fps
Green means healthy; watch this row if gameplay starts to feel laggy.
📷 CAM
📷 SWAP CAMERA
Use this if the wrong webcam opens or you want a rear-facing camera.
⇋ MIRROR
⇋ ON
Keep this on if you want the preview to move like a bathroom mirror.
☰ UI
☰ ON
Turn this off for a cleaner playfield, or keep it on while learning the layout.
TUNE STYLE & FEEL
colors, sfx, paddle size, speed
🎨 P1
Tap a chip for player 1, or use the final chip to choose any custom color.
🎨 P2
Tap a chip for player 2, or use the final chip to choose any custom color.
🔊 SFX
80%
Drag left for quieter practice sessions, right for arcade energy.
🏓 PAD
Larger paddles make beginner saves easier; smaller ones raise precision demand.
⚡ SPEED
Lower speed helps timing; increase it after you can return rallies reliably.
TOOLS SHARE & RECOVER
share game, fullscreen, reset
⬆ SHARE
⬆ SHARE GAME
Send the game link to a friend so they can join from their own screen.
⛶ FULL
⛶ FULLSCREEN
Go fullscreen before casting to a TV or when you want maximum play space.
↺ RESET
↺ RESET DEFAULTS
Use this if you want to get back to the recommended starting setup.
hfotabletennis.com HFO TABLE TENNISHFO TT · v29
SHARE 📷 CAM FULL SETTINGS
Ko-fi