SportsMom: Multi-Agent Sports Analytics OS
Elevator pitch
SportsMom is the support team a self-managed athlete never had: a network of Fetch.ai agents that turns a voice note, a notebook photo, or a text dump into overtraining flags, performance trends, opponent scouting reports, sponsorship drafts, and fully-booked tournament trips all from a single ASI:One chat.
Inspiration
Pro athletes have a coach, a physio, a data analyst, an agent, and a travel manager. Everyone else has a notebook and a dream.
Take tennis. Only about the top 150 players in the world break even financially, and even among the top junior prospects, barely a third ever turn a profit over an entire career. The other 99%, the kid grinding ITF W15s, the club runner, the amateur fighter, are self-funded and on their own.
And the cruel part is that they're not short on data. They track training loads, match notes, and how the knee felt this morning. They're drowning in it. They just do almost nothing with it, because turning scattered notes into decisions is a full-time job nobody is paying them to do.
So we wanted to give a solo athlete that entire backroom team as a swarm of agents. Not one chatbot pretending to be five experts, but five real specialists that each own their domain, talk to each other, and reach the athlete wherever they already are: a chat window. You dump. They handle the rest.
What it does
The athlete sends raw input: a voice note after practice, a photo of a handwritten notebook page, or typed text. From there, a team of seven uAgents takes over:
| Agent | What it owns |
|---|---|
| Orchestrator | The single ASI:One entry point. Classifies every message as log, ask, or action and routes it fanning out, correlating specialist replies into one answer. |
| Librarian | The front door for raw dumps. Splits a messy brain-dump into structured entries across nine sections (training, performance, match results, recovery, coaching, logistics, sponsorship, goals, media) and files them. |
| Recovery | Reads 60 journal entries + 14 days of logs and flags overtraining risk risk level, affected body parts, a recommended action, and the behavioral pattern (e.g. a burnout arc). |
| Performance | Analyzes the last 10 matches and recent training into a trend, your strongest and weakest area, and a focus for next week. |
| Scout | Sends a real browser onto the open web to research an opponent, then synthesizes patterns, strengths, weaknesses, and a tactical plan. |
| Sponsorship | Matches the athlete to a brand, scores the fit, and drafts a cold outreach email that never sends itself. |
| Logistics | Runs a 3-stage conversation: searches live ITF tournaments + flights + hotels via independent marketplace agents, lets you pick one, and gates entry behind a real Stripe payment. |
Everything lands in Supabase and surfaces two ways at once: as ASI:One chat replies, and on a React "Aurora Glass" dashboard. The chat-only flow and the dashboard always show the same truth.
How we built it
- Fetch.ai uAgents + Agentverse all seven agents run as mailbox agents on Agentverse, registered through the Almanac and reachable by a stable handle. Every one implements the Agent Chat Protocol, which is what makes the whole system usable from ASI:One with no custom frontend at all.
- Agent-to-agent orchestration the Logistics agent collaborates with two independently operated Flights and Hotels agents on the open marketplace, purely through natural language, across organizational boundaries.
- Anthropic Claude Haiku 4.5 for high-volume classification, Sonnet 4.6 for the specialists' reasoning and synthesis, and Claude vision for reading handwritten notebook photos.
- Deepgram nova-3 pre-recorded and live-streaming voice transcription.
- Browserbase + Stagehand natural-language browser automation for ITF tournament search and opponent scouting, with no hardcoded selectors.
- Redis (RedisVL + LangCache) KNN vector retrieval and semantic answer caching behind the RAG chat endpoint.
- Supabase (Postgres) system of record for every table.
- Stripe a real test-mode Checkout gate, implementing the Fetch.ai Payment Protocol on the tournament-entry flow.
- FastAPI + React 18 / Vite / Tailwind v4 the data layer and the dashboard.
Challenges we ran into
- Making specialists collaborate without a god-agent. The Orchestrator had to fan a single
logout to multiple specialists and correlate their replies into one coherent answer, instead of dumping five disconnected blobs on the athlete. - Cross-org agent negotiation. Getting Logistics to plan a trip by talking to Flights and Hotels agents we don't own over natural language alone meant designing for ambiguity, timeouts, and partial answers rather than a clean API contract.
- A real payment gate, not a mock. Wiring a live Stripe test-mode Checkout into a multi-turn agent conversation (search → pick within a 10-minute window → pay → review) without ever auto-submitting an actual ITF entry.
- Graceful degradation everywhere. If Redis is down, retrieval falls back to recency. No Browserbase key? Scout/Logistics use whatever is already in Supabase. No Stripe key? The payment step is simply skipped. A demo should never go dark.
- Keeping two front-ends honest. The ASI:One chat flow and the React dashboard read the same data, so an insight generated in chat has to show up on the dashboard and vice versa with no drift.
Accomplishments that we're proud of
- A genuine multi-agent system seven specialists, not one prompt wearing five hats that runs end-to-end from a single ASI:One chat with zero custom frontend required.
- True agent-to-agent commerce: planning a real tournament trip by negotiating with independent third-party agents and closing it with a live payment.
- A multimodal front door: voice, handwritten photo, or text all collapse into the same clean pipeline.
- The whole thing fails soft every external dependency degrades gracefully instead of crashing the demo.
What we learned
Multi-agent systems live or die on the boundaries between agents, not the intelligence inside any one of them. The hard, interesting work was in routing, correlation, and negotiation — deciding who handles what, how partial answers get stitched together, and how agents that have never met cooperate over plain language. We also learned that the chat protocol is a genuine product surface: when an athlete can run the entire workflow from one conversation, the "app" almost disappears.
What's next for SportsMom
- More sports beyond tennis: running, combat sports, and other self-managed individual disciplines.
- A proactive coach: agents that reach out before you ask, when the data crosses a line.
- Wearable ingestion (Whoop, Garmin, Apple Health) feeding Recovery and Performance directly.
- A real send-path for Sponsorship outreach, behind explicit human approval.
- Athlete-to-athlete agents: sparring-partner matching and shared-travel coordination across the marketplace.
Shared Chat Link:
https://asi1.ai/shared-chat/d678e3ed-5c6f-4326-887d-6dbb704c8099
Try our SportsMom agent here: https://asi1.ai/ai/agent1qg4n8h6w54c4uapkpa040gatncmdz2lqmswy2w9295unzlnjvm2yqevmg3y
@agent1qg4n8h6w54c4u
Others:
- sportsmom-orchestrator: main ASI:One coordinator, intent router, and demo entrypoint
- sportsmom-librarian: classifies raw voice, photo, and text dumps into dashboard sections
- sportsmom-recovery: flags overtraining, fatigue patterns, and injury risk with wellness-safe language
- sportsmom-performance: tracks win/loss trends, skill progression, and recommends training focus
- sportsmom-sponsorship: matches athletes to brand fits and drafts approval-gated outreach emails
- sportsmom-scout: researches opponents and generates tactical game plans via live web scraping
- sportsmom-logistics: finds flights, hotels, and ITF tournaments with calendar sync and a payment gate
Built with
fetch.ai · agentverse · uagents · asi:one · agent-chat-protocol · anthropic · claude · deepgram · browserbase · stagehand · redis · redisvl · supabase · postgres · stripe · fastapi · python · react · typescript · vite · tailwindcss · ocr
Log in or sign up for Devpost to join the conversation.