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
Log in or sign up for Devpost to join the conversation.