The whole thing runs client-site. The server fetches the latest data from the stores once a day. All data fits into 5mb of gzipped JSON. Small enough for the client to do anything. The server just serves 8 static files. It can handle serve all of Austria easily and could be scaled trivially. It's just static files.
Being the idiot I am, I also made it open-source:
https://github.com/badlogic/heissepreise
And as usual, people flocked to it and contributed. In no time we had all stores in Austria in there.