ChessMint: The Journey So Far
On the process of building a unique piece of chess software in 2025
October 15, 2025. I ship the very first version of ChessMint.
At this point, it’s a very basic tool for creating chess training material. The user selects a layout, inputs a number of FEN strings (and optionally captions), sets up some data for the header (title, subtitle, author, and date), clicks on Generate, and ChessMint renders a nicely formatted PDF sheet, ready for download and print.
October 17, 2025. I create an account on X, where I later introduce ChessMint and market it with three bullet points:
Clean, print-ready PDFs
Create & download in seconds
Regular and blindfold puzzles
For the most part, this is still the core concept now, two months later.
However, in the meantime, I have added to and improved the functionality considerably (and even so, there is a lot left to do).
The Changelog lists all of the changes and improvements ChessMint has seen over the past weeks and months.
December 28, 2025. I write this article, in which I’ll present the current state of ChessMint and explain what it can do and what its purpose is.
Why ChessMint?
As a chess coach, I always thought that creating training material was unnecessarily cumbersome. I had been dissatisfied with the available options for a long time, so at some point I started to experiment with LaTeX templates. This did improve the workflow somewhat.
Still, at this point, I had to open a LaTeX editor everytime, input the FEN strings one by one, and there was no automation, nor any further workflow simplification.
This is when I decided to build a fully-fledged tool based on LaTeX (and specifically, the chessboard package) to make the process as easy and fast as possible.
Additionally, a second idea came to mind, which was using the freely available and vast Lichess puzzle database (containing several millions of puzzles) to fully automate creating training material, without any user input beyond selected parameters like difficulty (puzzle rating) and theme.
So I had (and still have) 2 target audiences in mind:
Coaches looking to simplify, automate and streamline creating training material, especially puzzle sheets, for their students.
Players looking to take their training sessions offline / off-screen with the exact types of puzzle they want/need.
Why train offline / off-screen?
Chess websites and apps, by their very nature, aim to keep you online and tied to your screens. Now, let’s be clear: That’s not necessarily a bad thing per se. After all, the internet has been amazing for the game, and there are many incredibly useful websites for chess improvement (second to none lichess.org, let’s be honest).
However, the online and digital arenas come with all kinds of distractions.
On the one hand, the resources enabled by technology are fantastic, but on the other, the interconnected, digital space is not exactly an ideal environment for focused training. For example, I’ve heard of and seen many people — including students of mine — rushing through their online tactics, or being distracted by tabs, windows, or notifications.
And it is probably not too far-fetched a claim that training on a physical board is simply superior to training online — at least if the goal is to improve as a classical chess player.
This is where ChessMint comes into play. A tool not only for coaches, but also for chess players, enabling them to create their own high-quality training material, to be able to train and improve in the analog world, independently and distraction-free.
ChessMint’s Functionality, Explained
Here is what the current main view looks like:
In the following sections, I’ll briefly introduce and explain some of the most important features.
Multi-page documents
ChessMint has become considerably more powerful compared to when it all began — you can now not only create a single sheet, but a whole document consisting of multiple pages, including a solutions appendix (more on that later).
On the left side of the editor, pages can be added, and by clicking on them, their content (FENs, captions) can be edited.
Title, author and date stay consistent across the document, while the subtitle can vary from page to page.
Auto-generated puzzles (lichess-powered)
This is an idea I wanted to implement from the start. The Lichess puzzles database contains millions of puzzles, generated algorithmically from games played on their website, and it is freely available for download. Each puzzle has a rating, indicating its difficulty, and a number of themes (e.g., clearance, double attack, mate in 4, zuzwang, etc.), which makes the database ideal for projects like ChessMint.
So I downloaded the table, slightly trimmed it (filtering out puzzles with unstable ratings and/or low popularity), hosted it, and let ChessMint sample puzzles from it based on user-selected theme and difficulty.
Auto-generated, in-sync solutions appendix
Each puzzle in the Lichess puzzle database comes with a solution. ChessMint offers the option of including an appendix to the document containing all of the solutions.
You can also include the solutions appendix for puzzles you curated / input yourself —in that case, you’ll have to input the solutions manually.
There are two layouts available for the solutions appendix.
Compact is a split-page layout, each puzzle presented as a small diagram showing the initial position and the solution besides it, in clean column-based notation.
This is designed for solutions consisting of one line and no additional comments, so it works great for puzzles from the Lichess database.
I offer a second solutions layout, Free-form, where anything goes, so to speak. This one is particularly interesting for coaches who want to write their own explanations and/or add multiple lines.
PGN Import
This is the second main way of adding puzzles to a page. Click on PGN import, paste in the PGN text, and ChessMint looks for the FEN strings and fills the slots of the page with the provided positions.
This could be of interest to coaches who already have their material in digital form.
PGN Export
This is something I am yet to implement into what is the main ChessMint builder (currently under Custom), but it is, as of now, available under Automatic, which is a legacy page purely for sampling puzzles from the Lichess db.
Here, you can click on Export PGN, which copies the PGN text into your clipboard, which you can then use, for example, to create chapters in a Lichess study.
This is great for coaches, but also for players/improvers who want to analyse the positions beyond just checking the main solution.
Puzzle/Position Reordering
Within each page, for maximum control, you can reorder the positions to your liking by switching the FEN/caption inputs of 2 slots using the up/down buttons on the right. Whenever two puzzles are switched, their corresponding solutions in the appendix are as well, so everything is kept in-sync.
Projects
This is one of the latest features, and it certainly was the most daunting to implement, because it required first setting up accounts, which is something I haven’t had much experience with so far in software development.
However, I am very happy with how it turned out. As a logged-in ChessMint user, you can now save a new project, and then open, update, as well as delete a saved project.
By the way — what I call a “project” in this case is nothing but a worksheet-in-progress. It’s not the generated PDF itself, but the input data with which ChessMint generates the PDF.
The option of storing that is great for multiple reasons. These are the two most important use cases for me personally:
Saving an unfinished document and finishing it (and generating the PDF) later
Revisiting an old document to edit/improve and (re-)generate the PDF
You can access your saved projects under My Projects and open/delete them from there.
By clicking on Open, ChessMint takes you to the main editing view and loads all of the data of that project into the input fields so you can continue working exactly where you left off.
Bonus: Blindfold mode
This may not be particularly relevant to many chess players (though who knows, I myself have always been looking for a simple way to traing visualization other than blindfold games), but it is available at Blindfold — you can generate a sheet containing 10 puzzles presented in text-form rather than visually as diagrams.
The puzzles stem from the Lichess database and their FENs are converted into human-readable notation.
The output is not particularly pretty —
— but it works. I might improve the layout and add this as an alternative page type to the main ChessMint builder at some point, such that you can create training material with various types of puzzle solving.
Closing thoughts
While I am happy with the progress so far, there are many things to improve. If you want to follow this journey more closely, you can follow the ChessMint X account and/or my personal account.
Building this project has been a great experience, and this is just the beginning. I genuinely think there is a gap in the market for tools that generate high-quality training material. With ChessMint, I have every intention of filling that gap.
I have already been receiving feedback from coaches using this tool regularly. Whether it will be interesting and worthwile for players/improvers as well, only time will tell!
Monetization
At some point, to make it sustainable, and ideally even profitable, I will (have to) introduce paid plans, but for the moment, I’ll continue improving and stabilizing the tool, and hopefully building up a sizable user base. During this early phase, everything is free.
I have, however, recently added the possibility of supporting ChessMint voluntarily. Anyone supporting the project in its current early stage can opt to have their name displayed among the Early Supporters, a section that will of course remain on the website even after I set up some kind of paid plan in the future.
Marketing
It is clear that marketing has to be a big part of this, and this is something I will try to do more of — to the best of my ability — in 2026. There is little use in building something that could be helpful to many if nobody knows about it in the first place, right!?
What have I done so far w.r.t. marketing?
Created an account on X/Twitter documenting every improvement and occasionally posting puzzle sheets created with ChessMint
Sharing the tool personally with friends and acquainted chess coaches
Writing a blog post on lichess and a reddit post (the latter turned out to be almost entirely useless)
Writing this Substack article
These marketing channels have had varying levels of success. As of now, overall, there have been about 1300 unique visitors on the website, 62.7% of those coming from Germany, Russia, India, China, the US, and Spain.
Going forward, I intend doing some IRL marketing as well: Creating posters and/or simple business cards, approaching chess clubs, and potentially offering a coaching session in return for them hanging up one such poster — or something along those lines.
Finally…
…I approach this whole project knowing that:
I find ChessMint incredibly useful myself, which makes me believe it could be useful to many others as well
If I try my best and it turns out the demand for it is not there or the project falls short in some other way, I certainly won’t regret having tried
If I try my best and it works out well, it’ll be wonderful, and I’ll be happy to have contributed a bit to the landscape of chess software
I guess the last two points (well, except for the part of contributing to the landscape of chess software) could be applied to almost anything. One rarely regrets doing, creating, trying something. Not executing on an idea (or, even worse, not executing on any idea) is, I suppose, where regret is more likely, and where it makes more sense as well. How many sparks of the mind have cooled down and eventually vanished due to inaction?
On that note, I want to thank everyone who read this article and wish you all the best for whatever you are currently working on.
And, of course, I’d appreciate any feedback, whether it be on ChessMint itself, this article, or anything else.
Jakob






















REALLY great tool. Just gave it a spin. I'm excited to see where this project goes!
This looks awesome Jakob, a lot of scholastic teachers in the U.S. would likely be very interested in Chessmint!