I love playing basketball but my ankles are extremely destroyed so that's a bit of a no-go :( So I watch a lot of basketball and I thought it would be cool to share some basketball stuff

What it does

It's a game where players see whether they can identify fouls/violations etc. as quickly and as accurately as the actual NBA referees'. The answer is probably no, but even if you're getting rekt it's still surprisingly fun.

How I built it

  1. Enumerate through every single "play" in every game in the 2020-21 NBA Season, get a link of every clip, then classify them. This was a pain because NBA website blocks your basic scraping techniques.
  2. For plays with whistle-blows (eg. fouls, violations), automated spectrogram analysis + cross-correlation to try and automatically identify exactly when the whistle is blown
  3. A lot of pruning and heuristics to get correct results for most stadiums and plays.
  4. 4 + 9 total hours of code running in background and I pray while trying to figure out how Flutter or Front End in general works. I regret not doing my easier ideas.
  5. Stay hydrated and eat meals. Get some grab vouchers to make me feel less sad. Something came out at the end.

Challenges I ran into

  1. no sleep
  2. no teammates because their 2-year compulsory MINDEF Internship is more strict than mine
  3. yolo-ing into Flutter (my second time ever using, and first time actually making something with it) without learning about (eg. OP programmatic hot-reloading that I discovered ~3h before submission, and how it deals with asynchronous programming)

Accomplishments that I'm proud of

  1. I literally made what I wanted to make
  2. Forcing myself to learn some Physics a subject I haven't touch since 4 years ago
  3. I think it's actually something fun and I am actually motivated to work on it after this. I've never really liked making apps/doing "dev" in general so this is exciting.

What I learned

  1. no need sleep
  2. 4 >>>>> 1
  3. keeping track of the 10 million basketball rules while keeping track of 10 basketball players and their interactions is quite hard so respect to referees for any sport at any level

What's next for ANDONE!!!

  1. Finish James Harden meme level
  2. Add game soundtrack of people chanting "refs you suck" or NBA players screaming "ANDONE"
  3. Improve whistle-identifying algorithm - maybe look into using ML, especially since (I now know) that there is really ample training and test data.

Built With

Share this project: