How Viewers Will Interact Directly With a Model's Live Video

New Features Sep 7, 2026

A Private show is a live stream between two people. The model is on camera. The viewer has a text box and a tip button.

Everything the viewer wants to communicate — where, what, how fast — has to be typed, read, and interpreted. By the time it arrives, the moment it referred to has moved on.

We're building a feature at Stripchat to cut that delay. It lets a viewer mark a spot on the live video, or trace a path across it. Words, reactions, and tips can't carry that. What follows is how it works: not the code, but the operations that carry a viewer's gesture to the model's screen while it still refers to something.

The idea

During a Private or Exclusive Private show, the viewer opens a dedicated interaction mode. They pick an action from a predefined set: grab, lick, touch, and other configurable gestures. Then they interact with the video itself, not with a control panel beside it.

The model sees where the viewer is pointing, live, as an overlay on their own stream.

The delay problem

Standard live streaming is built for stability, not reflexes. With protocols such as HLS, a stream is cut into segments, buffered, and played back several seconds behind real time. That works for watching. Pointing is a different problem, because whatever the viewer indicated has already moved by the time it reaches the model.

When an interactive session starts, the system may switch to or establish a lower-latency transport, such as WebRTC, for as long as the interaction lasts, then return to standard streaming mode once it ends.

From a finger to a frame

Here are the operations, in order.

1. Activation. The viewer opens the interaction mode from an entry point inside the show. Activation moves the session toward the lower-latency transport, enables the interactive overlay layer, and prepares real-time synchronization between the viewer and the model.

2. Action selection. The viewer picks an interaction type. Each type carries its own animation, gesture logic, timing, and visual feedback, so grab neither looks nor behaves like lick. The selected action determines what the coordinates after it mean.

3. Capture. A tap, a drag, or a pointer movement over the video area becomes spatial data. Those coordinates need to be tied to the video frame rather than to the screen, because the viewer's screen and the model's are almost never the same size. A point two-thirds of the way across the frame has to land two-thirds of the way across the frame on the receiving end, whether that frame is a phone held upright or a browser window on a large monitor.

Regions of the frame can also carry their own meaning. Contextual interaction zones let the same gesture read differently depending on where it lands.

4. Sampling and batching. An interaction is rarely a single point. While the viewer keeps moving a finger, a mouse, or another input device, coordinates are sampled over time and collected into arrays, which go out as batched socket messages instead of one message per input event. A fast drag would otherwise become a flood of traffic.

Sampling frequency, batch size, and buffer depth are all tunable, and they trade against each other. Higher sampling frequency smooths the movement and costs message volume. The receiving buffer works the other way: more of it means steadier playback and a later arrival.

5. Transport. Interaction events travel socket to socket through the real-time messaging backend. They leave over the viewer's socket connection and arrive on the model's socket connection. Video and interaction data move as separate streams, and the synchronization work exists to hold the gap between them small enough that the overlay still matches what's happening in the frame.

6. Playback. On the model's side, incoming coordinate samples land in a queue and are consumed in order by an animation loop. This is what turns received points back into movement. Without it, a batch arriving at once would render as a jump from the first coordinate to the last, and the shape of the movement would be lost.

7. Rendering. The overlay is drawn to a canvas surface composited as its own layer over the video, using a graphics API such as Canvas 2D, WebGL, or WebGPU, depending on what the device supports. Animating on canvas rather than in the DOM means fewer per-frame updates and layout passes, and a separate composited layer lets GPU-accelerated rendering handle the animation where the hardware allows.

What the Model sees

The overlay can start showing intent before the action lands.

Position, shape, direction, and trajectory can all change in sync with what the viewer is doing right now. The model can see a pointer, a marker, a drawn path, or a highlighted area while the viewer is still moving, before the action resolves into anything.

Its appearance can respond to more than the action type. Intensity, repetition, the state of the session, and the pattern of a viewer's interactions over time can all change how the overlay looks and behaves. A tenth touch in the same spot can render differently from the first.

Watching the intent arrive is the difference between a notification and being pointed at across a room. For a platform whose two loudest words are freedom and authenticity, that gap is most of the point.

More than one kind of pointing

Selecting a location is the simplest case. The same system carries other classes of spatial interaction:

  • point or focus on a specific location
  • directional movement
  • grab-and-move, or drag
  • drawing a trajectory
  • gaze-based input, and other spatial types not built yet

Every one of them carries a position in the frame, and some carry a direction or a path.

Spatial intent as its own channel

One use is triggering something: an animation, a connected device, an event. That will be the first thing anyone notices.

The larger claim is that spatial intent deserves the same standing as chat and tipping. It's a separate channel, with its own transport, timing requirements, and failure mode: the sync slips, and the overlay stops agreeing with the picture underneath it.

Where it runs

The interaction mode works on desktop and mobile, in the browser and in the app. It can also be offered in a Public show, where a viewer unlocks it by tipping a fixed number of tokens.

Interaction state persists through the session. Once the mode is on it can stay on for a configurable stretch, and the viewer can switch between action types in real time without setting anything up again.

Still being built

Parts of what's described here will change before the feature ships, which is what happens to anything that isn't finished.

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.