Paul's Chess

A chess bot written in Python

Play at your level. Learn from every game.

Ten opponents from about 200 to 2700, a review of your biggest mistakes after every game, rated puzzles, short lessons, and a shared leaderboard. It's free, runs in your browser, and needs no sign-up.

Made by Paul DePola, built with Claude Code.

1. e4 The Opera Game

How to play

  1. Claim your name

    Type it in Your name on the Play tab and choose a password. The name is then yours: nobody else can play under it, and you sign in with the password on your other devices. Your finished games count towards your record and rating on the Stats tab, and you can keep them private or stay off the scoreboard. Leave it empty to play without saving.

  2. Pick an opponent

    Choose one of the ten levels and a color, then press New game. Start low and move up when you begin winning.

  3. Make your moves

    Drag a piece, or tap it and then tap where it should go. You can also type moves like e4, Nf3 or O-O. New to chess? Turn on Coach mode and it rings any piece that can be taken for free.

  4. Read the review

    When the game ends, the review shows your accuracy, the rating of players who play that accurately, and your biggest mistakes, each with the move you should have played. Tap one to see it on the board.

Ten opponents

Each level's rating was measured by playing it against Stockfish at fixed strengths, so treat the numbers as rough guides. The top three are named after two dogs and a cat: Summer is the bot at full stretch, and Titan and Pinky are Stockfish itself, held to their ratings.

    What's here

    How it works

    Paul's Chess Bot is a small chess engine written in Python. It searches ahead with alpha-beta search, remembers positions it has already scored, and plays out every capture sequence before judging a position. On the public site your browser runs that same Python code with Pyodide, so the only thing sent anywhere is the result of a game you play under your name.

    The code is open source under the GPL-3.0 license. The repository also has a terminal version, and a mode that plugs into chess apps like Cute Chess or Arena.

    Credits

    Made by
    Paul DePola, built with Claude Code
    Chess rules
    python-chess by Niklas Fiekas
    Pieces
    Colin M.L. Burnett's set, as shipped with python-chess
    Python in the browser
    Pyodide
    Titan and Pinky
    Stockfish, in the browser with Nathan Rugg's Stockfish.js (GPL-3.0)
    Rating benchmark
    Stockfish

    Players

    # Player Rating Puzzles Games W–D–L Score Accuracy Best win Last played

    Ratings work like chess Elo: everyone starts at 1000, and each rated game moves it up or down depending on the level you faced, most when the result is a surprise. Games where you took back a move or used a hint don't count. Games from before ratings began on 25 September 2026 aren't shown. A ? means fewer than 5 rated games.