Searching VODs by using text in chat

You certainly could! Though it’s a bit more than just a weekend project. You’ll want to start by finding a way to sandbox the chat data.

Though not intended for 3rd party use, there’s an unofficial API endpoint you can use to grab 30 second chunks of chat data. You could also configure an IRC client to listen and log chat data as it happens. Save it to a server somewhere.

Once you have the chat data, you can run all sorts of analysis on it. This is where you knowledge of Twitch chat culture comes into play. As you seem to have noticed, you can look for specific phrases or emotes (like VAC spam for instance) to reasonably predict the existence of a certain kind of moment (a lucky/impressive/predictive play that resembles cheating).

There’s all sorts of chat patterns you can use as indicators, though keep in mind you’re battling against the inherent chaos of Twitch chat (which is not to be underestimated). False positive rates can range from 10 to 50 percent, depending what you define as an indicator and how you implement your predictive model.

Once you have your data points, you can use Twitch’s embedded video player to load the VoD, and the seek() method with your timestamps to programmatically skip to the significant moments you predicted.

Anyhow, most this advice comes from my experience building skip2.tv, which functions similar to what you just described, though my indicators are a bit different. Hope this helps!