ego (lite) is just a browser, ego is your personal agent across devices.
Join waitlist
English

Browser tasks in practice

How to describe a web task to the agent, when to make it pause, and how to verify what came back.

llms.txt

This page first lays out what ego lite is actually for, then walks you through one task end to end so you can see exactly what happens between a natural-language prompt and a structured result.

ego lite is where the agent gets things done on the web for you. Anything behind a login — CRM, inbox, ATS, accounting, social, booking, internal admin — the agent can drive from start to finish. It reads your natural-language prompt, writes one ego-browser nodejs heredoc, runs it in a Space, and leaves the tabs you're using alone.

Recorded demo videos live at lite.ego.app/use-cases. The Expedia booking task at the bottom of this page is the one we walk through step by step.

Before you start

  1. Make sure ego lite is installed — see Quick start.

  2. At least one Agent CLI that has the ego-browser skill registered: Claude Code, OpenAI Codex, Cursor, Gemini CLI, Opencode.

  3. In the Agent CLI, type:

    /ego-browser <describe your task in natural language>
    

    The agent loads the ego-browser skill context and writes the corresponding heredoc on its own. Your only job is to describe what you want.

What you can do with ego lite

Anything you can do in a browser you're already logged into, the agent can do for you across one or more Spaces.

  • Social media. Reply to tweets, quote-tweet with citations from your own notes, draft and queue posts, pull engagement data, monitor mentions, scrape account activity. X, LinkedIn, Threads, Reddit, Instagram, Facebook all work. Anything that needs to be logged in to read or act, and that the public API doesn't give you, ego lite fills in.

  • Job search and recruiting. Hunt on LinkedIn, Wellfound, YC startup jobs. Filter, hit Apply into ATS (AshbyHQ, Greenhouse, Lever, Workday), upload a résumé, fill out mock answers, stop before Submit and wait for your nod.

  • Real estate, finance, shopping. Filter Redfin, Zillow, Apartments.com with your real criteria, run their mortgage and affordability calculators, dump structured data to a local markdown. Amazon price-checks, Costco bulk orders, brokerage back offices with locked-down APIs — same playbook.

  • Bookings. Flights, hotels, restaurants — the whole flow with mock passenger or guest data, stopping just before the payment page. The Expedia walkthrough below is a fully worked example.

  • SaaS back offices. HubSpot, Salesforce, Notion, Airtable, Linear, Stripe dashboard, GA4, Search Console, Mixpanel. Pull reports, refresh dashboards, bulk-update fields, schedule sends. Anywhere the public API is restricted, incomplete, or paid, ego lite fills in.

  • Internal tools. Your admin back office, staging, QA flows. Whatever sits behind SSO and out of reach of automation frameworks — ego lite inherits the real logins of your daily browser, so it just walks through.

The walkthrough below takes one task from prompt to result so you can see what the machinery is doing underneath.


Expedia one-way booking: full walkthrough

A real task on Expedia US: search next Friday's one-way JFK→MIA flights, filter to nonstop, sort by price ascending, pick the cheapest flight operated by Delta or American Airlines, fill out the passenger form with mock data, stop just before the payment page, and send back flight number, departure time, and total with taxes. From prompt to result is 14 browser actions.

Watch the video, then read the two sections after — what makes this task hard, and how ego lite handles it.

Prompt:

Search Expedia for a one-way flight next Friday from New York (JFK) to Miami (MIA). Apply the "Nonstop" filter and sort results by "Price (Lowest to Highest)." Choose the cheapest flight operated by either Delta Air Lines or American Airlines, then proceed to the passenger information page. Use the following mock data to fill out the passenger form:

Stop before the payment page. Then provide:

  • Flight number
  • Departure time
  • Total price including taxes and fees.

Recorded video:

The agent translates that prompt into one ego-browser nodejs heredoc, runs it in a Space that never touches your foreground tabs, and returns a structured cliLog: American Airlines AA 655, 5:35am, $188.40 — one step short of payment.

What makes this task hard

We picked Expedia because it bundles the typical hard bits of a modern web page into a single 14-step flow. You'd hit the same potholes on CRM, ATS, internal admin, or any SaaS you live in. Five things stack up here:

  1. A date picker where each date cell has no aria-label and no data attribute — just the visible number.
  2. A "Nonstop" filter whose aria-label includes the live flight count and the current cheapest price ("12 Nonstop flights from $189"). Any hard-coded selector goes stale the next time Expedia repricies.
  3. A sort dropdown that closes if any DOM-level JS click fires between opening it and clicking the option.
  4. A "Bundle & Save" upsell modal with a "No thanks" link that has no stable accessibility ref, and only appears on certain fare types.
  5. Between Trip Summary and Checkout, a forced "Continue without choosing seats?" modal that silently stalls the flow if it isn't handled.

None of these are exotic. Notion, Linear, Airbnb, Salesforce, LinkedIn, Stripe dashboard — almost every tool you open on a Tuesday morning is the same stack underneath: React, controlled inputs, modal-driven flows, layouts under weekly A/B tests. Pick a slightly complex task in any of them and the agent will run into at least a few of these.

Expedia is special only because it packs all five into a single 14-step recordable flow. So we picked it. If ego lite holds up on Expedia, it'll hold up on most of what's on your list.

How ego lite handles each one

Five pain points, each mapped to a specific architectural choice:

  1. Date cells with no semantics. ego-browser's snapshot is produced at the custom Chromium engine's kernel layer, so even semantically poor elements come out with stable loc= paths and correct parent-child structure. When the snapshot isn't enough, the agent drops into js(String.raw\...`) inside the same heredoc and queries the DOM directly (.uitk-month-double-left+td.innerText === '5'`) to find the right cell. Both layers in one script, no round trip.
  2. Aria-labels that change values. Selectors support partial matches (input[aria-label*="Nonstop flights"]), so the script doesn't depend on a string that only holds until Expedia's next reprice.
  3. A dropdown that closes on JS click. click('@N') dispatches real mouse coordinates via CDP, not a DOM click event, so the dropdown's open state isn't interrupted between two clicks. One heredoc, two @N clicks: open, then pick.
  4. A modal with no stable ref. When refs don't cut it, the agent computes the link's getBoundingClientRect() inside js() and calls click([x, y]) by coordinates. The same click() helper takes CSS selectors, refs, viewport coordinates, or element-relative offsets.
  5. A forced-choice modal. The kernel-layer snapshot reliably sees [role="dialog"][aria-modal="true"] overlays, including modals mounted through React portals outside the main tree. The script knows the modal is up, finds the "Continue to Checkout" button inside, and clicks through.

Underneath all five sits the same root choice: code base, not CLI base. The agent writes one full script, runs it in one shot, and freely switches between semantic refs, in-page JavaScript, and raw CDP inside the same heredoc. It doesn't fall into the "run a command, look at the output, run another" loop that turns a 14-step task into a 14-round model wrestling match.

A few more pieces hold up that choice:

  • Real Chrome login state. Your everyday Chrome bookmarks, cookies, extensions, logins, and Profile get migrated on first launch with one click. You're not starting from a blank headless Chromium, you don't have to "close Chrome first," and you don't trigger the harsher anti-bot path that "headless" alone tends to flag.
  • An isolated Space. Across all 14 steps on Expedia, your foreground tabs don't move. No popups stealing focus, no tabs flying to a new window, no clicks landing on the text you just highlighted.
  • Your own agent. Claude Code, OpenAI Codex, Cursor, Gemini CLI, Opencode all drive ego lite through the same ego-browser skill. You're not locked into one model or one assistant UX.

The Expedia walkthrough is just one task. The same architecture, the same way, covers every category at the top of this page.


Try it with something you actually need to do today

The fastest way to tell whether ego lite is for you is to grab something on today's list and try it.

If you haven't installed yet

Pick whichever option works for you.

Or, in any Agent CLI terminal:

curl -fsSL https://lite.ego.app/install.sh | sh

Either way installs the ego lite browser, the ego-browser helper, and registers the skill with every Agent CLI on your machine. On first launch you'll get one question: import your browser data? Then select the corresponding browser to confirm, and your logins, cookies, extensions, and Profile come along in one click.

If you've already installed

Open your Agent CLI, type /ego-browser, and follow it with what you want done.

Not sure where to start? Pick one of these five and paste it in:

Social media

/ego-browser Pull every mention of my X account from the last 24 hours, sort by engagement, and draft a reply to each. Queue the drafts, don't post anything.

Job search and recruiting

/ego-browser Search LinkedIn for remote "product manager" jobs posted in the last week. For the top 10, pull company, title, and salary range into a markdown table.

Real estate and shopping

/ego-browser Search Zillow for 2-bedroom rentals in Seattle under $3000/month that allow pets. List address, rent, square footage, and link as a table.

Bookings

/ego-browser Search Expedia for hotels near Miami Beach next Saturday night, 4 stars and up, under $200. Sort by rating, list the top 5, and stop before booking.

SaaS back office

/ego-browser Log into my Salesforce, group this quarter's pipeline by stage, and export the total amount and deal count per stage to markdown.

Paste, hit enter, then open the Space panel in ego lite and watch the agent work.