Blunder Bot is a unique web extension that takes a variety of metrics about your current chess.com or lichess match derived from the current board state, remaining time on each clock, how much time was spent on recent moves by your opponent and even chess engine generated metrics like the spread in evaluations of the top available moves to predict two key metrics - the chance the move you are about to make will be a blunder, and the average time a player would spend deciding on their move. This is done using a Gradient Boosted Decision Tree trained on the public lichess database of games played on the platform each month. This model runs in a server connected to multiple client web extensions via FastAPI.
The initial research phase to find appropriate relationships in the exisiting lichess database to inform our selection of model features was supported with a Tiger Data PostgreSQL database.
Our initial plan was to utilise cloud compute for the model training but account issues prohibited access, so we had to shift to a model trained on a much smaller subset of only 2000 games to allow for training to be completed in reasonable time on our local machines.
As a collection of students relatively new to software, with much more hardware experience across the board - this project represented the first time anyone in our team had designed a database of any kind, trained a model or created a web extension so the successful completion of each of these elements were a particular point of both learning and pride.
We are excited to see how the model's performance changes with more training data once we gain access to sufficient cloud compute for another training run and for more refinements to the UI.
Log in or sign up for Devpost to join the conversation.