This article is a summary of my presentation at the O’Reilly Software Architecture Conference in London.
Maintaining an API gateway these days generally involves handling different types of user facing apps such as a web, mobile (of different platforms) and IOT devices. The Backend for Frontend (BFF) pattern specifically addresses this aspect of software solutions.
I was in New York on the 12th of April to deliver a talk at the O’Reilly software architecture conference on how my team and I built a report-casting mobile app for the 2015 Nigeria elections.On the surface, the talk was just about how we, as a team, built two mobile apps with a shared REST API running in the cloud. It was also about how we used an agile approach for the first time. In a real sense though, my talk was actually about how software development is inherently a social activity; the effect of corporate culture on software development (Conway’s law) and the pains associated with software development.
We had always wanted to build something relevant for elections in Nigeria and we had a lot of talk around this subject in 2011 when the last general elections in Nigeria were held but never did anything more than just talk about it. So when the 2015 elections were around the corner again, the talk came back but this time we were determined to get something done, anything!It all started with an excel sheet containing around 118,000 records, polling unit records from all across Nigeria. Since each polling unit record had a geographic coordinate, we were able to plot all the records on a map. Here is a map of Nigeria showing all the polling unit data (Google maps):