1) Why I built this

As a chess coach, I always dreaded creating new training material, because I just wasn't aware of any way to do this quickly and comfortably. At some point I started experimenting with LaTeX templates, and not much later came about the idea to create ChessMint. This tool is in its early stages, so any feedback is welcomed!

2) FEN? What even is that?

Forsyth–Edwards Notation (FEN) is a simple text format that describes a single position on a chessboard. It records which pieces are on which squares, whose turn it is, castling rights, etc. Example:

Show example
3qrnk1/ppr1bppp/2p1b3/3p4/NP1P4/3BPN1P/P1Q2PP1/2R2RK1 w - - 0 1

This line fully represents one exact position — chess applications (such as this one) can reconstruct the board from it. FENs are commonly used to share puzzles, set up positions for training, or continue a game from a specific point.

3) Example Workflow

Here's an example of how you can use this tool in combination with lichess.org:

Step 1 — Navigate to the study chapter and position you want to include
Step 1 — Navigate to the study chapter and position you want to include
Step 2 — Go to “share and export”
Step 2 — Go to “share and export”
Step 3 — Scroll down and copy FEN to clipboard
Step 3 — Scroll down and copy FEN to clipboard
Step 4 — Paste into ChessMint (+ add Metadata to your liking)
Step 4 — Paste into ChessMint (+ add Metadata to your liking)
Step 5 — Generate PDF, done!
Step 5 — Generate PDF, done!

4) How it works

In short: The tool takes your FEN inputs and optional captions, then renders them into a polished PDF using LaTeX templates.

Technical notes
  • The web form sends your inputs to backend.
  • The data is injected into one of several predesigned LaTeX templates (depending on the layout).
  • LaTeX generates a high-quality, print-ready PDF using the package chessboard.
  • The resulting PDF is streamed back to your browser for instant preview or download.

5) About the dev

Hi! I am Jakob Pfreundt, the developer of ChessMint. You can follow/contact me here:

Back to top ↑

1) What it is and its purpose

Lichess.org and its puzzle database are invaluable training resources.
However, I've always thought that a serious, focused, distraction-free training session should be done offline, with a chess set, pen & paper.
With ChessMint's auto-generate mode, you can specify what kind of puzzles you want (by defining difficulty range and optionally selecting a theme), and you'll have your training material ready for download in seconds, with a professional layout and tailored to your needs.

2) How it works

In short: The tool takes your specified rating range, theme and layout, and searches the database for fitting puzzles, which are then rendered into a polished PDF using LaTeX templates.

Technical notes
  • The frontend requests puzzles directly from the hosted database via Flask backend.
  • Puzzles originate from the Lichess puzzle database and are stored in a PostgreSQL db for efficient querying.
  • Selection is randomized using a precomputed rand_key to ensure fast sampling and balanced distribution within the chosen rating range and theme.
  • Each sampled puzzle’s FEN (and other attributes) are sent to the PDF generator along with the chosen layout and title.
  • LaTeX then compiles a clean, print-ready PDF sheet using the chessboard package.
  • The final PDF is streamed back instantly for browser preview or download.

3) Limitations/Tips

  • A Lichess puzzle always has exactly one correct move, meaning that e.g. there is one move that wins (= gains an advantage large enough to be considered winning), all others don't.
  • Choose reasonable filters: Excessively narrow criteria may yield fewer puzzles.
  • Puzzle ratings mirror Lichess puzzle ratings, not FIDE.

4) About the dev

Hi! I am Jakob Pfreundt, the developer of ChessMint. You can follow/contact me here:

Back to top ↑