Inspiration

We built GoScout around a simple question: "What should I do today?"

Finding interesting events can be surprisingly difficult. Information is spread across ticketing platforms, university calendars, event websites, and other sources. Even when there are many events nearby, users still have to search through multiple platforms to find something that actually matches their interests.

We wanted to make event discovery more personal, so users could spend less time searching and more time actually going out and doing things.

What it does

GoScout is an AI-powered event discovery platform that helps users find events based on their interests, preferences, and location.

It has three main experiences:

  • My Picks — a personalized feed based on the user's interests and "vibe"
  • Major — larger and more notable events happening around the city
  • Search — natural-language search for discovering specific experiences

GoScout combines event information from multiple sources and uses AI to help organize, classify, and personalize the results.

How we built it

The frontend is built with React 19 and TanStack Router and works as a Progressive Web App.

The backend uses Python and FastAPI. We use Server-Sent Events (SSE) to stream results to the client in real time and asynchronous processing to handle multiple event categories in parallel.

Our database and authentication use Supabase/PostgreSQL, including Row Level Security and Supabase Auth. Redis is used for caching, AI usage limits, and streaming limits.

AI is a core part of GoScout. We use Google Gemini 2.5 Flash with Google Search grounding for discovering current events through natural-language search. We also use Claude Haiku to understand user preferences and classify events into categories for personalization.

Our event data currently comes from sources including the Ticketmaster Discovery API and the FIU campus calendar through Localist feeds. We also use the Google Maps API for location search and autocomplete.

Challenges we ran into

One of our biggest challenges was combining information from different event sources. Each source has different data structures, fields, locations, and limitations, so we needed to validate and normalize event information before sending it to users.

Another challenge was balancing AI quality, speed, and cost. AI-powered search can become expensive and slow when many requests are made at once. We addressed this with caching, usage limits, asynchronous processing, and streaming responses.

We also wanted GoScout to feel like a real product rather than simply an AI demo. This meant keeping the interface simple while using complex AI and backend processes behind the scenes.

Accomplishments that we're proud of

We are proud that we turned GoScout into a working end-to-end product with a real frontend, backend, authentication, database, external event sources, AI-powered search, and personalized recommendations.

We are especially proud of combining Gemini's search capabilities with structured event data instead of building another standalone chatbot.

We also built the system to handle real-time results, caching, validation, and usage limits, giving us a foundation that can scale as we add more event sources and users.

What we learned

We learned that building an AI-powered product involves much more than integrating an LLM.

Data quality, API reliability, latency, cost, security, and user experience all have to work together.

We also learned that generative AI becomes much more useful when combined with real-world data. Gemini helps us discover current information, while Claude helps us understand preferences and organize events into useful categories.

Most importantly, we learned how to take a simple idea and turn it into a complete product that solves a real problem.

What's next for GoScout

Our next step is to expand the number of event sources available through GoScout, including platforms such as SeatGeek, Luma, Eventbrite, and Meetup, as well as additional university calendars.

We also want to improve personalization by learning more from user interactions and preferences while keeping user data secure.

In the future, we plan to expand GoScout beyond Miami and make it possible for users in other cities to discover relevant experiences through the same personalized platform.

Our long-term goal is simple: make GoScout the easiest way to answer "What's happening near me that I would actually enjoy?"

Built With

Share this project:

Updates

Submission history