I created visual dashboard for the emails sent as part of campaign
https://thejeshgn.com/projects/aadhaar-speakforme-petition-status/
I think this process can be used by others to display live status. Hence this post
It uses:
1. DataMeet PC maps
2. Leaflet, D3 libs for map display. In fact I used some of the existing code from
You can see the code that does everything at
3. I used Frappé Charts - for charts and lodash for data manipulation
4. I initially scraped the data from their twitter account. Later a webhook to push the data was created. SpeakForMe team pushed the data to webhook along with posting to twitter. No personal data, just aggregate numbers.
Scraper code:
5. Analytics data gets stored in a CouchDB and served as standard restful that CouchDB provides. Running couchdb to receive external authenticated webhook post and then serve the data as restful service worked like a charm. Of course I didn't have much traffic to test under load. But since CouchDB is behind a CloudFront (Amazon CDN), I guess is it can take quite a bit of load.
Example data rows:
For sector level :
For mp or each dept level:
As you can see _id is the timestamp. _id is the primary key.
6. Initially the team used to push data every 5 minutes. So it used to show live status. But they have stopped pushing data now ( see last updated time stamp)
7. At some point I will create graph of email traffic (daily emails sent etc). Any other graphs you would like to see?
I will be happy to answer any questions if you have. I also wrote a detailed blog post at