March Madness Matrix - cs428TAs/w2025 GitHub Wiki

Roster

  • Jayden Allen
  • Jonah Kunzler
  • Joseph Nelson
  • Jared Rodriguez
  • Mario Rodriguez

Pitch

Have you ever wanted to make better predictions for your March Madness Bracket? Imagine a platform where fans can easily view historical team statistics, compare matchups, and instantly receive win probabilities using machine learning all in one place. With March Madness Matrix, users can leverage the power of neural networks and historical data to create informed brackets and even explore potential upsets. The platform is simple to use: just input teams and explore statistical data, and the app provides predictions and insights. The best part is we can test the model this coming March.

Background

The idea for March Madness Matrix originated from my fascination with the intersection of sports and data science. Every year, millions of fans fill out brackets, often relying on intuition, team loyalty, or superficial statistics. However, with the increasing availability of sports data and advancements in machine learning, it is possible to make more informed predictions.

In previous courses, I have built and trained lightweight neural networks for various tasks, including data based predictions, using tools like Google Colab and Kaggle datasets. This project expands on those experiences by creating an accessible, user-friendly application where anyone can analyze teams, predict outcomes, and even explore potential upsets.

Features

  • Planned

    • Team Comparison Tool: Users can input two teams' and receive a win probability for each matchup. Additionally matchups will show a comparison of relevant historical data.
    • Interactive Interface: Python built using Streamlit, with inputs for team matchups and real-time predictions.
    • Insights and Visualizations: Display predictions, probabilities, and factors driving outcomes through easy-to-read charts.
  • Possible

    • Bracket Simulation: Predict outcomes for an entire tournament based on user-selected or default stats.
    • Historical Comparisons: Include an archive of past tournaments for pattern and trend analysis.
    • Upset Alerts: Highlight games with a high potential for upsets based on model predictions.

Architecture

Frontend

  • Planned: Python using Streamlit for a simple and interactive UI, matplotlib and Plotly for charts and graphs.
  • Possible: Use resources like Bootstrap if transitioning to a React-based front end.

Backend

  • Planned: Python Model trained using TensorFlow or PyTorch in Google Colab and exported to be hosted on Streamlit Community Cloud. Historical Data can be stored in DynabmoDB or even googlesheets for free using the sheets API. Data sourced from Kaggle datasets. e.g. 2013-2024 CBB Dataset
  • Possible: More robust hosting options (e.g., AWS) for scalability.

Organization

image

Roles

Role Responsibilities
Project Lead Writes weekly status reports and organizes team meetings. Tracks project deadlines and leads communication between frontend and backend teams. Assists in development when necessary.
Chief Architect/Frontend Engineer Makes final decisions on the technology stack and development structure. Makes sure that the project follows best architectural practices. Leads the team in maintaining performance, and UI/UX design.
Frontend/Cloud Engineer Develops and maintains the frontend code. Works with the chief architect to meet UI/UX specifications. Works on development about the website layout.
AI/Deep Learning Engineer Designs, develops, and optimizes the March Madness AI model. Works on training and deploying the learning model. Collaborates with the testing engineer to make sure accurate predictions are made.
AI/Testing Engineer Develops and runs tests to make sure the AI model functions correctly. Validates performance, accuracy, and reliability. Helps with training data cleansing/accuracy.

Project Requirements

Project Requirements

Charts

Gantt Chart

PERT Chart Updated PERT

Architecture Document

Architecture and Design Document

Testing/SQA Document

Document

Status Reports

Feb. 8, Feb. 15, Feb. 22, Mar. 3, Mar. 8, Mar. 15, Mar. 22, Mar. 29, Apr. 4, Apr. 12