A 48-hour design engineering challenge - designing and building a marketplace where AI agents discover, compare, and book real-world services on behalf of users.
Service marketplaces like Thumbtack and Angi are built for humans clicking through websites. Fetch is built for AI agents calling an API - structured data in, confirmed booking out. This project explores what a two-sided marketplace looks like when the primary actor is an agent, not a human finger on a screen.
AI agents can search the web. But searching returns unstructured results - stale availability, no pricing API, no booking endpoint. The agent finds a plumber but still has to tell the user to "call this number." The loop never closes.
From "I need a plumber" to confirmed booking without leaving the agent chat. Zero redirects, zero phone calls.
Provider onboarding, availability management, and earnings on one side. Agent-powered discovery, comparison, and booking on the other. Both feel native to the same system.
Every UI choice - the split canvas, the role-first onboarding, the email-as-interface inspiration - documented and defensible.
The core interaction challenge: how do you design for an agent as the primary actor while keeping humans in control? The answer was the split canvas - agent chat driving intent on the left, live marketplace results on the right. The conversation and the marketplace visible simultaneously. Neither hides the other.
Chat alone hides the marketplace depth. Users can't browse, compare, or get a feel for available providers. The agent becomes a black box.
A Fiverr-style grid works for humans browsing. It has no concept of an agent as the primary actor. Looks like a Thumbtack clone - exactly what the brief said not to build.
Chat panel drives intent. Results panel updates in real time as the agent searches. Both sides of the product visible at once. Nothing like this exists in the current competitor landscape.
User types or speaks naturally - "Find me a plumber for Saturday morning, budget around $150." Voice input supported. The agent parses intent, extracts structured parameters, begins searching.
The agent searches across sources - gathering availability, verifying credentials, filtering by budget and proximity. A live "Gathering Intelligence" state shows the work happening in real time. Transparent, not a black box.
Agent presents ranked options with reasoning - "Here's why I picked this one." User approves with one tap. Provider gets notified. Confirmation and job tracker immediately available.
Every AI product right now is purple, clinical, and cold. Fetch goes the other way - warm orange on cream, Plus Jakarta Sans, rounded corners, a dog mascot that extends across empty states and confirmation moments. The F+dog mark is a dual-read logo where the negative space of the F becomes a dog's face. The mascot isn't decoration - it's a long-term brand asset that does emotional work the copy can't. Think Duolingo's owl, not a logo.
"Role is a mode, not an identity. A plumber might need a cleaner. Same account, two hats."
Pull quote48 hours meant making deliberate tradeoffs. The agent chat and consumer flow got the most design depth - that's where Fetch is different from everything else. Provider self-serve onboarding is a waitlist for now, which is also what a real early-stage marketplace would ship while manually onboarding supply. Next: real auth, live Claude API with function calling, Stripe Connect for provider payouts, and an agent SDK so any developer can integrate Fetch in under 10 minutes.
Experience the live application.