Inspiration
Athletes conjure the idea of determination, focus and competence and teams are a representation of communal competence. Fans are drawn to baseball to revel at the capabilities of athletes and teams, and share that revelry with a community that feels the same way.
I wanted to create a fan engagement app that enables baseball fans to tap into the community of fans in a way that they would have right at the ball park, cheering for their team, communicating with fellow fans, and keeping an eye on the activities of the fans of the opposing team as well. I wanted to make the app center the fan experience, and I wanted to use AI in a way that enhanced this fan experience.
What it does
Rival provides access to game videos alongside a group chat box, divided between the home and away teams. It currently provides both full games and game highlights, and users choose the team they support to enter the video room.
To invoke a sense of rivalry, there is a "cheer count" at the top of both chat boxes, which are incremented by one for each click by a user, providing a competitive environment for out-cheering one another. In addition, Rival has a Gemini powered AI chat bot built into both chat boxes, so that fans can converse with each other AND Gemini.
The Rival bot utilizes the MLP stats API as well as its own LLM training data to generate responses to user inquiries about player statistics, game information etc.
How I built it
I used custom HTML and CSS to design the front end. I used Firebase Hosting for hosting the web app, Auth for user authentication, and the Firestore realtime database to store the users' information as well as the chats in the different chat boxes. Youtube videos from the official MLB youtube channel were embedded into the web app and differentiated by their video id. I used the gemini 1.5 pro model for enabling the Rival bot, and use JavaScript functions to filter player names and game IDs in order to extract relevant information from the MLB stats API.
Challenges I ran into
I originally intended to enable the Rival bot to regularly post questions, polls, etc in the chat without invocation, in order to bolster engagement, but I wasn't able to do that in time for the submission.
Accomplishments that I'm proud of
I am proud of everything really.
What I learned
I learned a lot about Google Cloud tools, and am definitely walking away a better dev than before.
Log in or sign up for Devpost to join the conversation.