Inspiration
As longtime baseball fans, our primary way of accessing MLB content was through social media---Tiktok, Instagram, or Youtube. However, we noticed that:
- social media generally seemed to focus on the most trending players/teams.
- was limited to what other users would post.
We wanted a more personalized feed focused exclusively on MLB-released videos, allowing us to watch all our favorite players in action, not just the ones that were trending online. Furthermore, we were looking for a way to accelerate content generation for the teams and players that aren’t as mainstream, and uplift their fan communities by increasing their pool of content.
What it does
At its core, GoatSquad curates the most relevant MLB highlights and seamlessly generates custom highlight compilations with the click of a button, allowing users to relive and share the plays that matter most to them with minimal effort. But we craft a unique experience in many different ways:
- AI-Powered News Aggregation for Real-Time Updates, Stats, Team News, and Game Highlights.
- Autonomous generation of stickers and profile avatars of the user’s favorite players.
- Personalized MLB video highlights using Gemini embeddings alongside Collaborative Filtering.
- AI-Driven Highlight Compilations with Gemini Computer Vision for Your Favorite Moments.
- Multi-language support, light/dark mode toggle, user authentication, customizable preferences, team schedule calendar, forums, and profile personalization.
How we built it
We wanted to emphasize security and scalability, which is why we secured API endpoints with JWT and implemented strict authentication and authorization protocols with the HS256 algorithm. Leveraging Gemini, we scraped and formatted sports news while utilizing its multimodal capabilities to create dynamic highlight compilation reels from video inputs. Vertex AI’s Embedding 4 powered our Postgres vector database, enabling advanced search and recommendations for MLB API-delivered videos. We also integrated Imagen to generate custom team stickers and Google Translate API to support five languages. Our tech stack includes Flask, PostgreSQL, Docker, and Node.js for the backend, with React, JavaScript, and HTML for the frontend.
Challenges we ran into
Building all the AI-powered features in GoatSquad came with lots of challenges, including:
- Experimenting with the proper heuristics for Gemini to get the most engaging clip intervals. We also experimented with different Gemini models, and found 2.0 Flash to be significantly better than 1.5 at picking out relevant parts of the video.
- Selecting a recommendation pipeline that was optimal for the fan experience.
- Improving the recommendations quality and latency via a hybrid approach to recommendation using both the MLB API to find clips of relevant teams/players, as well as using a Vertex AI Embeddings model.
- Improving response times using parallelization and load order for compilation generation and recommendations.
Accomplishments that we're proud of
We're super excited about:
- Developing our compilation generator with Gemini! After many hours of fruitful experimentation with its multimodal capabilities, we're really happy with the results that it can generate for us!
- Our recommendation algorithm. Vertex AI's embedding model is incredibly powerful, and setting up a vector database made querying personalized videos incredibly streamlined and effective.
- Mastering the Google Cloud Storage system. We're using it to host everything from user authentication, video urls and metadata, vectors, and even Imagen-generated avatars.
What we learned
While building GoatSquad, we reinforced our understanding of many key technologies like React and Flask, but also strengthened our ability to integrate key Google Cloud and Vertex AI technologies. We learned how to:
- Leverage Vertex AI’s Model Garden and Google Cloud to deploy embedding models for vector databases and power search and recommendation systems.
- Utilize Gemini Freeform in Vertex AI. We were pleasantly surprised by how seamless Gemini’s Multimodal API integrated with GoatSquad, and how effective Flash 2.0 was at selecting appropriately relevant sections of an MLB clip.
- Navigating the Google Cloud Storage Bucket solution for hosting the videos, images, and music for our website.
- Manipulating the MLB API to make all highlight videos in the MLB website accessible to GoatSquad.
What's next for GoatSquad
With Google Cloud and Gemini, we hope to revolutionize the fan experience and make content of less mainstream players and teams more prominent, shedding light on the moments we as baseball fans truly care about.
Looking into the future, we’re hoping to iterate upon GoatSquad by:
- Experimenting with Google Vids to take our highlight compilation game to the next level.
- Adding live game tracking and in-game highlight updates powered by real-time MLB API data, allowing users to get instant clips as key plays happen.
- Implementing features like sharing highlights directly to other social platforms and friend lists.
- Integrating fantasy league stats and insights, allowing users to get personalized highlights based on their fantasy team players' performances.
We’re hoping that with these integrations, we can create an even more fun and dynamic experience for fans across the world.
Built With
- docker
- ffmpeg
- flask
- gemini
- google-cloud
- google-cloud-sql
- imagen
- javascript
- jwt
- postgresql
- python
- react
- tailwindcss
- vertex


Log in or sign up for Devpost to join the conversation.