Tapflow - turn an iPad into a custom control panel for macOS

by
Tapflow turns an iPad or any device with a browser into a personal control panel for macOS. No tablet app, no subscription, no hardware just open a URL. • Zero-install tablet client (a browser tab,) • 14 widgets: live window thumbnails, swipe-to-tile window joystick, one-tap audio switching, trackpad, mic mute with live levels • Per-app profiles that auto-switch with the active app • Figma-like editor: icons, colors, sounds, infinite undo • Free, open source (MIT), LAN-hosted

Add a comment

Replies

Best
Maker
📌
Hey Product Hunt! 👋 I built Tapflow because I kept failing the ⌘⌥⇧K test. Enough shortcuts and my brain turns into a lookup table — recall the function, recall the combo, hunt for the key. Meanwhile my Mac reads my fingerprint and my phone recognizes my face. So I made Tapflow: a tiny server on your Mac + a web page on your iPad. No tablet app — just open a URL. Drag buttons onto a canvas in a browser-based editor; every touch is injected into macOS natively. What's on the panel (14 widgets): • Key / macro / text macro / trackpad • Window Switcher with live thumbnails — see windows before you switch • Window Swipe: window tiling as a joystick — swipe up = fullscreen, swipe left = left half • Audio device switching in one tap, mic mute with live level rings • Dock on your tablet, and profiles that auto-switch when you switch apps The pitch isn't "a better keyboard" — it's recognition instead of recall. Tapflow is a companion to keyboard + mouse, not a replacement. Free, MIT, runs on hardware you already own. Why now: I've been vibing with Claude Code a lot — a "🎤 Talk" button for voice input was one of the first widgets. AI changed my workflow; my input surface should follow. This is v1, built to test whether my itch is general. Ships with 2 preset profiles, 5-minute setup, macOS-only for now (it rides on CGEvent/PyObjC). Repo + download: What high-frequency action would you put on a button first? (Mine was switching audio devices — AirPods ↔ speakers, forever.)