Inspiration
SurgePilot was inspired by the kind of real operational pressure small businesses face during major events like the 2026 World Cup. A cafe near a stadium does not just need a chatbot that answers questions. It needs an agent that can check whether data is fresh, reason about demand, prepare actions, and ask for human approval before doing anything risky. As well as the cash prize was 100% a motivator.
What it does
SurgePilot is a match-day operations agent for the current demo say a Harbor Line Cafe. Just scrap the code and update the csv files in the source in fivetran depending on use case. For ours currently say, a manager gives it a mission like:
Prepare us for tomorrow’s match-day surge with a $2,000 budget.
The agent then:
- Checks Fivetran connector freshness through MCP.
- Pauses for manager approval before refreshing stale data.
- Uses Gemini to reason through the mission and generate an action plan.
- Forecasts high-risk inventory and staffing gaps.
- Creates a budget-bounded action pack with reorder recommendations, staffing coverage, campaign copy, and a supplier email draft.
- Records the approval trail so the manager stays in control.
How we built it
The frontend is a React + Vite dashboard. The backend is a TypeScript/Node API that coordinates the mission workflow, Gemini reasoning, forecast logic, and Fivetran MCP tool calls.
For the live data pipeline, "I" created Google Drive CSV source files for inventory, sales, staffing, suppliers, promotions, and match context. Fivetran syncs those files into a Supabase Postgres destination. The local prototype connects to the official Fivetran MCP server and verifies live account connections and available tools.
The hosted Vercel demo uses a deployment-safe Fivetran MCP demo transport, while the local setup proves the live Fivetran MCP integration with the official server.
Challenges we ran into
The biggest challenge was making the project both real and demoable. Live Gemini sometimes returned temporary high-demand 503 errors, so I added retry and model fallback logic. Fivetran MCP also required careful setup with uvx, API credentials, and a real Fivetran destination. Deploying to Vercel introduced another challenge because serverless functions cannot reliably spawn local MCP subprocesses, so I separated the hosted demo path from the local live MCP path.
Another challenge was keeping the agent safe. Instead of letting it trigger syncs or operational changes automatically, SurgePilot requires explicit manager approval before data refreshes and before action execution.
Accomplishments that we're proud of
Finishing the project I'd say, connectors actually work, which had me tweaking for a bit.
What we learned
I learned how useful MCP can be for giving agents real operational tools instead of just text context. I also learned that agent demos need graceful fallbacks: live APIs, model availability, and serverless environments can all behave differently under real conditions.
Most importantly, I learned that useful agents are not just about autonomy. They are about controlled autonomy: reasoning, planning, acting, and asking for approval at the right moments.
What's next for SurgePilot
The next step is to connect the forecast layer directly to the synced Supabase tables instead of the seeded scenario data, add authentication, and persist audit trails/actions in a database. In production, SurgePilot could support multiple stores, real supplier integrations, and scheduled pre-event readiness checks.
Built With
- api
- drive
- express.js
- fivetran
- gemini
- mcp
- node.js
- pnpm
- postgresql
- react
- supabase
- typescript
- vercel
- vite
- vitest
Log in or sign up for Devpost to join the conversation.