Learn
Seven short pages covering just enough theory to understand what we’re deploying. Start with the concepts →
Your agent works beautifully on localhost. Then you deploy it, someone clicks “Run”, and 30 seconds later the request dies with a 504.
This workshop is about the one architectural decision that fixes that — and a complete, working, deployed example of it.
Never run the agent inside the HTTP request.
Section titled “Never run the agent inside the HTTP request.”
Accept the job, return an ID immediately, do the work in the background, let the client poll. Every timeout problem dissolves once that clicks.
POST /runs → 202 {"run_id": "abc"} ~200 ms, always[background] → agent runs, writing each step to the databaseGET /runs/abc → {status, steps[]} client polls every 1.5 sThe agent you’ll deploy researches with Wikipedia, searches the live web through Tavily’s MCP server, and holds a conversation — ask a follow-up and it remembers, because the history lives in Postgres rather than in the browser tab.
Learn
Seven short pages covering just enough theory to understand what we’re deploying. Start with the concepts →
Build
Eight steps from an empty folder to a public URL, with a progress indicator. Start building →
Stack
What we used, why, and what each piece costs. See the stack →
Deploy
Two tracks — the agent on Render or FastAPI Cloud, the client on Vercel or GitHub Pages. Deploy it →
New to all of this? Read Learn pages 1 and 7, then start Build. The other Learn pages are useful but you can pick them up as you go.
Nothing, and no credit card at any point.
| Layer | Choice | Free tier |
|---|---|---|
| Model | Google Gemini via AI Studio | yes, no card |
| Agent tools | Wikipedia API | free, no key |
| Database | Supabase Postgres + pgvector | yes |
| Agent host | FastAPI on Render or FastAPI Cloud | yes, no card |
| Client host | Vite + React on Vercel or GitHub Pages | yes |
The last two rows are the two deployments this workshop walks you through, and they’re free on either host in each row.
Free tiers have real trade-offs — your server sleeps, your database pauses, your model rate-limits. The Stack section is honest about all of them, because finding out on demo day is worse.