Collecting The Data
The only thing we knew about this list of companies was their company name and their address, so we were on our own to find out this data. We used a combination of Google Places search & a service called Scale to gather the data we needed.
We Geocoded the address to get the latitude and longitude. We then used this data to search Google places using their API. This helped us find thousands of review ratings for these contractors. We then used Scale, which is a service that lets you request tasks for humans to complete via an API, to help us find data for anyone where we couldn’t find through the Google Places API. This helped us fill some of the holes that were still there. With that being done we had our database filled with thousands of contractors and their average review rating on Google. Next step, find a way to present this data in a meaningful way!
Displaying the Data
After we went through the work of collecting the data we had to find a “cool” way to present this data. No one just wants to look at an excel spreadsheet filled with thousands of lines of Company Names and Review Ratings after all.
We decided a filterable map with color-coded pins would be a great way to show all this data that we just gathered. This was built into an existing Ruby on Rails app so we built an API endpoint specifically to serve this data as JSON that we could consume in a JS based mapping software. We ended up going with Mapbox for our mapping software.
We ended up having a great map visualization where we could search by company name, zoom into street level, click to get details of the company and the actual reviews via the Google places API, and a filter to show contractors by their average review rating.