Back to Projects
♟️🔍

ChessQL

Query your chess games using natural language or ChessQL — a SQL-like language with chess-specific patterns. Desktop app with Lichess sync.

What Can ChessQL Do?

🔐

Lichess Sync

Connect your account and import all your games automatically

🔍

CQL Queries

SQL + chess patterns for precise searches

🤖

Natural Language

Ask questions in plain English using AI

Piece Tracking

Find sacrifices, exchanges, captures, and promotions

📊

Game Analytics

Filter by ELO, time control, date, opening, and more

🎮

Game Viewer

Replay games move-by-move with visual board

Query Examples

SQL Queries

SELECT * FROM games WHERE white_player = 'magnus'

All games by a specific player

SELECT * FROM games WHERE result = '1-0'

Games with a specific result

SELECT * FROM games WHERE eco_code = 'B90'

Games by opening code

Chess Patterns

SELECT * FROM games WHERE (queen sacrificed)

Find queen sacrifice games

SELECT * FROM games WHERE (lecorvus won) AND (queen sacrificed)

Wins with queen sacrifices

SELECT * FROM games WHERE (pawn promoted to queen x 2)

Games with double promotions

Natural Language

Show me games where I sacrificed my queen and won

AI converts to CQL automatically

Find blitz games against higher-rated opponents

Complex filters in plain English

How many times did I promote a pawn to queen?

Statistical queries

Built With

Python FastAPI Electron SQLite OpenAI JavaScript

📦 Installation

1 Download ChessQL-1.0.0-arm64.dmg from the Releases page
2 Open the DMG and drag ChessQL to Applications
3 Right-click the app → OpenOpen (first launch only)
Download for macOS

Note: Since the app isn't code-signed, macOS will show a security warning on first launch. This is normal for independently distributed apps.