About this project

Adam Jesionkiewicz

Adam Jesionkiewicz

AI Researcher & Creator

adam@jesion.pl

Autochess started as a personal experiment: can I build a chess engine from scratch that learns to play purely from neural network inference? No Stockfish, no handcrafted evaluation, no opening books — just a neural network trained on high-Elo games, endgame tablebases, and self-play reinforcement learning.

The whole thing is an exercise in curiosity. I wanted to understand how AlphaZero-style systems work — not by reading papers, but by building one myself, debugging every gradient, and watching it slowly go from random moves to something that actually plays chess. It’s equal parts frustrating and magical.

Goals

How it works

The model is a residual CNN with a policy head (4672 possible moves) and a value head. It takes an AlphaZero-style 19-plane 8×8 board representation as input. Training happens in three phases:

The latest model also uses learned thought tokens — a small set of trainable embeddings that the model attends to via a transformer layer before making its move prediction. Think of it as a brief internal “pause to think” that lets the model shift probability mass between candidate moves.

Tech stack

Framework
PyTorch
Architecture
Residual CNN + Transformer
Model size
16M parameters
Training dataset
100M+ positions
Board encoding
19-plane 8×8 (AlphaZero-style)
Action space
4672 moves
Endgame data
Syzygy tablebases (3-4-5 piece)
Inference
CPU (pure Python server)
Current Elo
~2700
Source data
Lichess 2200+ Elo games

Model version V3 · App version v1.32

Play against the AI