Inspiration

This is my first hackathon. I want to be upfront about that — not as a disclaimer, but because it's part of why I built what I built.

It started at the end of the NFL season. This past season was the first I'd ever truly followed — full games, articles, social media, conversations, highlights, all of it. When it ended, I felt the absence of it. That kind of engagement — the daily ritual of following a team, having opinions, waiting on outcomes — is something I hadn't experienced with a sport before. It left an impression.

Around the same time, I was watching hackathon content on YouTube. I'd always heard of hackathons but never participated in one. What drew me in was the idea that programming is, at its core, a creative act. The ability to communicate an idea precisely enough that a machine builds it for you — that sounds like magic to me. When the Team USA x Google Cloud Hackathon appeared on my feed, I felt genuinely excited for the first time about entering one.

Reading through the brief, I kept coming back to the fan engagement challenge. And my immediate instinct was: build a game.

Here's the thinking. Professional sports is one of the most powerful unifying forces in modern society. A single franchise can be worth billions. Soccer unites countries across language barriers. The athletes themselves are making enormous sacrifices to keep this industry alive — and greater fan engagement directly benefits them: more visibility, more investment, better training infrastructure, more research. I believe any athlete who puts in the work deserves to be seen. Fan engagement is how that happens.

But most people don't watch full events. They watch highlights. They catch viral moments. They don't have a personal stake in the outcome.

What I've seen change that — in my own life and in the culture broadly — is having a position. Fantasy sports built entire industries on this principle. Prediction markets are now a significant part of mainstream culture. When you have a pick live, you watch. You check. You care. And along the way, you learn.

That's the foundation of LA28 Fan Quest.

What it does

LA28 Fan Quest is a prediction market game built around the complete LA28 Olympic and Paralympic schedule. Here's how it works end to end:

Sign In Users sign in with their Google account. Their Flames balance, submitted lineups, and badges all persist across sessions.

The Roadmap (Game Calendar) Gemini parsed the official LA28 Olympic and Paralympic PDF schedules — image-based documents — and structured them into a day-by-day game calendar. Users can navigate to any competition day, jump between Olympic and Paralympic events, and see exactly what's on the betting slate. The calendar is perfectly synchronized with the real LA28 schedule. This makes the game feel real, because it is.

The Betting Slate & Sport Filter Each day shows up to six available sports in a filter bar at the top of the Predictions tab. A "+More" button surfaces additional events. Clicking a sport opens its projection card.

The Projection Card Each card contains:

  • The sport, event type (men's/women's), and the stat being projected
  • For match events: the opposing country and a Gemini-generated projection for Team USA's stat
  • For field events: Team USA's projected performance benchmark
  • Five cycles of Olympic/Paralympic history for that stat
  • Five cycles of Team USA vs. that specific country (for match events)
  • Performance Velocity — a sparkline visualizing Team USA's momentum across recent cycles
  • Performance Delta — the gap between Team USA's current pace and the Olympic/Paralympic gold benchmark

This gives users enough context to make an informed pick — and enough to get curious and go learn more on their own.

The Lineup System Users select MORE or LESS for each projection. Picks populate the lineup sidebar. Each prediction carries a 1.9x multiplier. A full lineup of six correct picks pays out approximately 49x. But it's a parlay — one wrong pick and the lineup pays nothing. Submitting a lineup costs 50 Flames.

Users can mix predictions across different betting slate days. The lineup resolves when the last event in it completes.

My Lineups A dedicated tab shows all submitted lineups — the picks, the decisions, the submission date, the last event date, and the pending payout in Flames.

The Quiz Engine Users who run low on Flames can play the built-in trivia game. Every correct answer earns 5 Flames. Questions cover Olympic and Paralympic history, sport mechanics, athlete milestones, and records. The quiz isn't just a re-engagement mechanic — it's an educational layer. The more a user knows, the better their predictions become. And since LA28 is still ahead, users can start building their Flames balance from launch.

The Vault Flames can be spent on specialty badges. Future builds would expand this significantly — animated lineup submissions, sport-themed cursors, referral rewards, leaderboard placement.

Olympic and Paralympic Parity This was a design constraint from day one, not a compliance checkbox. Every feature — projection cards, historical data, Performance Velocity, trivia — covers Paralympic events with the same depth as Olympic events. The data for Paralympic athletes is there. It tells compelling stories. Fan Quest makes sure those stories are part of the game.

How I built it

  • Gemini API — Schedule parsing (image-based PDF → structured calendar), projection generation, historical context narratives, Performance Velocity analysis, trivia question generation
  • Google AI Studio — Prompt development and testing
  • Google Cloud Run — Application deployment
  • Firebase — User authentication (Google Sign-In), Flames balance, lineup history, badge records
  • React — Frontend UI
  • Python — Backend logic and data processing

Challenges we ran into

Parsing the Paralympic PDF Schedule

This was the most technically surprising challenge. The Olympic and Paralympic schedules look nearly identical to the human eye. But the underlying data structure of the Paralympic PDF is significantly more complex for an AI to interpret. Getting Gemini to parse it accurately — and map it to the same calendar structure as the Olympic schedule — required careful prompt engineering and multiple iterations. Getting this right mattered because the calendar being accurate is what makes the game feel real.

Restraint in the Interface

This one was harder than I expected. There is so much interesting data about these athletes and these events. I wanted to include more of it. But fan engagement is something that has to be earned gradually — you don't build it by overwhelming someone. The discipline of choosing what to show, and trusting that the right information at the right moment would do the work, was a real design challenge. I'm proud of where the interface landed: clean, accessible, easy on the eyes, approachable for any level of fan.

Accomplishments that I'm proud of

The calendar. Knowing that every event on that roadmap maps perfectly to the real LA28 schedule makes this feel like a real product, not a prototype.

The analytical tools. Building them — and then actually using them — helped me realize something I hadn't fully articulated going in: Team USA's dominance across Olympic and Paralympic events is remarkable. The data shows it. The Performance Velocity panels show it. The head-to-head history grids show it. Fan Quest doesn't editorialize about Team USA — it just shows the facts. And the facts are compelling. I think a lot of people want to be shown something worth caring about. They just don't want to go find it themselves.

The parity. I'm proud that a user playing Fan Quest will engage with Paralympic events with the same depth and stakes as Olympic events. That feels right.

What I learned

Google's AI tools are genuinely accessible. I don't have a deep background in programming or professional design. But I built a game I've always wanted to exist — and I'm proud to submit it.

I learned that fan engagement and analytical tools are as diverse as the people who use them. There is no single type of fan. Some users will look at the Performance Delta and want to go research training methodology. Others will just want to know if the number goes up or down. Fan Quest works for both.

And I learned that the first hackathon is the hardest one to start — and the most worth starting.

What's next for LA28 Fan Quest

  • Live results integration with official LA28 data feeds
  • Social lineup sharing and public leaderboards
  • Referral Flames system
  • Expanded Vault rewards (animated submissions, sport-themed UI customization)
  • Growing correct-pick counter per user profile
  • Localization for international Team USA fans

Built With

Share this project:

Updates