Visual Notes & Screen Annotations ๐
BrowserTrack enables developers and designers to leave visual feedback directly on DOM elements, custom screen regions, or full pages without leaving the browser.
๐ฏ Annotation Modes #
1. Element Notes (Alt + Click) #
- How to use: Hold Alt and hover over any element on the page. The element will highlight with its semantic CSS selector and dimensions. Click to open the note editor.
- Alternatively, click the ๐ฏ Element button in the floating toolbar.
- Context captured:
- Semantic CSS selector (e.g.
[data-testid="stats-banner"]or#user-card) - Element dimensions and bounding rectangle (
x,y,width,height) - Sanitized outerHTML and DOM hierarchy
- Viewport dimensions and scroll offsets
- Element screenshot snapshot
- Semantic CSS selector (e.g.
2. Region / Area Notes (Drag & Drop) #
- How to use: Click the ๐ Region button in the floating toolbar.
- Drag a bounding rectangle over any area on the screen.
- A top banner will appear with a โ Cancel (Esc) button.
- Releasing the mouse opens the note modal with the cropped region screenshot and coordinates.
3. Full-Page Notes #
- How to use: Click the ๐ Page button in the toolbar.
- Captures the entire page viewport state, URL route, and document context.
๐ Persistent On-Screen Markers #
When your application loads or syncs with the daemon:
- BrowserTrack automatically fetches all open notes for the project.
- Element Pins (
๐ #1): Placed at the top-left of each annotated element. Hovering highlights the element. - Region Outlines (
๐ #2): Renders a clean dashed boundary box around the selected area. - Page Notes (
๐): Pinned at the top right of the viewport. - Responsive Tracking: Markers dynamically stay anchored to elements as the page scrolls or resizes.
๐ Interactive Popover Details Card #
Clicking on any note marker opens the Note Details Card:
- Full Message: Displays the complete text/instruction.
- Target Metadata: Viewport dimensions, target selector, and creation timestamp.
- Action Buttons:
โ Resolve Note: Marks the note asRESOLVEDin real time.๐๏ธ Delete Note: Removes the note permanently from the database.โ Close: Closes the popover.
๐ ๏ธ Toolbar Controls #
The bottom-right floating toolbar gives quick access:
๐ฏ Element: Toggle element inspection mode.๐ Region: Activate rectangle drag mode.๐ Page: Open full-page note modal.๐ฌ Flow: Start/finish sequential scenario recording.๐ Notes (N): Toggle visibility of all note markers on screen.
๐ Hiding the Tool via Query String (Headless / Clean Mode) #
When running automated visual regression tests, Cypress, Playwright, or giving clean demo presentations, you can hide the visible BrowserTrack UI (dock, pins, overlays) completely using URL query parameters:
1. Built-in Query Parameters #
Simply append any of the following to your page URL:
?bt=0or?bt=falseor?bt=hiddenor?bt=off?browsertrack=falseor?browsertrack=0or?browsertrack=hidden?no_bt/?no_bt=1or?no_browsertrack=1?hide_bt=1or?hide_browsertrack=1
http://localhost:3000/dashboard?bt=false
2. Custom Query Parameter Configuration #
You can also define your own custom query parameters in client options:
import { init } from 'browsertrack/client';
init({
hideQueryParam: ['cypress', 'clean_view', 'no_ui'],
// or hide by default in specific environments:
hidden: process.env.NODE_ENV === 'test',
});
When hidden:
- The floating toolbar and on-screen note pins are not displayed.
- Alt+Click hover highlights and selection shortcuts are inactive.
- Background diagnostics (runtime errors, console capture, network logging, MCP command execution) continue working seamlessly in headless mode.
- Programmatic visibility can be restored anytime via
client.setUIVisible(true).