Pick any number. With none picked it stays in Unsorted.
Note
Settings
Theme
Brass, green felt and ivory — the default.
Custom theme colors
Starts from Tournament Felt — pick any to override it, or reset to go back to the defaults. Combine with your own background image and the glass effect below to build your own look.
Piece outline
The outline drawn around each piece, separate from its fill color above. Turn it off for a flat, outline-free look, or pick a color to override it.
Piece style
The classic Staunton set.
Square outlines
A hairline around every square. Applies to every drill.
Arrow colors
The color of the arrows and highlights you draw on a board.
Liquid glass titles
50%
Frosted panel behind each drill title, with a specular sweep on hover. The Bauhaus theme prints them flat instead.
Game intro
The opening over the board. Every theme shows the black-and-white VS screen, with “Round one, fight,” when an online game begins, against a player or the bot. Uptown Express opens its subway doors instead, for any game and when a Puzzles session or a Puzzle Rush starts. Off skips the screen; the start sound still plays.
Line signs
Uptown Express: the board’s ranks and files as subway line signs, each in its line’s colour. Off keeps plain coordinates.
Background
Default
Bauhaus, Game Boy, Drive-Thru and Rosé come with their own artwork, which can be switched to the theme’s pattern. Or upload your own image, saved per theme. A scrim is laid over it so text stays readable. Kept on this device only.
Sound Effects
Volume100%
Move, capture, check, and checkmate sounds — the same set as Repertoire Lab's board.
Custom Sounds
Saved per theme — each one keeps its own set, so switching Theme above switches which sounds play too. Replace any sound with your own audio file, under 3MB each — anything left alone uses the theme's default, or the built-in sound if it doesn't have one. Saved on this device only.
Lichess Connection
Not connected
Needed for the Puzzles drill, Play Online, Play Bot, and the friends-online list. Create a token at lichess.org/account/oauth/token with puzzle:read, puzzle:write, board:play, challenge:write, bot:play, follow:read, study:read and study:write — puzzle:write because Lichess only serves a new puzzle once the last one's result is reported, board:play to seek and play real games, challenge:write and bot:play to start a game against the Lichess AI, follow:read to see which of your followed players are online, study:read and study:write to keep your Saved Puzzles in private Lichess studies so they appear on all your devices. Paste it here — it's saved on this device only, in this browser's local storage, and is never written into the app itself. These features need a real network origin (this app's Netlify URL, or a locally-saved copy) — the hosted claude.ai preview link's security sandbox blocks outside network calls entirely.
Spotify
Not connected
Shows what's currently playing on your Spotify, with favorite, playback (rewind, play, pause, skip), and playlist browsing, near the top of every screen in the app whenever something's playing — playback control needs Spotify Premium and an active device. Needs your own Spotify app: create one free at developer.spotify.com/dashboard, add this exact Redirect URI in its settings —
—
— then paste its Client ID above (not the client secret, which this app never needs or asks for) and click Save, then Connect Spotify. Saved on this device only. Only works over a real network origin (this app's Netlify URL), same as the Lichess features — and login specifically needs HTTPS, so it won't work from a locally-saved copy even once puzzles/online do. Already connected from before playback control was added? Click Disconnect then Connect again once — the old permission doesn't cover the new buttons.
L6
L6
—
YOU
VSVS
—
OPPONENT
Chess Arcade
Pattern and Vision Drills
A private chess dojo to train pattern recognition and intuition
Chess Arcade
Game History
Connect your Lichess account in Settings to see your games.
A bare board, one knight. No clock pressure — just click a lit square to hop there. A running stopwatch tracks your time for bragging rights only.
Mode
Reach the marked square in the fewest hops possible — the board tells you exactly how many.
Position complexity
Easy: 1–2 hops. Medium: 3–4. Hard: 5–6, the longest distance a knight can be from anything on this board.
REACH THE TARGET
Round 1
0:00
Click a lit square to hop there· right-click-drag: arrow· right-click: highlight
Move 0
target square visited
Round complete
0
Rounds
0
Streak
0
Best streak
Drill 06
Sneaky Checks
Your king is in double check, so it has to move — nothing can block two checks at once. Three steps: see the checks, work out which escapes are traps, then commit to the one square that ends the attack.
Three phases
1Right-click-drag a yellow arrow from each checking piece onto the king
2Then a purple arrow from the king to every flight square that runs into another check
3Finally walk the king to the square that's left
Every flight square looks frightening. On all but one the attacker still has a check waiting and the assault rolls on. The right square leaves them with nothing — the attack is simply over.
Position complexity
Harder boards put more attackers around your king, so more escape squares run into a follow-up check.
Show how many checks
A scaffold worth dropping once the pattern lands — with it off you have to trust your own count.
Clock
seconds per position
DOUBLE CHECK
Round 1
0:35
1 Show the checks→2 Mark the traps→3 Walk the king
Right-click-drag: arrow· left-click: clear
0 arrows drawn
Draw an arrow from each checking piece to the king.
check on you escape that's a trap the safe square
Round complete
0
Rounds
0
Streak
0
Best streak
Drill 07 · Arcade
Endgame Reflexes
A passed pawn is running. Draw the square from the pawn to its promotion square — if the defending king is inside it, the pawn is caught. That's the whole skill, and it should be instant. The other king is parked too far away to matter.
How to play
CCall caught — the king runs it down
PCall promotes — the pawn gets there first
Three lives. Every correct call builds your combo and speeds the clock up. Miss one and the board draws you the square.
Margin
How close the race is. Hard decides every position by a single tempo — the ones you actually misjudge.
Starting clock
seconds per position
The clock tightens as your combo climbs — down to 1.2s, or your own number if you set it faster.
Score
0
Combo
×1
Best
0
Solved
0
Lives
Caught, or does it promote?
Right-click-drag: arrow· left-click: clear
Run over
Drill 01 · Arcade
Kiss of Death
A white queen is touching the black king — a contact check. The only squares the king can ever run to are the two diagonally behind it, away from the queen. If those are covered and the queen is defended, it's mate. Call it before the bar empties.
How to play
MCall mate — the king has nowhere to go
ECall escape, then click the square it runs to
Three lives. Every correct call builds your combo and speeds the clock up. The board tells you why whenever you miss.
Position complexity
Harder boards add decoy pieces — including defenders whose line is quietly blocked.
Starting clock
seconds per position
The clock tightens as your combo climbs — down to 1.2s, or straight to your own number if you set it faster than that.
Score
0
Combo
×1
Best
0
Solved
0
Lives
Mate, or does it escape?
Right-click-drag: arrow· left-click: clear
Run over
Drill 09 · Basic Arcade
Coordinates
A bare board, one square name, one click. This is the skill under everything else — if you have to count files to find d5, every other drill is doing extra work it shouldn't have to.
Board view
Random picks one side and holds it for the whole run — the board doesn't flip mid-run.
Rank & file labels
Hidden is the real drill. Shown is just for warming up.
Starting clock
seconds per square
The clock tightens as your combo climbs — down to 1.2s, or your own number if you set it faster.
Score
0
Combo
×1
Best
0
Solved
0
Lives
Get ready…
Right-click-drag: arrow· left-click: clear
Run over
Drill 02 · Arcade
Ghosts!
A position flashes for under a second and then it's gone. Some are real threats. Some just look like one — a fork the knight can't reach, a pin on the wrong diagonal, a "hanging" piece with a defender standing right behind it. The question isn't "can you solve this." It's "does this deserve your attention." Answer wrong by calling a ghost real, and it costs you more than answering slow.
How to play
SPACECall threat — something real is happening
—Do nothing — it's a ghost, let it pass
Call a real threat and you'll have a moment to tap where the danger actually is — not to solve it, just to prove you saw it. Three lives. The window shrinks as your streak grows.
Packs
Knight forks, hanging pieces, and bishop/rook/queen lines — each with a real version and a ghost that shares its shape. Turn any off to drill one pattern at a time. More packs are coming.
Starting pace
seconds per flash
New to the pattern? Give yourself a few seconds to start — every window still tightens toward 0.5s as your streak climbs, no matter where it starts.
Score
0
Combo
×1
Best
0
Solved
0
Lives
Danger, or nothing?
Right-click-drag: arrow· left-click: clear
Run over
Drill 04 · Arcade
CheckStorm
Your king is in check. The question isn't "what's the best move" — it's "what's even on the table." Tag every response type that's actually available. A knight check makes block impossible before you calculate anything; that has to become instant.
How to play
CCapture — something can take the checking piece
PProtect — a piece can block the line
RRun — the king has a safe square to step to
There can be more than one right answer — tag every option that's really there, not just the best one. Hit ENTER (or Lock it in) the moment you're sure, or just let the clock run out and whatever you've tagged is your answer. Three lives. The window shrinks as your streak grows.
Starting pace
seconds per check
New to this one? Give yourself more time to start — every window still tightens as your streak climbs, no matter where it starts.
Score
0
Combo
×1
Best
0
Solved
0
Lives
CHECK!
Right-click-drag: arrow· left-click: clear
Run over
Drill 03 · Arcade
King's Ground
Kings can never stand next to each other — so the eight squares around your king are squares the enemy king simply cannot enter. That rule is the whole game. Stand in the right place and the enemy has to walk around you. You'll feel opposition and shouldering long before anyone names them.
Mission
Hold the line. The enemy king is trying to reach the bottom row — keep him out until the clock runs out.
How to play
WASDMove your king — arrow keys work too
SPACEPush the pawn (Escort only)
One action per beat. Miss the beat and you forfeit the turn — the enemy still moves. Forcing him onto a longer route scores DETOUR.
Beat
seconds per beat
The beat tightens as you clear rounds. Start slow while the geometry is still new.
Score
0
Detour
0
Round
1
Beats
0
Lives
Hold the line
WASD / arrows: move your king
your ground his ground the square that bent his path
Run over
Puzzle left unfinished
—
Not counted on Lichess yet. Going back is practice, so your rating won’t change.
Drill 10
Puzzles
Real puzzles pulled live from Lichess, filtered by theme. Drag the piece you think solves it — a wrong try just flashes red and resets, no strikes, no clock.
No Lichess token connected yet. Open Settings (the gear, top right) and paste a personal API token with the puzzle:read and puzzle:write scopes to use this drill.
Theme
What kind of tactic to train.
Difficulty
Play as
Which side's puzzles to solve. The board always faces whoever is on move.
—
to move
Your Rating
—
YOUR MOVE
Loading puzzle…
Drag a piece to make your move.· Right-click-drag: arrow· plain right-click: highlight· hold ZRFC for color
🎯
Puzzle —
Rating — · Played — times
⚡
From game
♔
Your turn
Find the best move.
Solved
Couldn't load a puzzle
0
Puzzles
0
Streak
0
Best streak
Moves
Drill 11 · Arcade
Puzzle Rush
Solve as many puzzles as you can. They start easy and get harder with every one you finish — from under 1000 up past 2000. One wrong move is a strike and sends you straight on to the next puzzle, no retries; three strikes ends the rush. Puzzles come live from Lichess and never touch your Lichess puzzle rating.
Mode
Five minutes on the clock. Three strikes and you're out.
Personal bests
—
Get ready
GET READY
Loading puzzles…
0
5:00
Right-click-drag: arrow· plain right-click: highlight· hold ZRFC for color
5 Minute
5:00
Score
0
Strikes
Rush over
Couldn't load puzzles
Puzzles
Every puzzle you attempt lands here. Once the rush is over, tap any of them to open it on Lichess and see the answer.
Play Online
Find an Opponent
A real Lichess game against a random opponent near your rating, played on this app's own board. Leaving this screen while seeking cancels the search.
No Lichess token connected yet, or it's missing the board:play scope. Open Settings (the gear, top right) to connect one.
Time control
minsec increment
Rated
Rated games count toward your real Lichess rating.
Play as
Show ratings
Hide your opponent's (and your own) rating number next to their name during the game.
Play Bot
Play the Lichess AI
A real game against Lichess's own AI, played on this app's own board — the fastest way into a live game, no waiting on a human opponent. Never rated.
No Lichess token connected yet, or it's missing a needed scope. Open Settings (the gear, top right) to connect one with board:play, challenge:write, and bot:play.
AI level
1 barely resists. 8 plays near master strength.
Time control
minsec increment
Play as
SEEKING
Looking for an opponent…
Waiting for a game to start…· Right-click-drag: arrow· plain right-click: highlight· hold ZRFC for color