Capstone: Ship your analytics agent
Deploy your agent to a live URL, then extend it — a new metric, a chart, or your own dataset.
A conversational analytics agent, live on a public URL, answering natural-language questions about a business using a governed semantic layer — built and deployed end to end by you.
The shipping checklist
- 1Confirm the app runs locally: suggested questions work, answers are correct, tool badges show.
- 2Confirm no secret is in your repo (
grep -r sk-ant-should find nothing). - 3Push to GitHub, create a Web Service on your chosen platform, set ANTHROPIC_API_KEY as a secret.
- 4Deploy and open the live URL. Ask it three questions from your eval set and confirm the answers match.
- 5Share the URL — you have a working AI analytics product on the internet.
Extend it (pick one)
- Add a metric the business would want — churn rate, revenue per customer, subscription LTV — end to end (metrics.yml → eval → deploy).
- Add a chart. Have the agent return structured data for time-series answers and render a small line chart in the UI.
- Bring your own data. Swap in a schema and dataset from a domain you care about; the semantic-layer and agent code carry over unchanged.
- Add memory. Persist conversation history server-side so follow-up questions ("and by region?") keep context.
What you actually learned
The transferable pattern, not just this app: put a governed semantic layer between your data and your AI. The LLM translates language to intent; the layer guarantees correctness. Point it at any business, any dataset, and the architecture holds. That's the credential — you can build trustworthy AI on top of real data.
You took raw SQL tables, gave them governed business meaning, put a conversational AI on top, and shipped it to the world — the exact stack modern data teams are racing to build. Now do it with data only you would think to use.