Am I missing something, or does this not react to any in-game events? So the generated text could have been done offline or using some batch process.
The online generation is neat... but not necessary or important?
Replacing the polling with a lookup table would significantly improve the performance, and be much simpler.
In the video he mentions that he also feeds in a screenshot so that it could include live location clues.