Web Bluetooth, Buttplug.io with Intiface Central, and The Handy's WiFi/cloud API each connect haptic devices differently. Here's how to pick the right method for your browser and device.
You have a .funscript ready to play — maybe you generated it from a video, maybe you downloaded one — and now you need your browser to actually talk to your device. This is where a lot of people get stuck, because there isn't one universal way to connect a haptic device to a web app. There are three main routes: Web Bluetooth (the browser talks to your device directly over Bluetooth LE), Buttplug.io (a protocol that usually runs through a desktop app called Intiface Central), and vendor cloud APIs like The Handy's WiFi/cloud connection. Each has real trade-offs, and the right choice depends mostly on two things: which browser you use and which device you own.
This guide walks through how each connection method works, when it's the right choice, and how to troubleshoot the common failure modes. HaptiQ supports all of these connection types, so the advice here applies whether you're syncing scripts in our player or elsewhere.
Web Bluetooth is a browser API that lets a web page connect to Bluetooth Low Energy (BLE) devices directly. When it works, it's the simplest option by far: you click a connect button, the browser shows a device picker, you select your device, and you're connected. Nothing to install, nothing running in the background.
The catch is browser support. Web Bluetooth works in Chrome and Edge, but not in Firefox or Safari. That's not a HaptiQ limitation — Mozilla and Apple simply haven't shipped the API. If you're on a Mac using Safari, or you're a Firefox loyalist, Web Bluetooth is off the table and you'll need one of the other methods.
The device side is less of a constraint than you might expect. Of the 872 devices in HaptiQ's IoST device index, 806 are Bluetooth LE — so the large majority of connected devices on the market, including most models from Lovense (Lush, Hush, Domi, Edge, Gravity and more), Kiiroo, Svakom, Satisfyer Connect, and WeVibe, speak BLE and are candidates for a direct browser connection.
Buttplug.io is an open protocol for controlling intimate hardware. Rather than every app implementing every device's quirks, apps speak one standard protocol over a WebSocket, and a hub handles the device-specific details. For most people, that hub is Intiface Central, a desktop application that runs on your computer, connects to your devices, and exposes a local WebSocket server that web apps can talk to.
HaptiQ implements the Buttplug.io v3 protocol as a raw WebSocket client, which means the web app talks directly to Intiface Central's server — you point it at the server address (typically a localhost WebSocket URL), Intiface handles the hardware, and script commands flow through.
A practical note: Web Bluetooth and Intiface can conflict if both try to hold the same device. Bluetooth LE devices generally accept one connection at a time, so if your device is connected in Intiface Central, the browser's Web Bluetooth picker won't be able to grab it, and vice versa. Pick one path per session.
The Handy is its own case. Rather than Bluetooth, it connects over WiFi, and apps control it through The Handy's API using a connection key. HaptiQ integrates the full API, including its three modes: HAMP (basic alternating motion), HDSP (direct positional commands), and HSSP (synchronized script playback, which is what funscript sync uses).
Because the connection runs through The Handy's cloud service, this method works in any browser — Firefox and Safari included — with no extra software. The requirement is simply that both your Handy and your computer have internet access; cloud mode doesn't work offline.
JoyHub devices connect through a cloud relay pattern, similar in spirit to The Handy's approach: the device pairs to the vendor's cloud, and HaptiQ relays commands through it. If you own a JoyHub device, this is your path, and like other cloud methods it works regardless of browser but requires an internet connection.
HaptiQ is an AI funscript generator first — it turns VR and 2D POV video into a synchronized .funscript automatically via a 5-stage pipeline — but generation is only half the experience. The other half is playback, which is why the web app implements all four connection types natively: Web Bluetooth for direct Chrome/Edge connections, a raw Buttplug.io v3 WebSocket client for Intiface setups, The Handy's cloud API with HAMP/HDSP/HSSP, and JoyHub's relay. You can generate a script, connect whichever way suits your browser and hardware, and play it back in one place — or export the .funscript and use it anywhere.
The short version: Chrome/Edge users with BLE devices should try Web Bluetooth first, everyone else should reach for Intiface Central, and Handy owners should just use the cloud key. None of these is wrong — they're different answers to different setups.
No. Web Bluetooth is only available in Chrome and Edge. Firefox and Safari haven't implemented the API, so on those browsers you'll need an alternative: Intiface Central (which bridges Bluetooth devices to any browser via a local WebSocket server) or a cloud-connected device like The Handy.
For some devices, yes. Buttplug.io is a protocol, and Intiface Central is the desktop app that most setups use as the hub — it connects to your hardware and exposes a WebSocket server that web apps like HaptiQ talk to. Some Bluetooth LE devices can skip Intiface entirely by connecting through Web Bluetooth in Chrome or Edge, but devices that need Buttplug's device-specific support require Intiface running.
Yes. The Handy connects over WiFi through its cloud API using a connection key, so it works in any browser with no desktop software. The requirement is internet access on both the device and your computer — cloud mode doesn't work offline. HaptiQ supports all three Handy modes: HAMP, HDSP, and HSSP (the script-sync mode used for funscript playback).
The most common causes: you're in a browser without Web Bluetooth (Firefox/Safari), the device is already connected to another app or your phone (BLE devices generally accept one connection at a time), or the device isn't in pairing mode. Disconnect it from vendor phone apps and from Intiface Central if that's running, then retry the browser's device picker in Chrome or Edge.
All of these methods can deliver good synchronized playback — the bigger factor is the quality of the funscript itself. That said, The Handy's HSSP mode is purpose-built for synchronized script playback rather than streaming individual commands, which makes it a robust choice for Handy owners. If sync feels off, test the same .funscript in a third-party player like ScriptPlayer or DeoVR to isolate whether the issue is the script or the connection.
Create a free HaptiQ account to generate a funscript from your own video.