Skip to content
All projects

Cheesy

Lessons, openings, endgames and tactics, in your browser.

Learn from scratch with short lessons, play openings and endgames against the computer, solve tactics puzzles and analyse with an engine. Moves read in words, not notation, and a glossary explains the jargon. No account, nothing to install and no ads: your progress stays in your browser, and you can sync it with a four-word code if you want.

Publishedv0.4.0, Oct 10, 2026
License
GPL-3.0
Last release
v0.4.0, Oct 10, 2026
Web
cheesy.alvarotc.com
Content
21 openings, 14 endgames, 13 positions
Learn
36 lessons, in three levels
Glossary
89 terms, each with its board
Puzzles
550 from Lichess, in batches of 10
Languages
Spanish and English
Accounts
None, no email; progress in your browser, with optional sync by code
Engine
Stockfish 19, in the browser
Main screen of Cheesy

Screenshots

Learn, the glossary and Practise more, then Openings, Endgames, Positions and Analysis.

  • Lessons from beginner to advanced
  • A lesson, step by step
  • Chess words, with a board
  • Lichess puzzles by theme
  • A puzzle to solve
  • The 21 openings, with filters
  • An opening, with its theory
  • A line, played from memory
  • An endgame against the tablebase
  • A position to solve
  • Analysis with engine and variations

What it does

Learn, the four sections and what they share.

Learn, from scratch to plans

Short lessons in steps: some explain and others ask you to find the move, pick the answer or play the position to the end. There are three levels of 12 lessons: beginner, intermediate (tactics and endgames) and advanced (strategy and plans).

Practise more, with real puzzles

Eleven lessons of the intermediate level bring 50 puzzles each, taken from games in the open Lichess puzzle database (CC0). They come in batches of ten, from easiest to hardest, with no points or streaks.

A glossary with boards

Every word of the jargon has a plain definition and an example board. In the texts, terms are underlined: hover over one and a bubble tells you what it means.

Openings to play and to practise

In Play, the rival answers from the covered lines, or is Stockfish at five levels; a theory panel names the variation and warns when you leave the lines. In Practise only the move of the line counts, and a line is mastered after three clean runs in a row.

Endgames against a perfect rival

Win the won endgames and hold the drawn ones for fifteen moves. The rival plays from the Lichess tablebase and a panel gives the theoretical verdict.

Analysis with variations and engine

A free board, with the moves in a tree with variations. The engine is optional: evaluation bar, three best lines and an arrow. Imports FEN and PGN and gives links to share.

  • Positions that give nothing awayYou look for the winning move. The name and theme of each position stay hidden until you solve it, so they do not tell you what to look for.
  • Moves in wordsBy default, moves are written in words: “Knight to f3” instead of “Nf3”. A switch in the header turns on notation, and hovering over a move highlights its square on the board.
  • With the keyboardEvery board works without a mouse: arrow keys to move around, Enter to pick and play, Escape to cancel. A screen reader announces each square and what is on it.
  • No account; syncing is optionalNo accounts, email, passwords or ads. Progress is kept in your browser. To take it to another device, a four-word code stores it on Cloudflare; it is deleted after 12 months unused or whenever you want. Visits are counted with Umami, without cookies.
  • Content checked by machineBefore they ship, openings, endgames, positions and lessons are validated automatically: legal moves with chessops, engine checks with Stockfish and the endgames against the Lichess tablebase.
  • Spanish and English, light and darkThe interface is in both languages and the theme follows your system.
  • Free softwareUnder GPL-3.0, with the code on GitHub.

Why it exists

I play chess every week with my brother and wanted one place to practise openings, endgames and tactics against the computer, without creating an account.

I also wanted a board that never blocks you: except in Practise, which is strict on purpose, you can play any legal move and the app reacts to it.

When I shared it with some friends, the problem was a different one: they could not read notation and the jargon lost them. That is where moves in words, the glossary and Learn came from, to start from scratch.

How it is built

  • Angular 22 and TypeScript. The board is chessground and the rules, chessops.
  • Stockfish 19, the single-thread lite build, in a Web Worker in the browser.
  • In endgames, the position is looked up in the Lichess tablebase.
  • Progress is kept in IndexedDB, in your browser. Optional sync uses a Cloudflare Worker with D1 and an HMAC fingerprint of the code.
  • Lessons are written in TypeScript and built into JSON. Their tests check the moves with chessops, the exercises with Stockfish and the endgames with the Lichess tablebase.
  • A script picks the Practise more puzzles from the open Lichess database, by theme and difficulty.
  • About 2369 app tests, 783 content tests and 115 Worker tests.
  • Hosted on Cloudflare (Workers and D1). Visits are counted with a self-hosted Umami, without cookies.
  • Free software under GPL-3.0, code at github.com/alvarotorresc/cheesy.

Changelog

  1. v0.4.0, Oct 10, 2026Progress across browsers: a four-word code syncs it, and it is optional. Still no accounts and no email.
  2. v0.3.2, Oct 9, 2026The site moves from Netlify to Cloudflare, with no visible changes.
  3. v0.3.1, Oct 8, 2026SEO wrap-up.
  4. v0.3.0, Oct 8, 2026A page of its own for each opening, endgame, position and lesson, in Spanish and English.
  5. v0.2.0, Oct 5, 2026Learn: 36 lessons in three levels, a glossary with boards and Practise more, with 550 Lichess puzzles. Moves in words by default, and every board works with the keyboard.
  6. v0.1.0, Sep 30, 2026The first version: 21 openings to play and practise, 14 endgames against the Lichess tablebase, 13 tactical positions and an analysis board with an engine, in Spanish and English.