After the outstanding beta tests we have 3 months ago - huge thanks to all people who helped there, your are awesome, I couldn’t make it without your ideas and support! - the app is finally available.
I made chess eBook Reader that makes chess books interactive. Open a book, send it to analysis just the first time, once finished, double-click on any chess diagram in the book and explore it on the analysis board. More in comments from r/chess
What it is?
It is an eBook Reader for chess ebooks specifically. It makes any PDF chess ebook interactive in that sense that once a book is analyzed by the app, you can double-click on any chess diagram in the book and it will show up the analysis board where you can make your moves, turn the engine on/off, see top 5 computer lines which most often contains lines in the book. Every book is only analyzed once, the next time you open it, you can interact with it immediately.
Try it for free
The app is completely free to try so everyone can check if it’s suitable for their studies and preferences, and only then decide if the member account helps with that. The only limitation of a free account is that the diagrams are interactive on only over a dozen of first pages containing diagrams in a book.
If you don’t have chess ebooks to try, there are plenty of free samples on the internet, e.g. https://www.qualitychess.co.uk/pdf.htm
Changes made since the beta tests
a completely new PDF viewer component with page thumbnails, table of contents if a book has it, easy zooming, jump to page, etc.
the analyzing algorithm is trained on many more books
the app remembers on what pages you ended up working with your books and anytime you open them again, it opens them on those pages
more verbose status of the analysis progress, so you can see what’s going on, e.g. finding diagrams on pages 100-150
both monthly and annual subscriptions with pricing suggested by beta testers - annual subscription for the price of one chess book, and cheap monthly for ones that would like to use it occasionally
and more...
People seem to like it much
ChessVision AI is a significantly better alternative it can scan whole pdf files
— Blunder Chess (@belcher_zac) February 8, 2020
Technicalities
I used a custom-made computer vision algorithm to first find the diagrams in PDF document and then use a convolutional neural network to classify individual squares in a diagram into corresponding classes (the type of chess piece, color, empty square). I’m using PyTorch for the machine learning part, both training and prediction, mainly because of its API I really like and the ease to write custom data transforms. All files are analyzed by a separated background service using task queues which is crucial to make the rest of the app lightweight. For the deployment, I used Google App Engine. I’ve seen many suggesting SageMaker for that purpose, but I personally find it less intuitive to use than GAE. However, I might be biased because of my experience with GAE.