AI-powered, zero-config onboarding flow built with Next.js, Browserbase and Tailwind CSS v4.
Drop a company URL ➜ we scrape the site, extract the logo/banner/title, and spin up a branded dashboard in seconds.
This demo is using Zustand to manage state. In a production environment, you would likely be saving this information to a database somewhere.
- Clone & install
pnpm install # or npm i / yarn
- Environment
Create a .env
file in the project root:
# Browserbase / Stagehand
BROWSERBASE_API_KEY="your-api-key"
BROWSERBASE_PROJECT_ID="your-project-id"
- Run dev server
pnpm dev # http://localhost:3000
Scripts: pnpm build
, pnpm start
, pnpm lint
.
POST /api/extract-company-info
Returns (validated with zod
):
{
"title": "Example Inc.",
"faviconUrl": "https://example.com/favicon.ico",
"bannerUrl": "https://example.com/og.png"
}
• Next.js 15 · React 19 · TypeScript 5
• Stagehand 2.4 (Browserbase)
• Zustand for client state
• zod for runtime validation
• Tailwind CSS 4 + Radix primitives + Lucide icons
- Secrets are never sent to the client – Browserbase credentials live in server env.
- All external input is validated with
zod
. - No SQL/db layer here, but in real apps use parameterised queries / ORM.
- Safe headers / CSP should be enabled at the platform (Vercel) level.
MIT
Demo inspired by Resend onboarding.