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.