The story
The program listens to several streams, identifies the last song played and checks it against rules: three given songs in order, an artist, a sequence.
To stay within free plans, it spreads its requests across several recognition services, at least one per minute and per stream.
What I did
- Several streams monitored at once
- Pluggable rules described in configuration
- Requests spread across several APIs