We asked Chris Connolly to improve our Addressfinder Dashboard
Find out what Chris did, how he did it, and what he learnt along the way.
What is Addressfinder?
Addressfinder is a popular service, built by Abletech, used by developers throughout New Zealand and Australia. Thousands of websites use Addressfinder every day. Verifying street addresses for deliveries. Autocompleting street addresses for online checkouts. Verifying spreadsheets of street address data. Using geolocations, or metadata, for mapping and routing.
Addressfinder Dashboard
The Addressfinder team has a Dashboard on the office wall. It’s a screen that displays real-time data about current Addressfinder usage. Lots of customers. Lots of address searches.
We wanted intern Chris to improve the immediacy and accuracy of the data. We had been using Google Data Studio and over time we found that we were unable to trust its data. The values weren’t updated well. We needed to improve the reliability of the numbers.
We also wanted to improve the ‘glanceability’. The Dashboard cycled through four auto-tabs and the screen wasn’t always displaying useful information when we glanced at it.
We needed simplification and consolidation
The Architecture
The new Addressfinder Dashboard Frontend queries a Dashboard API that Chris created in React (frontend) and Rails (backend).
The new system either proxies some requests to the Portal API then transforms the data and sends it back to the front end. Or, in the background, it runs rake tasks to collate some data to store in the database, then when the front end queries the API it just queries that database, and returns it back via the API.
The Dashboard
There are two widgets that show 60 Minutes and 30 Days. These show how many hosts (servers and websites) have used Addressfinder. We also get a metric of the highest number we’ve had using Addressfinder.
The new at-a-glance dashboard also displays the number of new signups Addressfinder has had. It’s sectioned into New Zealand and Australia.
We also get Hits By Service and Hits By Account data. Hits By Service shows the top five Addressfinder APIs currently being used. Hits By Account allows us to see, for example, if a host is doing list verification because they pop into the top eight listed. We’ll then see a spike in service use.
What did Chris learn?
Chris says he learnt heaps from doing this project; both from working alongside experienced developers (like Jordan and Kate) and from carrying out the work. He also learnt how to understand what the clients, Nigel and Matt, wanted and how to collaborate with them as the project progressed.
I enjoyed using Ruby on Rails, and learning how MVC frameworks work, learning how React works, Rake tasks, Background tasks, proper deployment and continuous delivery pipelines, setting up integrations between Git and Netlify and Heroku etc. I learnt about Docker from Nigel which was good too.
It was great to have hands-on experience of GitFlow and see how it all works in the real world. It was also good to use a proper GitFlow and have the systems in place where collaboration was enabled (with branches) for code reviews and pull requests. I learnt how to use Heroku and Netlify. VCR. Recording HTTP interactions into cassettes instead of stubbing out data responses. Caching. Also I found the Highcharts library API good to work with.
The Addressfinder team are finding the new dashboard excellent. Its glanceability has improved, and the screen always provides a useful snapshot of reliable current service activity. Thanks Chris!
Read more from Chris — here’s his guide to integrating Google MyMaps with a website, using React