Structure
After the initial idea following steps got defined:
- getting source data
- apply transforms for comparison
- use a service to look up hashed in a database
- find shops offering the song
From the beginning it was clear that aside of a shared persistent web application, a user specific browser extension would be required for the input. Although the hosted application would allow to manually select existing files to be analyzed, accessing data of 3rd a party websites still wouldn't be possible.
Since at the time each of the major browser vendors have their own extension scheme - the idea was to just write a minimum of platform specific code and focus on share-able elements. Furthermore one the core components, a visual editor to specify the sequence to be analyzed, should be re-usable by the extension and the web application. Both will also communicate with a server which handles the access to other APIs and deals with persistent data.