Inspiration

When the idea of a popularity leaderboard was suggested, that convinced us to settle on Challenge 5 for a prospects leaderboard instead. There were similar platforms like FanGraphs, but none attempted using machine learning for prospect predictions.

What it does

This is a prospects leaderboard that uses AI-predicted WAR scores to rank MiLB prospects.

How we built it

The web-app was built with Next.js using TypeScript and shadcn/ui for the frontend. The data was retrieved using the MLB-StatsAPI Python wrapper library and stored on Firebase. The model was created with Vertex AutoML (98% R2), which we used due to its superior accuracy over H2O AutoML Stacked Ensemble (97% R2).

Challenges we ran into

  • Feature selection for the machine learning pipeline took time and deliberation before running the actual training sequence.
  • Retrieving sabermetrics data with the StatsCast API required spending time reading documentation on the required query parameters to retrieve the proper data.
  • Data cleaning for remove non-pitchers that were included in the pitcher queries.
  • Originally, Chakra UI was selected, but shadcn/ui offered a smoother development experience for using CLI inputs or manual copy/pasting components.
  • Parsing the .json schemas to template into the table required careful attention to resolve errors.

Accomplishments that we're proud of

  • Achieving 98% MLB WAR accuracy based on the feature selection we settled on.
  • Integrating a reusable component library like shadcn/ui helped speed up development.
  • Working application that displays all data with player and team images.

What we learned

  • Storing images as compressed base64 strings in Firebase to avoid running costs of standard image storage.
  • Learning about WAR as the gold-standard of representing overall player value.

What's next for Boba | Your AI-Powered MLB Superfan

  • Potential to integrate other positions (hitters, fielders) and other leagues (e.g., international league).
  • Potential to select other languages for the web app.
Share this project:

Updates

Submission history