Using the NCAA net rankings and
NCAA Bracketing Procedures
this program predicts where the top 32 teams will be placed, and has an interactive feature for fans to see different possible scenarios.
An initial table is hardcoded in the HTML so that the page looks complete upon loading, but the most up to date json data is pulled in via ajax and replaces the hardcoded table.
The javascript algorithm I wrote
places the top team in their closest host site, adds a counter to that host site, and then goes down the rankings to place the top 16 teams in their closest site that hasn't already been filled by two higher seeded teams.
Second Round matchups (assuming no upsets) pit #1 vs #32, #2 vs #31, and so on. Teams 17-32 are thus placed into a host site based on their Second Round matchup.
Challenges and Future Goals
Using the up/down arrows works to move a team one ranking, but even better would be a drag and drop function. Mobile users likely have a hard time with it.
Ideally it would predict sites for all 68 teams in the tournament, and deal with procedural bumps for teams who have already played during the season or are hosting a site.
I did the ranking updates manually because I couldn't find open api's, but I want to use an NPM web scraper to automate daily updates.
Basing the json on school name, not rankings, would need only one file for multiple ranking systems.
A future goal is to build brackets with this data and show the predicted matchups visually