Inspiration
We were in a game of physical chess before class starts. Should we leave the game or miss class? We don't want to miss both!
What it does
Our app allows you to continue your chess game digitally after playing it on a physical board. With our app, you can easily scan your physical chessboard using your phone's camera and continue your game on our digital platform.
Our app is perfect for those who want to take a break from playing or can't be physically present to finish their game. You can simply scan the board, and the app will capture the current state of the game. Later, you can pick up where you left off on the digital platform, without the hassle of manually recording your moves or setting up the game again.
How we built it
Frontend: We used React Native, a popular cross-platform framework for building mobile apps. This allowed us to create a user-friendly interface that works on both iOS and Android devices.
Backend: We used Flask, to build the server-side of our app. Flask allows us to handle requests from the frontend and process data in real-time.
Machine Learning: We used YOLOv5, a state-of-the-art object detection model, to detect and locate chess pieces on the physical board. This was integrated with our Flask backend to make real-time predictions.
Twilio: We used Twilio to send game code to our friend so that we can play together
Lichess API: To continue the game digitally, we used the Lichess API, which allows us to create and update games programmatically. This means that once the positions of the pieces are detected, the app can automatically update the game on Lichess.
Challenges we ran into
- Training the model: We had no experience with training data, making it challenging to train a model that accurately detects chess pieces on the board.
- Integrating the machine learning model into our React Native app
- React Native: Although React Native is a popular framework for building mobile apps, it was new to us, and we had to invest time and effort in learning how to use it effectively.
Accomplishments that we're proud of
- Training our own data in 36 hours
- Figuring out Mobile app development
What we learned
- Machine Learning
- Training our own data
- React Native
- Flask
What's next for Chess-to-go
- Fine-tuning the model to make more accurate predictions

Log in or sign up for Devpost to join the conversation.