Skip to content
Train an AI to play chess, and have your AI compete with other people's AIs! Named after
Python HTML Shell CSS Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Train an AI to play chess, and have your AI compete with other people's AIs! Named after


This project was made for a Software Development class at Stuyvesant High School.

Upon making an account, users will be given a baby AI with almost no knowledge of chess other than the rules. Players will train the AI to improve its skills. Players will be ranked based on an ELO ranking system, gaining ELO points when their AI defeats another player's AI in a competitive match.

Libraries and APIs Used

  • Python Flask
  • TensorFlow
  • Python Chess
  • SciPy
  • Mongo
  • Sunfish


Hi, it's Ethan (elc1798). When I first started this project, I knew next to nothing about neural networks, machine learning, etc. A large portion of my knowledge came from reading research papers, the TensorFlow tutorial (, and some open source neural net projects on GitHub. A large portion of the neural net in this project, named Chessley, is based on Erik Bernhardsson's Deep Pink: I would also like to thank Keras's source code for helping me port Deep Pink's Theano framework to TensorFlow, where I made some modifications and tweaks (that probably contain some unintentional ones).


Deep Pink Blog Post:

Created by

Name Role
Ethan Cheng Deep Learning AI
Ishraq Bhuiyan Flask Web Application Backend
Jion Fairchild HTML and CSS Frontend


Clone the project and build all dependencies:

$ git clone
$ cd chessley-tan
$ make setup

To deploy the website, just do

$ gunicorn -w 4 -b wsgi_handler:app

To access the site, access your IP address or website on port 5000. The port can be changed to suit your needs.

Our version is hosted at

Video Demo


You can’t perform that action at this time.