I prefer having the REST API running on a raspberry pi or a local server, that can proxy things to Google Cloud and back, just because in case something happens to the internet connection, your house is bricked, by having a local instance your system does not rely on your ISP for speed and availability.
I'd be curious of how do you update these devices, did you get OTA to work through an nRF24? did you need some external eeprom for that?
I agree, and I think the author should write a blog-post/tutorial about it, it might be useful for a lot of people that are looking into blockchain/ethereum/solidity, me being one of them.
The RAM and CPU usage is interesting, I think most of the people hate electron apps for their thirst of resources.
Just by looking at the activity monitor I'm curious what's the emptyWindow process.
Your point is quite interesting although I'm not sure running LDA on the entire code would be useful. I spent half a year writing my postgraduate thesis on a recommender systems for streaming services based on LDA, in particular we wanted to infer who is watching what and when in a shared account.
From all the tests I did with LDA I believe the best thing would be to run it on the README files.