Inspiration

Many people spend hours repeating the same browser tasks: filling forms, downloading reports, updating portals, comparing information, submitting applications, and moving data between websites.

Traditional browser automation tools are often difficult to configure and break whenever a website changes its layout, button text, or HTML structure. Most users cannot write Playwright scripts or maintain fragile CSS selectors.

We wanted to build an agent that understands the goal behind a browser task instead of simply replaying recorded clicks.

That idea became Agentic Browser: an AI-powered browser that can understand natural-language instructions, navigate websites, complete multi-step workflows, recover from interface changes, and ask for approval before taking sensitive actions.


What it does

Agentic Browser allows users to describe a task using natural language, such as:

“Open the dashboard, download last month’s sales report, and upload it to the finance portal.”

The agent then:

  1. Breaks the request into executable steps.
  2. Opens and navigates websites.
  3. Understands page content using the DOM, accessibility tree, and screenshots.
  4. Clicks buttons, fills forms, selects options, uploads files, and downloads documents.
  5. Verifies whether every action produced the expected result.
  6. Detects unexpected popups, validation errors, or changed layouts.
  7. Uses visual reasoning when normal browser selectors fail.
  8. Pauses before payments, submissions, account changes, or other sensitive actions.
  9. Produces a complete activity log with screenshots and execution evidence.

Agentic Browser can also learn a workflow from a human demonstration. A user performs a browser task once, and the system converts those actions into a reusable semantic workflow.

Instead of remembering:

“Click the third button.”

It remembers:

“Click the button that exports the current sales report.”

This allows the automation to continue working even when the website interface changes.


How we built it

We built Agentic Browser using a hybrid architecture that combines deterministic browser automation with AI-based reasoning.

The major components are:

Browser automation layer

We used Playwright to control an isolated Chromium browser. This layer handles:

  • page navigation
  • clicking
  • typing
  • scrolling
  • form interactions
  • file uploads
  • file downloads
  • browser events
  • screenshots
  • DOM extraction

Agent planning layer

The AI agent receives the user’s goal and converts it into a sequence of browser actions.

It maintains:

  • the original user objective
  • the current browser state
  • completed steps
  • expected outcomes
  • previous failures
  • available recovery strategies

Semantic page understanding

For each page, the system collects:

  • DOM structure
  • accessibility-tree information
  • visible text
  • element roles
  • labels and nearby context
  • screenshots
  • current URL
  • page state

The agent uses these signals to identify the correct element based on meaning rather than relying on a single selector.

Hybrid execution strategy

Agentic Browser follows a layered execution approach:

DOM selector
     ↓
Accessibility role and label
     ↓
Semantic element matching
     ↓
Screenshot-based visual reasoning
     ↓
User intervention if confidence remains low

Structured browser actions are used whenever possible because they are fast and reliable. Visual reasoning acts as a fallback for dynamic interfaces, canvas-based applications, popups, and changed layouts.

Verification engine

After every important action, the system checks whether the expected outcome occurred.

For example, after clicking a download button, it verifies that:

  • a download started
  • the expected file type was received
  • the file exists
  • the browser did not display an error

The agent only moves forward when it has enough evidence that the previous step succeeded.

Safety engine

Every action is assigned a risk level.

Risk level Example Behaviour
Low Scroll or open a page Execute automatically
Medium Fill a normal field Execute and display activity
High Send an email or submit a form Request user approval
Critical Payment or account deletion Require explicit confirmation

The system also treats webpage content as untrusted so that text inside a website cannot override the user’s original instruction.


Challenges we ran into

Understanding intent from browser events

Clicks and keystrokes do not directly reveal why a user performed an action. We had to combine browser events with surrounding page content to understand the semantic purpose of each step.

Handling dynamic websites

Modern websites frequently generate random element IDs, update content without reloading, and display different layouts across sessions. Fixed selectors were not reliable enough, so we combined multiple signals such as visible text, accessibility roles, page context, and visual position.

Recovering from unexpected states

Cookie banners, expired sessions, validation errors, modal dialogs, advertisements, and loading delays can interrupt a workflow. We designed the agent as a stateful execution system rather than a fixed macro so it could retry, recover, or request assistance.

Verifying that an action actually worked

A successful click does not always mean the user’s goal was achieved. The agent may click the wrong element, encounter a hidden error, or navigate to an unexpected page.

We therefore added an action-verification loop after every significant step.

Balancing autonomy and safety

Requesting confirmation for every action creates a poor experience, but allowing complete autonomy can be dangerous. We implemented risk-based approval so routine navigation remains automatic while consequential actions remain under user control.

Protecting against prompt injection

A malicious webpage could display instructions telling the agent to reveal information or perform an unrelated action. We separated trusted user instructions from untrusted webpage content and restricted the agent to the permissions granted by the user.


Accomplishments that we're proud of

We are proud that Agentic Browser is more than a simple browser macro or scripted automation.

Our key accomplishments include:

  • Building an agent that can convert natural-language goals into browser actions.
  • Combining DOM automation with screenshot-based visual reasoning.
  • Creating semantic workflows that survive layout and selector changes.
  • Adding verification after every important browser action.
  • Implementing self-healing behaviour when an interface changes.
  • Designing human approval gates for sensitive operations.
  • Maintaining detailed execution logs and screenshots.
  • Allowing users to teach workflows through demonstrations.
  • Creating an architecture that can support many websites without requiring custom integrations for every platform.

The most important accomplishment was enabling the agent to understand the purpose of an action rather than only its original location on the screen.


What we learned

We learned that reliable browser automation requires understanding, verification, and recovery—not just clicking.

DOM-based automation is precise and efficient, but it is not sufficient for every website. Visual reasoning provides resilience, while structured browser tools provide reliability. The strongest system combines both approaches.

We also learned that an autonomous agent should never assume an action succeeded. Every important step must have an expected outcome and a method for verifying it.

Another major lesson was that semantic intent is more durable than selectors. A workflow described as “download the latest invoice” can adapt to interface changes, while a workflow described as “click element number three” cannot.

Finally, we learned that human approval is a core part of agentic system design. Safe autonomy does not mean removing the user from the process. It means involving the user at the moments where their decision matters most.


What's next for Agentic Browser

Our next goal is to turn Agentic Browser into a secure platform for reusable personal and business automations.

Planned improvements include:

  • Scheduled and recurring browser workflows.
  • Encrypted credential and session management.
  • Voice-controlled browser automation.
  • Workflow sharing between teams.
  • Organization-level security policies.
  • Automatic workflow versioning.
  • Stronger prompt-injection detection.
  • Cross-browser and cross-device execution.
  • Support for native desktop applications.
  • Automatic generation of standard operating procedures.
  • A marketplace for reusable browser-agent workflows.
  • Reliability scoring based on verified execution history.
  • Automatic repair of workflows using previously successful executions.

Our long-term vision is to create a browser that does not only display software interfaces, but actively helps users operate them.

Agentic Browser turns any website into an interface that can understand goals, take action, recover from failure, and work alongside the user.

Built With

  • kotlin
  • openai
  • playright
  • rust
Share this project:

Updates