<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ezra Pham</title>
    <description>The latest articles on DEV Community by Ezra Pham (@ezraphm).</description>
    <link>https://dev.to/ezraphm</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2810373%2F8d9b9657-7c16-414f-8218-a79207e4dc25.jpeg</url>
      <title>DEV Community: Ezra Pham</title>
      <link>https://dev.to/ezraphm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ezraphm"/>
    <language>en</language>
    <item>
      <title>I Spent a Day Inside an AI Browser — Here's What Actually Works (and What Doesn't)</title>
      <dc:creator>Ezra Pham</dc:creator>
      <pubDate>Wed, 15 Jul 2026 06:01:04 +0000</pubDate>
      <link>https://dev.to/ezraphm/i-spent-a-day-inside-an-ai-browser-heres-what-actually-works-and-what-doesnt-2bf</link>
      <guid>https://dev.to/ezraphm/i-spent-a-day-inside-an-ai-browser-heres-what-actually-works-and-what-doesnt-2bf</guid>
      <description>&lt;p&gt;Last week, I finally got my hands on &lt;a href="https://aside.com" rel="noopener noreferrer"&gt;Aside&lt;/a&gt; — the AI browser that launched June 24 (YC F25) and hit 1.5M views on the founder's announcement post in its first week.&lt;/p&gt;

&lt;p&gt;I've been building agent systems for 2 years. I know how hard browser automation is. So when a 3-person team claims their browser outperforms Claude Fable on agentic benchmarks, I had to test it myself.&lt;/p&gt;

&lt;p&gt;Here's what I found after a full day of real use — not benchmark scores, but actual workflow wins and friction points.&lt;/p&gt;




&lt;h2&gt;
  
  
  What It Actually Is
&lt;/h2&gt;

&lt;p&gt;Aside is a Chromium desktop app that pairs a normal daily browser with a built-in AI agent. The agent can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log into any site using its built-in password manager&lt;/li&gt;
&lt;li&gt;Navigate dashboards, email, spreadsheets, and internal tools&lt;/li&gt;
&lt;li&gt;Take autonomous actions through "Ultrabrowse" mode&lt;/li&gt;
&lt;li&gt;Give you a clean interactive snapshot of any page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key insight: &lt;strong&gt;a browser agent reaches anything you can open a tab to.&lt;/strong&gt; Integration-based agents only touch tools someone wired up. That's a fundamentally bigger surface area.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxa1br4whz8gj8jc984h5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxa1br4whz8gj8jc984h5.png" alt="Browser agent" width="799" height="464"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyorhl118mntgy7kaiwm5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyorhl118mntgy7kaiwm5.png" alt="Password Manager" width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiwhgtvxqefkg4j8kk1ut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiwhgtvxqefkg4j8kk1ut.png" alt="Memory" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Stood Out
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Snapshot View Is Genuinely Useful
&lt;/h3&gt;

&lt;p&gt;Open any page and Aside returns a structured tree of every interactive element — buttons, links, inputs, textareas — each with a unique ref ID. No more digging through Chrome DevTools or guessing CSS selectors.&lt;/p&gt;

&lt;p&gt;This alone makes it worth trying if you do any kind of browser automation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Local-First Memory Is the Right Move
&lt;/h3&gt;

&lt;p&gt;Browsing history stays on your machine as markdown. No cloud upload, no "your data trains our model" fine print. For developers who care about privacy, this is how you build trust with a tool that has access to everything you do online.&lt;/p&gt;

&lt;h3&gt;
  
  
  It Has MCP Support
&lt;/h3&gt;

&lt;p&gt;This is the hidden superpower. Tools like &lt;a href="https://hermes-agent.nousresearch.com" rel="noopener noreferrer"&gt;Hermes Agent&lt;/a&gt; can drive Aside programmatically through the &lt;a href="https://modelcontextprotocol.io" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt;. That means your AI agent can browse the web, interact with pages, and execute multi-step workflows — all through a standardized interface.&lt;/p&gt;

&lt;p&gt;No API keys. No OAuth setup. Just login once and go.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Needs Work
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Shared REPL Scope
&lt;/h3&gt;

&lt;p&gt;In the REPL environment, every JavaScript call shares the same persistent scope. Use &lt;code&gt;const x&lt;/code&gt; once, and you can't redeclare it in the next call.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Call 1 — works fine&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pageTitle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;evaluate&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Call 2 — SyntaxError: Identifier 'pageTitle' has already been declared&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pageTitle&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;evaluate&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Workaround: use `let` instead&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;evaluate&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;evaluate&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;innerText&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// OK&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Minor friction, but it compounds when you're iterating quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  UI Automation Is Inherently Fragile
&lt;/h3&gt;

&lt;p&gt;This isn't specific to Aside — it's the fundamental tradeoff of operating at the UI layer vs. the API layer. If a site changes a button's &lt;code&gt;data-testid&lt;/code&gt;, your script breaks. The snapshot approach helps, but it's not a silver bullet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning Curve for Agent-Driven Mode
&lt;/h3&gt;

&lt;p&gt;The REPL and MCP interface is powerful, but documentation assumes you already know browser automation. A library of common workflow templates would lower the barrier significantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Verdict
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Would I use it daily?&lt;/strong&gt; Yes, for specific workflows.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;Recommendation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Browser automation scripts&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Research + data extraction&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Building AI agent pipelines&lt;/td&gt;
&lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General daily browsing&lt;/td&gt;
&lt;td&gt;⭐⭐⭐&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The team is shipping fast — they just hosted an ICML 2026 afterparty with researchers from OpenAI, Anthropic, and DeepMind. For a first-gen product from a 3-person team, this is impressive.&lt;/p&gt;

&lt;p&gt;If you build agents or automate anything in the browser, &lt;a href="https://aside.com" rel="noopener noreferrer"&gt;give it a spin&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I share daily build logs and tool reviews on X. Follow me &lt;a href="https://x.com/ezraphm" rel="noopener noreferrer"&gt;@ezraphm&lt;/a&gt; if you're into agent systems, automation, and shipping things anyway.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
