Skip to content
back to achievements

Case study · Stadium Rover

Client project · AugmentProject period2024 – 2025

AI itinerary service

Built an AI-powered multi-game itinerary service with FastAPI and LangChain, generating personalized travel plans from team preferences, travel dates, and event data.

01

Why

Fans going to several games want a trip planned around the matches. They wanted to ask for it in conversation, not fill in a fixed form, and to get options that fit their preferences and a sensible route between games.

02

Decision

An AI service builds a multi-game itinerary from the fan's favorite teams, travel dates, preferences and the event data. The request arrives over a WebSocket, and a guardrail checks it first (for example, that the dates are valid). Bad requests stop there. Generation takes a while, so the user keeps using the app and gets a notification when the trip is ready, or a notification saying it failed and to try again, so nobody waits for a notice that never comes. A scheduled job pulls match schedules from external sports APIs to keep the data current. Flights and hotels were planned as a later addition.

03

Alternatives considered

None. The use case needs an AI that works conversationally and reasons about the best route and options, so there was nothing to compare it with.

04

What I built

Built an AI-powered itinerary-generation service that creates customized travel plans for users planning trips around multiple sporting events.

The itinerary-generation process uses information such as users' favorite teams, travel dates, and preferences to generate personalized multi-game travel plans.

Implemented the AI functionality using FastAPI and LangChain and integrated it with the core backend through the service-to-service architecture.

05

Trade-offs

  • It is slow. The AI has to research and work out the best itinerary from the preferences, so it isn't a quick answer.
  • There is no way to iterate. Once an itinerary is generated, you can't chat with the AI to adjust it ("customize this and that"). You have to make a new request, which can contain different mistakes, and that is a loop. This is the biggest gap in the current approach.

06

Outcome

Fans get a personalized multi-game plan, and always hear back whether it succeeded or failed.

Technologies