The Client's Need
Policy in Practice had a requirement for an application that would communicate information to people about the benefits due to them by the UK government. It would also explain to them how much better off they would be in work as compared to receiving government support. The basic idea was that the end user would be asked for a series of inputs, based on which a report would be generated to provide them with the information of how much benefit they would receive from the government and by how much they would be better off in work.
Furthermore, the agency also had the aim of helping the government make better policy decisions by providing them with analytics about user behavior.
Crafting The Ideal Solution
The calculation required for determining the support due is quite complex [touching almost 50 inputs] and usually happened in cumbersome excel sheets. Porting all of this information into a web and mobile applications made the UI much more easier to navigate for an end user.
The starting point for this project was an excel sheet which included all the formulas for performing these calculations. This excel sheet was converted into a simple JS calculator as the first version. A few iterations followed that focused on improving the usability and stability of the application.
Internet access being ubiquitous and cheap also made it more feasible for people to get online and perform these calculations whenever they wanted. Special attention was paid to make the application compatible across all the popularly used devices in the target market. This meant ensuring support for browsers as old as IE6 as it constituted quite a large number of our users.
The product now also includes the ability for an end user to create an account and save their calculations. They could also export these reports in the form of PDF or generate a print friendly version [this was done on the server side to minimize browser side quirks]
Evolution of a Product
The client then started attracting interest from other agencies who wanted custom calculators based on their respective needs. Instead of developing a brand new calculator for each one of them [an approach we thought unsustainable in the longer term], we decided to turn the calculator into a platform. The platform gave the client the ability to create a new calculator by specifying the type and number of inputs using the same underlying logic engine. It also allowed them to grant different levels of access to different clients.
The beauty of the platform lay in the ability of the client to create a new calculator without touching a line of code while also maintaining enough flexibility that calculators with numerous combinations of inputs could exist.