Semantic AI element matching
The widget inspects the live DOM tree and uses an LLM to target controls. UI refactors no longer break guidance flows.
Hardcoded product tours turn every frontend release into a selector maintenance chore. Adoption Layer is a lightweight JavaScript widget that analyzes live DOM hierarchy without static selector maps.
Every refactored component or CSS class change breaks traditional product tours. Fixing brittle selectors pulls engineers away from building core product features.
A recurring team moment
"A product manager updates onboarding docs. No React components need editing: the widget applies the guidance directly over the live DOM. Guidance logic stays out of your codebase."
The widget inspects the live DOM tree and uses an LLM to target controls. UI refactors no longer break guidance flows.
DOM snapshots capture structural tags only. Form input values and keystrokes are never recorded or transmitted.
Written in modern JavaScript with zero heavy dependencies and bundled with esbuild, preserving fast page loads.
The complete guidance lifecycle (initialization, loading, tool interactions, and handoff) runs autonomously.
Open-source libraries like Shepherd or Intro.js require constant selector updates and pollute your frontend components. Adoption Layer resolves targeting dynamically via a single script tag.
You remove guidance logic from your application code. Product teams manage documentation while engineers maintain full control over performance and security.
Add the script tag, initialize your API key, and customize the theme. It runs cleanly across modern frameworks (React, Vue, Angular) without touching private data.
No. The widget performs a lightweight DOM scan and offloads model inference asynchronously to our API.
The service sends a structural DOM representation to an LLM that identifies the relevant control based on user intent.
Yes. You can customize colors, positioning, and launcher icons to match your brand guidelines.
Analysis is restricted to structural tags. You can also specify CSS exclusion selectors to completely redact sensitive sections.