Every other onboarding tool sends visitors somewhere else β a Loom link, a screenshot tour, a separate demo domain. looped.live keeps them here: your voice and cursor, floating over the page they're already on, with highlights bound to the live DOM.
One plan that scales with you. Cancel anytime.
Not a demo environment. Not a screenshot tool. You open your actual product in a browser tab β the looped toolbar appears. You walk through it as you would on a customer call: scrolling, clicking, explaining.
Press βE on any element while recording. Its CSS selector is captured live β not a screenshot, not pixel coordinates. The selector. It will resolve against the visitor's DOM at playback time, on their actual page, regardless of what changed since you recorded.
A Loom link takes visitors away from your product. A chat widget buries the video in a side panel. looped.live floats the video directly over the page the visitor is already on β they watch you explain your pricing while looking at your pricing page. Context is never broken.
One <script> tag covers every page. Define which video shows on which URL β homepage, /pricing, /signup. New visitors see the founder hello. Returning visitors skip it. Once seen, never repeated.
Screenshot-based tools store pixel coordinates. After one redesign, one deploy, one viewport change β the highlight is in the wrong place. Or silently gone.
looped.live stores the CSS selector of every element you marked. At playback, document.querySelector(selector) runs against the visitor's live DOM. The highlight appears over their actual element β adapts to their viewport, survives your next deploy, updates with your product automatically.
The three properties that together define in-context video onboarding. Most tools have one. Some have two. None of them had all three β until now.
| Tool type | Real video | Stays on the page | DOM-aware highlights |
|---|---|---|---|
| Async videoLoom, Vidyard, Slack clips | β | β opens new tab | β |
| Product toursAppcues, UserGuiding, Pendo | β tooltips, no video | ~ on-page | β screenshots |
| Interactive demosArcade, Navattic, Storylane | ~ screenshot video | β vendor domain | β screenshots |
| looped.liveIn-context video onboarding | β webcam + screen | β floats on page | β live DOM |
Add the snippet to your site. One token covers every page. No configuration required.
Open your site, hit record. Walk through it. Press βE to mark elements. Done in 90 seconds.
Choose which URL shows the video and for which visitor β new, returning, or any. Publish. Done.
Free forever for side projects. Flat fee for teams β no per-play markups, no overage anxiety.
Three different gaps. Loom is great for async β but it's a link, visitors leave your page to watch it. Appcues and UserGuiding build tooltip tours in a separate editor using screenshots β they break after a redesign. Arcade and Navattic are clickable screenshots living on a different domain. looped.live is the only tool where both recording and playback happen on the live website, with highlights that resolve against the visitor's actual DOM via CSS selectors. A different category entirely.
CSS selectors are robust as long as the element still exists. If you rename an ID from #pricing-cta to #hero-cta, looped falls back to the bounding rect captured at recording time. And re-recording takes 90 seconds β because you're recording on the real product, not rebuilding a static tour step-by-step.
No β and we have receipts. The widget is 28KB, async, and lazy-loaded after first paint. Measured impact: +0ms LCP. Your Core Web Vitals stay intact.
Screen-only mode works too β you still get cursor replay and DOM highlights, just without the webcam feed. That said: a real human face outperforms screen-only by roughly 2Γ. The recording is 90 seconds on your own product, not a polished production.
Record your first contextual video in 90 seconds β on your real product, with real DOM highlights. Live in 4 minutes.