saksham-dev0/Brovio.cc

Workflows for the browser, type english and make it do the tasks for you in real time, applying for jobs, handling clients and answering to JIRA ticket etc.

TypeScript

1

54 commits

updated Sep 20, 2026

See the code

See what people are saying

SourceMessageScoreDate

built an open-source visual workflow builder for browser automation, you describe the task in English and watch a real browser do it (r/SideProject)

For the past few months I've been losing hours every week to the same browser tasks: applying to jobs, chasing client updates, drafting replies to Jira tickets. All of it on sites with no usable API, so Zapier-type tools couldn't touch it. With tools like n8n, zapier. I never use 98% of their…

1

Sep 23, 2026

README

Brovio logo

Brovio.cc

Automate the web on a canvas, run it on real cloud browsers.

Drag nodes onto a canvas to open pages, act on them, observe them, and extract structured data. Connect them, press Run, and watch every step execute live — with a full session replay when it finishes.


License: AGPL v3 Self-hostable PRs welcome


Next.js React TypeScript Tailwind CSS Postgres Drizzle

Clerk Trigger.dev Liveblocks React Flow Browserbase Stagehand


Live app · Self-hosting guide · Docs · Contributing


Demo

Brovio demo — building and running a workflow on the canvas

▶︎ Try it live — build a workflow and watch it run


The canvas

Brovio canvas with live multiplayer cursors and the node toolbar

Node editor
Configure a node — every field can read values from earlier steps.
Run logs and output panel
Read every step — logs and structured output under the canvas.

Nodes

NodeWhat it does
🔵StartKicks off the run. Every workflow begins here.
🟢Open URLNavigates the cloud browser to a page.
🟣ActPerforms one atomic action — click, type, select.
🟡ExtractPulls structured data off the page against a schema.
🔷ObserveInspects what is on the page before acting on it.
🔴AgentHands a goal to an AI agent and lets it drive.
🟦Send EmailDelivers the result when the run finishes.

Every node publishes named outputs. Write {{ nodeId.title }} in a later node's field and the value flows straight through when the run reaches it.

Full reference: Nodes.


Two ways to run it

☁️ Hosted

Subscribe and we run it for you. Nothing to install, nothing to configure.

Start automating →

🖥️ Self-hosted

The same application, run by you, free. No feature gates, no limits, no subscription.

Self-hosting guide →


Quickstart (self-hosting)

You need Docker, and free accounts with Clerk, Liveblocks, Browserbase, and Trigger.dev. Postgres is included — no database provider needed.

git clone https://github.com/saksham-dev0/browser-automation.git
cd browser-automation
./scripts/setup.sh

The script tells you what is missing, creates your .env, builds and starts everything, makes it survive reboots, and deploys the workflow tasks. Run it again any time — after pulling new code, or just to check on things.

Full walkthrough from a bare machine, including installing Docker and where each key comes from: self-hosting guide.

[!IMPORTANT] One step is not just an environment variable: Trigger.dev needs your own project reference in trigger.config.ts. Workflow runs fail without it. See Trigger.dev setup.

Upgrading:

git pull
./scripts/setup.sh

Services you need accounts for

Self-hosting is not dependency-free. Clerk, Liveblocks, and Browserbase cannot be self-hosted, though each has a free tier. Trigger.dev can be self-hosted or used via their cloud. Postgres runs in the Compose stack.

ServiceUsed forSelf-hostable
ClerkAuth and organizationsNo — free tier
LiveblocksMultiplayer canvasNo — free tier
BrowserbaseCloud browsers and replaysNo — free tier
Trigger.devBackground workflow runsYes, or cloud
PostgresWorkflows, runs, resultsYes — in Compose

Full list with signup links: environment variables.


Built with

Next.js 16 (App Router) · React 19 · Drizzle ORM on Postgres · Clerk for auth and organizations · Trigger.dev for background runs · Liveblocks for the multiplayer canvas · React Flow for the canvas itself · Stagehand on Browserbase for the browser work.


📚 Documentation

GuideWhat is in it
Self-hostingBare machine to running app
Trigger.dev setupThe one step that is not an env var
Environment variablesEvery key, and where to get it
NodesWhat each node does and outputs
ArchitectureHow a run actually executes

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md.


License

AGPL-3.0. You may run, modify, and self-host this freely. If you offer it to others as a network service, you must publish your modifications. See LICENSE.


Built by @saksham-dev0

Contributors

saksham-dev0

54 commits

saksham-dev0/Brovio.cc

Workflows for the browser, type english and make it do the tasks for you in real time, applying for jobs, handling clients and answering to JIRA ticket etc.

TypeScript

1

54 commits

updated Sep 20, 2026

See the code

See what people are saying

SourceMessageScoreDate

built an open-source visual workflow builder for browser automation, you describe the task in English and watch a real browser do it (r/SideProject)

For the past few months I've been losing hours every week to the same browser tasks: applying to jobs, chasing client updates, drafting replies to Jira tickets. All of it on sites with no usable API, so Zapier-type tools couldn't touch it. With tools like n8n, zapier. I never use 98% of their…

1

Sep 23, 2026

README

Brovio logo

Brovio.cc

Automate the web on a canvas, run it on real cloud browsers.

Drag nodes onto a canvas to open pages, act on them, observe them, and extract structured data. Connect them, press Run, and watch every step execute live — with a full session replay when it finishes.


License: AGPL v3 Self-hostable PRs welcome


Next.js React TypeScript Tailwind CSS Postgres Drizzle

Clerk Trigger.dev Liveblocks React Flow Browserbase Stagehand


Live app · Self-hosting guide · Docs · Contributing


Demo

Brovio demo — building and running a workflow on the canvas

▶︎ Try it live — build a workflow and watch it run


The canvas

Brovio canvas with live multiplayer cursors and the node toolbar

Node editor
Configure a node — every field can read values from earlier steps.
Run logs and output panel
Read every step — logs and structured output under the canvas.

Nodes

NodeWhat it does
🔵StartKicks off the run. Every workflow begins here.
🟢Open URLNavigates the cloud browser to a page.
🟣ActPerforms one atomic action — click, type, select.
🟡ExtractPulls structured data off the page against a schema.
🔷ObserveInspects what is on the page before acting on it.
🔴AgentHands a goal to an AI agent and lets it drive.
🟦Send EmailDelivers the result when the run finishes.

Every node publishes named outputs. Write {{ nodeId.title }} in a later node's field and the value flows straight through when the run reaches it.

Full reference: Nodes.


Two ways to run it

☁️ Hosted

Subscribe and we run it for you. Nothing to install, nothing to configure.

Start automating →

🖥️ Self-hosted

The same application, run by you, free. No feature gates, no limits, no subscription.

Self-hosting guide →


Quickstart (self-hosting)

You need Docker, and free accounts with Clerk, Liveblocks, Browserbase, and Trigger.dev. Postgres is included — no database provider needed.

git clone https://github.com/saksham-dev0/browser-automation.git
cd browser-automation
./scripts/setup.sh

The script tells you what is missing, creates your .env, builds and starts everything, makes it survive reboots, and deploys the workflow tasks. Run it again any time — after pulling new code, or just to check on things.

Full walkthrough from a bare machine, including installing Docker and where each key comes from: self-hosting guide.

[!IMPORTANT] One step is not just an environment variable: Trigger.dev needs your own project reference in trigger.config.ts. Workflow runs fail without it. See Trigger.dev setup.

Upgrading:

git pull
./scripts/setup.sh

Services you need accounts for

Self-hosting is not dependency-free. Clerk, Liveblocks, and Browserbase cannot be self-hosted, though each has a free tier. Trigger.dev can be self-hosted or used via their cloud. Postgres runs in the Compose stack.

ServiceUsed forSelf-hostable
ClerkAuth and organizationsNo — free tier
LiveblocksMultiplayer canvasNo — free tier
BrowserbaseCloud browsers and replaysNo — free tier
Trigger.devBackground workflow runsYes, or cloud
PostgresWorkflows, runs, resultsYes — in Compose

Full list with signup links: environment variables.


Built with

Next.js 16 (App Router) · React 19 · Drizzle ORM on Postgres · Clerk for auth and organizations · Trigger.dev for background runs · Liveblocks for the multiplayer canvas · React Flow for the canvas itself · Stagehand on Browserbase for the browser work.


📚 Documentation

GuideWhat is in it
Self-hostingBare machine to running app
Trigger.dev setupThe one step that is not an env var
Environment variablesEvery key, and where to get it
NodesWhat each node does and outputs
ArchitectureHow a run actually executes

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md.


License

AGPL-3.0. You may run, modify, and self-host this freely. If you offer it to others as a network service, you must publish your modifications. See LICENSE.


Built by @saksham-dev0

Contributors

saksham-dev0

54 commits

Languages

TypeScript

89.9%

Shell

8.2%

CSS

1.0%