Inspiration

Most browser AI assistants wait for you to ask a question. By then, you've already lost context—what page you were on, what you clicked, what form you were filling out.

We built BrowseAttune around a different idea: sense first, assist second. The assistant should proactively understand what you're doing in the browser, then step in at the right moment.

What it does

BrowseAttune is a Chrome side-panel agent that:

  • Proactively perceives your browsing—clicks, navigation, form changes, and page structure—through an event-driven perception layer (no polling, no model required for sensing)
  • Assists on demand via a native agent chat panel with page reading, browser automation, and domain-specific Skills
  • Respects privacy with per-domain opt-in, pause/resume controls, and local-only storage

How we built it

We built a Chrome MV3 extension with WXT, React 19, and TypeScript. The agent runtime uses Pi Agent Core and Pi AI for streaming conversations and tool execution—fully client-side, no backend required.

The perception foundation captures L0 raw evidence (user events, navigation) and L1 canonical page snapshots (structured DOM/accessibility representation), designed to work even when the LLM is offline. Skills are stored in IndexedDB and loaded progressively—only metadata at startup, full instructions on activation.

Challenges we ran into

  • Separating perception from inference: keeping the sensing layer deterministic (L0/L1) while leaving business understanding (L2/L3) to the agent
  • Chrome extension constraints: side panel lifecycle, content script injection, and permission scoping across tabs
  • Dynamic pages: element refs invalidate after DOM re-renders—every browser action requires a fresh snapshot

Accomplishments that we're proud of

  • A perception layer that runs independently of the model—event-driven, debounced, and evidence-chained
  • End-to-end browser agent with page read, snapshot/action tools, and packaged Skills (e.g. one-click form fill on enterprise workflows)

What we learned

Proactive assistance starts with observation architecture, not a better chat prompt. The hardest part is building a clean boundary between "what happened in the browser" and "what it means for the user."

What's next for BrowseAttune

  • L2/L3 layers: business semantics and task-level context aggregation
  • Proactive skill recommendations based on browsing patterns
  • Chrome Web Store release

Built With

  • browserautomation
  • chromeextension
  • pi
  • react
Share this project:

Updates