Programmatically generating chess puzzles from a database of games played by users: https://lichess.org/blog/U4sjakQAAEAAhH9d/how-training-puzzles-are-generated
Related Posts
It's odd that games often show the hours played, but I've not seen this in other apps.
"You've spent 20 hours talking to this person." Would this be a usage deterrent? If so, why do many games offer it by default?
TIL Advent of Code and Project Euler will deliberately look for puzzles where the naive solution is worse than quadratic.
This ensures that people can solve them with any programming language. You don't want fast languages to be able to use the naive solution.
I'm always hesitant when I see digital services funded by a single one-off payment. Running a service requires ongoing funding.
You sometimes see this with games that have a multiplayer component. People buy the game, but the multiplayer servers won't last forever.