field-note12 min read

What we found building the Nigerian ecosystem record

The Nigerian startup ecosystem record is live with 110 organisations across 34 cities. Why it has to be a source of truth rather than another index, the three domains taken over by gambling sites, the design I got wrong four times, and the problem nobody has solved: how a record like this stays true after the people who built it get busy.

Field note 06 of 08SENPAIin build

The last note said we were going to build a public record of the organisations building Nigeria’s startup ecosystem, and that the next note would probably be about the design, which was the part I had most clearly got wrong.

It is live now, at ecosystem.senpaifutures.com. 110 organisations across 34 cities. Nothing in it is confirmed by the organisations themselves yet, which is the whole point of publishing it.

This note is what the work actually turned up: where the data came from and what that biases, the state of this ecosystem’s own web presence, the design I got wrong four times, the part nobody has solved yet, and what is still missing.

An index is not the point

There are already lists of Nigerian hubs. Most of them are a page of names somebody assembled once, and the reason none of them is useful two years later is that a list has no obligations. Nobody has to keep it true.

What we are trying to build is a source of truth: something a founder, a funder or a journalist can lean on and be right. That is a much higher bar than a directory, and almost all of it is about what happens after publication rather than before it.

It means every claim on the site has to be attributable to something. It means the date a thing was checked is as important as the thing. It means when we do not know, the page says so instead of leaving a tidy blank. And it means the organisations themselves have to be able to correct us, because a record that only we can edit is only ever as good as our last research trip.

The design decisions in the rest of this note mostly follow from that one sentence, including the awkward ones.

The method failed, and that was the first finding

The plan was a snowball. Start with the eight Abuja organisations we had already verified, go to their partner and sponsor pages, harvest the organisations named there, repeat.

Not one of the eight had a partners page. No /partners, no /portfolio, no /members. What exists instead is a wall of logos on a homepage, with no links and usually no alt text, so every organisation had to be identified by looking at the image itself. The trail runs dry after one hop.

That is worth stating plainly because it is the thing the whole sector says about itself and does not do. Everyone describes themselves as a network. The network is not written down anywhere a machine, or a founder, can follow.

Where the record actually came from

The route that worked was AfriLabs, which runs a public member directory with 127 Nigerian hubs in it, each with a paragraph the organisation wrote about itself. That is the field that blocks everything else, and it was sitting there in the open.

So most of this record rests on a third party. 98 of the 110 entries take their words from the AfriLabs directory rather than from the organisation’s own site. Every one was then chased by hand for a working URL and a city, which is where a lot of them fell over.

That method has a bias I would rather name than have somebody find. It finds organisations who belong to networks and who appear on other people’s websites. It misses everyone else.

Co-creation Hub is not an AfriLabs member. The largest and best known hub in the country was invisible to our own research until we added it by hand. Funds, newsrooms and corporate programmes are underrepresented for the same reason. There will be others we have not noticed, and that is a reason to use the form rather than wait for us.

The state of this ecosystem’s own web presence

This is the part I did not expect, and it has changed how I think about what the record is for.

Three domains have been taken over by gambling sites. A hub’s old address now redirects to a betting product, in one case served in Vietnamese, in another dressed up as an Indian student blog. In every case the organisation is real and still operating somewhere else; the address people have bookmarked is now somebody else’s.

Two live, current sites have gambling spam injected into them. Not parked, not abandoned. Real organisations, doing real work, with a casino payload sitting in pages they have almost certainly never looked at. We are contacting both before naming them anywhere.

One domain expired onto a registrar parking page during the research, advertising itself at auction. That is exactly how the first three started.

And the quieter problem underneath all of it: in one batch of forty, fourteen sites carried no date anywhere. No post, no event, not even a copyright year. Only one had published anything in the week it was checked.

29 of 110 organisations publish the name of a single human being.

None of that is a gotcha. It is what happens when the people doing the work have no one to keep the infrastructure, which is the argument this company was started on. But it does mean a directory of this ecosystem is not a nice-to- have. The record of who existed, and when, is quietly disappearing.

What the record is honest about

Two rules decide whether an organisation can be in it at all.

It has its own words, quoted and attributed, never a description we wrote in their voice. And a city we could actually source, from their own site or a named document. Where we could not source a city, the organisation is not in the record rather than in it in the wrong place. Several well known names are missing for exactly that reason.

Everything else is shown rather than hidden. A missing contact, a site nobody has touched since 2019, a claim we cannot check. 93 of 110 entries say “not established” about whether the organisation writes cheques, which is the question every founder actually arrives with. That number is embarrassing and it is on the site, because the alternative is guessing.

Evidence is a stack, not a field. Every check is added, never written over, and each one carries two separate dates: when the thing happened, and when somebody looked. A cohort that ran in 2019 and was checked yesterday is a fresh check of a stale organisation, and one date cannot say that. In three years the useful sentence will be this was live in 2026 and gone by 2028, and it only exists if nothing is ever deleted.

The design I got wrong four times

The last note promised this part, so here it is.

The first version was a table of counts, which is a report rather than a product. The second was a map that was still assembled out of defaults. The third I built against seven entries and it looked fine, because almost nothing was in it. The fourth I rebuilt from a proper design and still managed to bury the thing that mattered.

The correction did not come from me. It came from the obvious question: we had collected what each organisation does, the problem it solves, who it serves, how you get in and whether it funds anything, and every one of those was invisible until you clicked into an entry, which is the exact moment you no longer need them.

A founder does not arrive wanting to read a directory. They arrive with a sentence. Somebody in Abuja who trains students. Somebody who works with companies past their first revenue. Somebody who actually writes cheques.

That changed what the front of the site is for. It started as a search box: type a city, or type an organisation’s name. Which quietly assumes you already know the answer, and the people who most need this are exactly the people who do not. A founder in Yola does not know the name of the hub two streets away; that is the whole problem.

So the question the site asks you is no longer what are you looking for. It is who are you, what do you need, and where are you. Those are three things a person can answer about themselves without knowing anything about the ecosystem, and between them they are enough to return a real answer.

Underneath the map, every field we collect is one of those questions, with a live count against each answer so a combination that would return nothing tells you before you click it. Each combination is a plain link rather than a control, so it works without JavaScript, it can be sent to somebody, and a search engine can reach it on its own.

The same thinking fixed the city pages. They used to list what a city had and put the absences at the bottom, so you scrolled past everything present to find out what was missing. Now every city opens with all seven kinds of organisation and their counts, zeros included. Jos reads in one glance: three programmes, two training, one workspace, one technical, and nothing at all for funding, policy or media. That absence is more useful to a founder in Jos than any of the entries.

I want to be plain that the current design is not the answer either. It is experimental, several parts of it will change, and I still do not like all of it. We shipped it anyway, because a fifth private rewrite teaches less than one person using it badly and saying so. The layout, the colours and the wording are all provisional. The rules underneath, about evidence and sourcing and proof, are not.

Two other things worth recording because they were both real mistakes.

Loading real data broke pages that seven entries never could. Lagos became the first city with every category filled, which handed the page an empty list where it expected one, and the whole page went blank behind a 200. A summary line was naming the wrong category because it took the first in the taxonomy rather than the largest.

Querying found duplicates that browsing hid. Three organisations were in the record twice, because the directory lists them under two spellings and the research was split into batches that never saw both halves. Invisible in a list you scroll. Obvious the moment you ask a question.

The part nobody has solved: how this stays current

Everything above describes a snapshot. One person, some research agents, about a day. That is not a method, it is a sprint, and a record that depends on somebody repeating a sprint is a record that goes stale the moment they get busy. Which is precisely what happened to every directory this is meant to replace.

So the real design problem is not the first 110 entries. It is the next thousand, and keeping the first 110 true while they arrive. Four ways in, and only one of them scales:

The organisations themselves. The best of the four and the only one that gets better as the record grows, because the incentive is real: a fast, well marked up page here can outrank an organisation’s own slow site for its own name. Being listed is free distribution. Zero of 110 have claimed so far, because the record went public an hour ago.

Readers. Someone who knows a hub closed in 2022 is more useful than another research pass. Corrections need no verification and should be the easiest thing on the site to do.

Watching. The cheapest thing not yet built. Something that does nothing but re-fetch every URL on a schedule and record what came back. It would have caught all three domain takeovers and the expiry, automatically, on the day they happened rather than months later.

Research. What produced this seed, and the least scalable of the four. It should shrink as a share of the record over time. If in a year most entries still come from us, the mechanism has failed even if the numbers look fine.

I do not think that is solved. The honest position is that the first three have to carry it and none of them is proven yet. The next stretch of work is mostly about intake: making a correction take thirty seconds, getting the watcher running, and finding out whether the search incentive is real enough that a hub in Uyo bothers.

Claiming, and why it has three doors

Anyone can ask to claim an entry. Only a proved claim changes anything, because the confirmed marker is the only thing on the site with any weight, and a marker that anybody can set is worth nothing.

How it is proved depends on what we hold, not on what the claimant says about themselves. An organisation with its own domain gets a one-time link to an address at that domain. An organisation whose entire presence is a Facebook or LinkedIn page proves control of that page instead, because for them that page is the domain. Everything else goes to a person.

The page always says which of the three happened. One badge meaning three different strengths of proof would be the same small dishonesty this record exists to avoid.

And domain proof is conditional on the domain still being theirs. Given three have already changed hands, treating an email address as unconditional proof would hand a hub’s entry to whoever bought its expired address.

What is not built

Being straight about this, because a launch post that only lists wins is not worth reading.

There is no outbound email yet. A claim by domain email generates its verification link and writes it to a log instead of sending it. Until that is wired, a claim cannot complete without a human in the middle.

There is no moderation screen. Submissions and claims land in a queue that can only be read with a command line.

Nothing re-checks whether a site is still alive, which is how the three takeovers were found in the first place, and is therefore the most obviously missing piece.

Nothing is confirmed. Zero of 110. That number sitting on the front page is the point, not a defect.

What anybody can do

The record is public, free to use and free to be in. Nobody pays to be listed and nobody can pay to rank higher, because there is no ranking.

If your organisation is in there, it took its words from a public source and it is probably incomplete and possibly wrong. Correcting it takes about three minutes and needs no account: ecosystem.senpaifutures.com.

If it is not in there, that is more likely our sourcing than your absence. The same form adds it.

If you know a city we have barely touched, that is the most useful thing. Eighteen of the thirty-four cities hold exactly one organisation. Lagos and Abuja hold more than half the record between them, which says more about where we looked than about Nigeria.

If you run one of the networks, this is the part I would most like to talk about. Between AfriLabs and ISN there are claims of several hundred Nigerian hubs, and neither list can currently be used by a founder trying to find one. That is a solvable problem and we have just built most of the solution.

It is on our own servers, the code is ours, and the record is meant to outlast our interest in it. Whether it does is not something I can claim yet.

The Senpai list

Stay updated

We are building the digital infrastructure Africa needs, and publishing the whole thing as it happens. Field notes from inside the work, research, case studies, and the decisions that turned out wrong. Roughly weekly.

No pitch, and one click to leave.

SENPAI is a social impact design and technology company in Nigeria. We publish what we learn from the work, including the parts that did not go to plan.

Bring us a problem
Keep reading
  1. A health ID from birth, and every trade-off behind it

    An experimental answer to a NITDA Builders Festival challenge: why a "health BVN" on its own would not work, why we built on the NIN instead of competing with it, why the ID is issued at birth or at the first vaccination, how bulk-issued IDs make offline registration possible, the portable summary that travels with the ID, how matching, consent and sync are designed, the bugs that taught us the most, and what is still not built.

    Read →
  2. Can a stranger tell what your organisation does?

    Every entry in the Nigerian startup ecosystem record now shows the sentence it came from, the page it was read on and the date. What reading 109 organisations' own websites turned up: five compromised sites, four dead addresses, and an ecosystem that runs programmes and rarely writes cheques. Plus the four things I got wrong doing it.

    Read →
  3. The Nigerian startup ecosystem map

    A public, queryable map of who funds, trains, houses and builds for startups in Nigeria, city by city, maintained by those organisations themselves. Where the idea came from, the five things we considered building instead, what already exists elsewhere, and what would make us stop.

    Read →