Would be interesting to know if it's using a Markov chain, frequency analysis, or some more complex ML approach for the prediction.

The algorithm started off by using one of those more simple methods and has evolved a lot since then. I'm exploring a few different directions now. It's difficult to say what will be the best direction to take it in until I have some more data to see what's working. I want to make something that works well for a lot of different types of workflows.