Demo
Inspiration
When you land in a new city and need somewhere to sleep, the options are scattered across a dozen hospitality networks: Couchsurfing, BeWelcome, Trustroots, house-sitting sites, work exchanges, home swaps. Each one has its own search, its own login, its own inbox. Nobody has time to check them all, so most people never find the free couch that was there.
We wanted a personal agent that does that legwork for you, and that lets you give back by hosting in one sentence.
What it does
AgentBnB is a chat with Couchbot, a personal agent for finding a place to crash.
- Find a stay. "I need a couch in Oakland this weekend." Couchbot searches 20+ networks (couches, house sits, work exchanges, farm stays, home swaps) and AgentBnB's own hosts at the same time, and shows the best matches with the reasons each one fits.
- Apply in one tap. Add places to an apply list and apply to all of them at once. The agent writes a tailored intro to each host in your voice and sends nothing until you approve. AgentBnB hosts get it in their inbox; on external sites a browser agent fills in the form for you, using logins from your encrypted Keychain and handing CAPTCHAs, 2FA or payment back to you.
- Keep track. Every application has a timeline with host replies, follow-up nudges after 3 days of silence, a calendar of where you're sleeping each night, and push and email notifications.
- Host in one sentence. "Put my place up this weekend." The agent asks where the place is (share your location or drop a pin), walks you through photos with a guided shot list, writes the listing, publishes it on AgentBnB and lists it on other networks with browser agents.
- Hosts stay in control. Requests arrive with the guest's profile and an intro the agent wrote, plus an optional background check of the guest's public footprint (identity and consistency only).
- Agent-to-agent. Other personal agents can search and book through an A2A endpoint and a public API, and get back share links that preview nicely in iMessage.
How we built it
- Next.js 16 (App Router) on Vercel, Tailwind CSS v4, with an Airbnb-inspired design system.
- AI SDK 7 through the Vercel AI Gateway with Claude for the agent. Server tools handle search, applications, listings and the calendar; client-side tools ask for your location, photos, dates and logins right inside the chat.
- Postgres on Neon with Drizzle ORM. One
listingstable normalizes every source, with markets from coordinates and locations rounded to about 1 km. - Browserbase + Stagehand for one generic browser agent that applies, replies and publishes on any site, with a live view you can take over at any time.
- Per-source scrapers that only read public listing pages, Vercel Blob for photos, Web Push and Resend for notifications, and an A2A JSON-RPC endpoint for other agents.
Challenges we ran into
- No public APIs. None of these networks have one, so the browser agent had to work generically across very different sites and know when to stop and ask the person.
- Secrets and agents. The model must never see a password. Logins are encrypted with AES-256-GCM and passed to the browser only as variables that are filled in inside the page.
- Privacy. No exact addresses, coordinates rounded, and no storing other people's data we don't need.
Accomplishments that we're proud of
Going from "I need a couch" to applications sent to several hosts across different networks in about a minute, while the person stays in control of every message.
What we learned
Agents are only as useful as the boring parts around them: approvals, logins, retries, notifications and a clear view of what they did for you.
What's next for AgentBnB
Keeping listings in sync across every network, pulling requests from external sites into one inbox, and expanding beyond the San Francisco Bay Area.
Built With
- a2a
- anthropic
- browserbase
- claude
- drizzle
- neon
- next.js
- postgresql
- react
- resend
- stagehand
- tailwindcss
- typescript
- vercel
- vercel-ai-gateway
- vercel-ai-sdk
- vercel-blob
- web-push
Log in or sign up for Devpost to join the conversation.