NewSee everything we shipped in Launch Week 3
All articles
TutorialsSeptember 4, 2025· 8 min read

Ship browser automation to users with Ferr and Convex

Store state in Convex, run browsers with Ferr, and give your users automations that just work.

JR
Jonah R.
Engineering

If you are building a product on top of browser automation, you need two things: somewhere to keep state and something to run the browsers. Convex handles the first, Ferr the second.

The pattern

run.ts
import { Ferr } from 'ferr';
 
export async function runJob(url: string) {
const s = await new Ferr().sessions.create();
await s.goto(url);
return await s.extract('summary');
}

Why it works

Convex keeps the job queue and results transactional; Ferr keeps the browsers warm and observable. Neither has to know much about the other.

Build it on Ferr
Launch your first cloud browser for free.
Start For Free