- Configure — the modal where you set rate, stimulus, modalities, and sets before Set 1 begins. Live-previews to your client so you both see the same thing before you start.
- Running — the BLS itself, with a HUD on your side showing set number, countdown, current SUDS, audio pan, and the dual-task prompt sidebar (EMDR 2.0).
- Between sets — a card that pops automatically after each set ends. Capture the SUDS, see the session sparkline, and click Continue.
- Session arc — the closing card after the final set. SUDS trajectory curve, stats tiles, and a Copy button that drops a plain-text session summary onto your clipboard for your chart.
What the client sees
The client sees the stimulus on a black or backdrop-filled canvas — a moving dot, butterfly, flame, star, or square, depending on your settings. If audio is on, they hear a tone panning hard left to right at the same rate. If haptic is on and they’re on Android Chrome, their phone vibrates in sync. That’s the entire client surface. There’s nothing to dismiss, nothing to configure, no panel to expand. The configure modal, the dual-task prompts, the SUDS card, the session arc — none of that touches the client device.What you see
A small overlay on top of the running canvas:- Stats pill at the top with the current set number, countdown to set end, total session time, and the latest SUDS value
- Dual-task prompt sidebar on the left in EMDR 2.0 mode, showing one of 15 prompts you can read aloud during the set
- SUDS scale down the right edge, a quick-reference for the 0–10 scale
- Audio pan indicator in the bottom left showing live left↔right movement
- End set button in the bottom right
How the two views stay in sync
The stimulus animation runs on the client’s device, driven by a small configuration Rivet sends over the call. That matters because sharing 60-fps bilateral stimulation through a 15–30 fps video stream produces visible tearing and dropped frames — the “lightbar tear” artifact every paid EMDR platform avoids by rendering on the client side. Your client gets smooth motion at their device’s native frame rate. When you change the rate, pick a new stimulus, or swap the sound preset, the change is sent the same way and the client view updates instantly — no restart, no reload, no “rejoin to apply.”What’s in scope
- EMDR 2.0 as the default — 1.5 Hz, visual + audio, dual-task prompts on
- Classic EMDR — Shapiro-standard 1.0 Hz, visual only, dual-task off
- Five stimulus shapes, six motion paths, eight sound presets, eight gradient scenes plus eight photo backdrops
- Visual + audio + haptic modalities (haptic on Android Chrome only — iOS Safari doesn’t expose vibration to the browser; haptic is silently skipped)
- SUDS capture between sets, stored on your device only
- One-tap Copy session summary at the end
What’s not in scope today
- Native iOS or Android EMDR Workspace. The Workspace runs in the browser today on every platform — including the Rivet mobile apps, which open video sessions in their built-in browser surface.
- Server-stored SUDS history. SUDS values live in your browser’s session storage for the duration of the session and clear when you close the tab. The Copy button is how a SUDS arc reaches your chart.
- AI-generated reflections or summaries. Rivet’s EMDR Workspace is a delivery tool, not a transcript generator. There is no recording, no ambient listening, no AI inference on session audio.
Related articles
The research behind EMDR
Shapiro’s protocol, the EMDR 2.0 variant, and the WHO and NICE guidance
behind the field.
Setting up an EMDR session
A walkthrough of every control in the Configure modal.
Practitioner controls
Spacebar start, pause, end, and the reason Rivet doesn’t auto-advance
between sets.
