Chess50 is a mini-clone of the popular chess website chess.com created as the final project for the course CS50’s Introduction to Computer Science at Harvard University. The front-end is mainly made with HTML and CSS, with some JavaScript for interactivity. The back-end is a combination of Python and JavaScript as well as Flask as the framework and SQLite for databases.
The chess board UI is implemented with the JavaScript library chessboard.js. The TypeScript library chess.js is used for chess move generation/validation, piece placement/movement, and check/checkmate/stalemate detection. It makes it possible to visualize whose turn it is, the current FEN of the position and which moves has been made during the game. The chess engine used is Stockfish 17 and automatically makes a move after a "player move" is made. It can technically play against itself if you continually click the "Computer Move" button. There is also features to take back a single move at a time as well as flipping the board if you want to play as black.
The current daily puzzle from chess.com. The chess board UI is again implemented with chessboard.js. You can restart the position until you feel you have got the right answer to the puzzle, but the site will not tell you when that is.
The top five leaderboard from different time controls with data from chess.com's PubAPI.
Search a valid chess.com username to get their profile information and game stats.