"A Unified Postal Code & Street API For Nigeria" By Mark Essien

Original Link To Article

Based on this post by Oo Nwoye, I would like to expound a bit on what I think the best approach is.

First of all, let’s look at what the problem is. The problem are these:

Nigerians do not use post codes
Nigerian streets are ambiguous
There is no central way of retrieving all the streets in Nigeria
Street houses are not numbered correctly
You cannot recognize if streets are close to each other
Very long roads cannot be further broken down into pieces (as is possible where post-codes are used)
The post-code allocation system is not expanding as quickly as the country is developing.
SUGGESTION FOR SOLVING THE ABOVE
An API is created that does the following:

It lists all the streets and houses within a post-code
It can receive an unstructured address, and return a valid address suggestion.
It can provide the GPS location of a particular street at well as the GPS of a particular house number
It provides address suggestions given partial information
It stores meta information about a street, e.g It is ‘Off which road?’. How do people refer to it commonly, e.g ‘Masha’, ‘Alhaji Masha’, ‘Masha Road’, ‘Marsha’?
WHAT WOULD BE THE UTILITY?
a. For an e-commerce store, when customers enter their address, they call this API to provide auto-suggestions, and can then provide a valid and known street name to the user. This way, deliveries will tend to arrive better at the correct destination.

b. For software that needs to know what is close to a street, e.g a ‘Nearest Hospital’ app, it can use the post-code to pull all the nearby streets which can access that hospital

c. For people that need to find particular addresses, e.g a bank is looking for 48c Ogbor Hill, Aba - the API would provide them the exact GPS location of that house.

HOW WOULD IT WORK?
On the backend, there is a key-store db, e.g MongoDB. It stores a bunch of information about the street and the area.

As requests for street name information hit the API, the API starts using that information to build a comprehensive list of road names. This way, even if only one e-commerce store is using it, given enough time, it will have gained a lot of information about streets.

A clever algorithm at the back takes the names users are typing and resolves them into a single ‘Master’ name that represents the best guess for the name.

This can be combined with a manual intervention method where people help to clean up the street data.

For the e-commerce store, there is no UI change or disruption, as the user only sees suggestions when there is enough information on the backend. Over time, this db will grow to become comprehensive, and there will be an open source database of all street names in Nigeria, their post-codes and all valid addresses on those streets.

This db will be live and will grow and adapt naturally as the environment changes.

4 Likes

And hopefully, unlike everything else in Nigeria, it would be updated regularly.

6 Likes

Once things get going, we hope we see you and other developers contribute. It’s why at its core it is an open source project.

We’ll be counting on a situation unlike everything else in Nigeria; people go “let me contribute this” and not wait for “somebody” to do it. :wink:

2 Likes

Since this is a project from scratch, please consider embedding meaning in the actual post codes. For example, Lagos is at roughly Lat N 6° 45’, Long E 3° 25’ , so a base post code for the area could be N6E3. This may of course be hard to implement in practise, but I think its worth a shot.

2 Likes

That is not a plan. At all. Open source projects have governing bodies to put things like this in place. By the way, “updated regularly” is in reference to the street data and stuff, not the code.

1 Like

It’s not from scratch. It is being built on top of the existing postcode system

1 Like

Not all open source projects have governance structures. Some are small projects stuff that built by a single dev.

Same thing. People will be needed to contribute spelling corrections, missing streets etc.

1 Like

You are missing the point and that is totally fine. If putting this project in the class of small projects built and maintained by a single dev is just fine, there was no need for the blog posts upon blog posts that have been written on the matter.

However, since the general consensus is that something like this is a necessity and we would rather have it in the hands of the community than some private enterprise, a committee with a proper roadmap is necessary. Simply hoping people from a culture that has been historically averse to sharing or taking time to give input would suddenly start contributing to stuff means it will be a long time before this API is reliable enough for any large scale deployment. Note that I am going by @mark’s functional “improvements” to the original proposal.

2 Likes

I’m not missing the point.

What I have realised is that, going out of the gate all blazing with committee this an that almost NEVER works. Rails was built part time while DHH did Basecamp. I recollect when Bootstrap started it was 2 abi 3 Twitter people. Linux was a chaps Master’s project.

If a project is going to be useful, it will and depends of the first 2 - 3 people building it and say another 5 organizations using it.

If it grows to a point where it needs more “governance” or the"-con" events, so shall it be. So my point is, rather that planing for this complex massive bureaucratic future from day one, what is most important and useful is the first 50 commits and the first 3 deployments.

We’ll grow from there.

4 Likes

I wish nothing but well for the project, but this lackadaisical attitude is what I fear. This shouldn’t be a matter of “if”. NodeJS grew because the guys at Joyent took ownership as against hoping someone out there would fix their early day woes. In this parts, simply labelling something “open source” doesn’t make the hard problems go away. :slightly_smiling:

2 Likes

In case you aren’t aware, it has not been dumped in the public with the hope people pick it up. It is an idea that has been put out there so people who see sense in it can tackle it if they want.

However, I in conjunction with real developers are actively looking at how to see it to fruition.

My initial response it to the attitude where people’s first (and most times only) input is skepticism to new stuff that contributes nothing. Why I decided to respond is to let you and others that may be reading this know that “dem no dey forbid for you to do am o”.

The fact that most of of us go “the government should… how I wish Nigerians will” does not mean we should accommodate it in tech.

You have the skills, make it happen. If not constructively contribute to the people trying to do so.

Pronouncing skepticism from an altar is not helpful at all. :wink:

2 Likes

It’s your baby, I get it… and every skepticism upfront appears to be an attack. Sorry. The problem I highlighted isn’t a code problem so there is little I can do there. I trust that you and your “real” developers can see the project to fruition. Whether the data on it would be accurate in a year or two however, I can’t help you there. It might be something you are pushing farther down the road to tackle… but it will still be there.

Not everything is a code/commits problem. :slightly_smiling:

On the other hand, I may be missing something as I am not in the inner circle obviously… so shedding some light would be helpful.

2 Likes

To clarify, “real developers” is a reference to myself that doesn’t code and is forming instigating open source project.

Actually you can. If you see a street name spelled wrong, you are free to fork. [quote=“xolubi, post:12, topic:4092”]
On the other hand, I may be missing something as I am not in the inner circle obviously… so shedding some light would be helpful.
[/quote]

If you have particular questions, please ask.

2 Likes

Great idea… My comments will be from the professional and Geospatial point of view.

  1. This same issue has being the point of discussion in the geospace and we have been looking for a perfect and efficient geocoding and addressing system that will facilitate efficient service delivery and logistics in Nigeria without a conflict of IDs. We have looked out to using systems like What3Words.com and Google post codes but still this services are not efficient for 70% of the intended use. Ehealth Africa has an experience on it even [ Project NODA] (opendata.com.ng) is planning a methodology to simplify addressing and geocoding.

  2. So, my concerns are that with the concept of latitudes and longitudes, how will a street addressing system help the geolocation of an area in Akure that was not built to plan that will facilitate addressing. My thought on this and what we all resorted to after discussions within both the Nigerian and International communities (e.g. Open Street Map, State of the Maps 2015) is that the issue of geocoding in Nigeria and other developing/transition countries is beyond the technological intervention and more has to be done around the social and civic engagement/experience point of action.

  3. Lastly, like I mentioned earlier, serious industry talks and considerations are on this subject matter. I will like to contribute to every community working on something along geospatial technologies and mapping.
    Awesome thoughts!!!, I think I’m in… Let’s see what rolls from every working groups on this.

Feel free to contact me for talks on Geo
Email: christad92@gmail.com
Whatsapp: +2348163174143
Calls and SMS: +2348145532186, 08164217903

Cheers.

As indicated by @OoTheNigerian the Nigerian Postcode issue is one that benefits from crowd-sourcing.

I stumbled across a tweet by @markessien [1] that resulted in rapid production of the following tweets that demonstrate Postcode CSV document to Linked Open Data document conversion :

  1. Tweet about Benin City Postcodes

  2. Tweet about Postcodes Count by Town .

What’s required next is a CSV document that includes geo coordinates for each street associated with a Postcode.

Hi All!

There is now a Google group fro this project.

https://groups.google.com/forum/#!forum/nigerianpostcodes

Feel free to join!

Encountered a situation where this solution would have been super useful, then I remembered this topic existed. Sure enough, as @xolubi predicted, nothing happened with this. The Github repo doesn’t even have a description… :disappointed:

1 Like

Is the situation something you can share? We are working to get the first version out.

BTW, sorry for not accepting your request to join the Google group on time. Will do so now.

Without going into details it’s related to companies that have setups in people’s homes and how their staff electronically save their addresses. A lot of the time they write them however they want (abbreviated/spelt wrong), which creates issues later on when analyzing data (imagine an address like “Ajo. Ade, VI, Flat 3” crap like that), so I was thinking that would prevent any manual input like this, https://getaddress.io/ As long as you have the postcode or the general area, you a list of all the streets and maybe house numbers.

1 Like

I replied on the group also… Would love to help with this if a plan can be made.