Is it possible to watch a certain transaction in Algorand, like watching an event in Ethereum?
Official algod and indexer API currently do not support watching transactions/events on Algorand.
You can manually simulate this by regularly querying the right endpoint of the indexer with the right parameters (in a "pull" fashion instead of a "push" fashion).
You can also try to use the Blockdaemon Ubiquity websockets API: https://blockdaemon.com/documentation/ubiquity-api/universal-api/websockets-api/