Point at the UI. Your AI gets the brief.

Anyone on your team clicks an element on a running app and leaves a sentence. Your AI tool gets the selector, the winning CSS, and the exact context to make the right change — no more translating vague screenshots into code.

The structured brief — what a comment actually carries

A screenshot tool hands your AI a picture and a guess. Pointer captures the exact DOM state so an agent never has to explore blindly.

Captured field Why an AI tool cares
selector

Identifies the exact DOM element without a screenshot or a description.

snapshot

The element's own opening tag, attributes (≤120 chars), and text (≤160 chars) — deliberately shallow so it does not drown the model in child markup.

appliedCssRules

The rules that win, not the full computed dump. Answers "why is it blue?" before the agent even asks.

computedStyles, classes, parentInfo

Disambiguates structure when the selector is generic.

route, pageUrl, pageTitle

Identifies which screen and view to open so the agent edits the right component.

viewport, deviceType, devicePixelRatio

Turns "broken on mobile" into an exact, reproducible condition.

PageContextSnapshot

Opt-in on bug reports: console errors and failed/slow network requests at the moment of the issue.

sourcePath

Configured attribute or framework dev-mode path when present.

A structured brief, not a screenshot.

Without Pointer

"Go to the signup form, make the title bigger and blue, hook the plan dropdown up to /api/plans, and make the submit button actually POST to /api/leads…"

With Pointer

🐕 click the title, dropdown, or button → 💬 leave a comment on each → ✨ AI applies them all.

How it works

Point & comment

Anyone signed in clicks any element on the running app and leaves a short comment.

Triage in the dashboard

Comments land in the dashboard tagged by project, environment, stakeholder, and status — triaged like real work.

Applied by AI

A developer hands the queue to any AI tool over plain HTTP, which edits the real source files.

Committed, never pushed

The AI commits per your project style and links each applied comment back to the author. The AI never pushes — that stays human.

Save time, cut costs, spend fewer AI tokens

Save time

Every comment already carries the exact element, page, and winning CSS — no back-and-forth figuring out what someone meant.

Cut costs

Fewer status meetings and clarification threads — the context a call would have needed is attached to the comment.

Spend fewer AI tokens

A lightweight summary view and a one-command helper replace twenty exploratory loops with a direct, targeted brief — keeping prompts lean and focused.

One organized queue

Comments are tagged by project, environment, stakeholder, and status — one triaged queue instead of scattered screenshots and chat threads.

Built for real teams

Two-line install

Drop a script tag and a custom element. No package, no SDK.

Multi-project & multi-tenant

One server serves every app and workspace — partitioned and isolated per project, enforced server-side.

Style-isolated

The widget renders in a Shadow DOM, so it never clashes with host application CSS.

Works on any site

The browser extension lets you point and comment on sites you don't even control, staying signed in everywhere.

For stakeholders

Point and comment on the live app — no install, no setup. Clients, PMs, and testers just click.

For developers

Pull the queue and let any AI apply the changes to the real source. Comments carry the page route and the CSS that actually wins.

Trust & privacy

Built for teams who take source code security seriously.

An AI edits my code?

It edits on a local branch and commits per your project style. It never pushes. You review the diff like any other change. Every applied comment carries its commit URL.

What do you capture?

Only element-level DOM metadata when you click to comment. Form values, cookies, localStorage, and request bodies are never captured. See our Data & self-hosting guide and Privacy Policy.

Which AI tool do I use?

Any tool you prefer. Pointer serves standard markdown instructions and plain HTTP — works with Claude Code, Cursor, and any LLM agent. Zero proprietary lock-in.

Is my data stuck with you?

Self-host the complete system: API and Postgres on your own infrastructure. You keep full control of your database and data. See the Documentation.

Simple, transparent pricing

Loading plans…

Point on any site — get the browser extension

Add Pointer to any web app — even ones you don't control — and stay signed in across every site.

Try it in one click — no install