An open, source-backed directory of Nigerian leaders across technology, business, banking, public service, politics, sports, and culture. Every profile links to sources so the facts can be verified.
The data is community-maintained: if a leader is missing, anyone can add them with a pull request. No database, no backend, no account — just a code editor.
Note: profiles are compiled with AI assistance and reviewed against public sources. Treat each profile as a research starting point and verify claims via the source links shown on the profile.
- Features
- Quick start
- Add or fix a leader
- Project structure
- How the data works
- Scripts
- Tech stack
- Deploy
- Contributing
- License
- Directory of 100+ leaders with search and filtering by category and group (e.g. women leaders, or women leaders within a specific sector).
- Source-linked profiles — roles, achievements, books, and biography sections each carry citation links.
- Light & dark mode, responsive layout, accessible components.
- Zero-config data model — leaders live in plain TypeScript, validated on every pull request.
Requires Node.js 20+ (Node 24 LTS recommended).
git clone https://github.com/<owner>/leadersinfo.git
cd leadersinfo
npm install
npm run devOpen http://localhost:3000.
This is the main way to contribute. The short version:
- Add a photo to
public/leaders/<slug>.jpg(optional — a monogram is used if omitted). - Register the leader in
lib/data/leaders.tswith thecreateLeader(...)template. - If the leader is a woman, add the slug to the
femaleLeaderSlugsset. - Run
npm run validate, then open a pull request.
Full instructions, the copy-paste template, and the field reference are in CONTRIBUTING.md.
Not a coder? Open a Request a leader issue and someone else can add them.
app/ Next.js App Router pages
page.tsx Home
leaders/page.tsx Directory (search + filters)
leaders/[slug]/page.tsx Leader profile
about/page.tsx About / sourcing approach
components/ UI components
leaders-directory.tsx Search + category/group filters
leader-card.tsx Directory + related cards
leader-avatar.tsx Photo with monogram fallback
ui/ Primitives (button, card, badge, dropdown, …)
lib/
types.ts Leader data model + category list
data/
leaders.ts The dataset + helpers (createLeader, createSources)
leader-biographies.ts Optional long-form biographies
public/leaders/ Leader photos (named by slug)
scripts/
validate-leaders.ts Dataset validator (run by CI)
There is no database. All leaders are defined in TypeScript and rendered as a static site, which keeps contributions reviewable as plain diffs.
- The model is the
Leadertype inlib/types.ts. - Profiles are listed in
lib/data/leaders.ts. ThecreateLeader(...)helper fills in derived fields (id,nationality,imageAlt,lastReviewed), andcreateSources(...)assigns stable source ids (source-official,source-reference,source-extra-N). - Gender is derived centrally from the
femaleLeaderSlugsset (used by the Women/Men filter) so individual profiles stay clean. - Photos are registered in the
leaderImagesmap and live inpublic/leaders/. Missing photos fall back to a generated monogram. - The exported
allLeadersarray stitches these together; the UI reads only from it.
Every change is checked by scripts/validate-leaders.ts, which verifies slugs,
categories, sources, role/achievement citations, and image paths.
| Script | What it does |
|---|---|
npm run dev |
Start the dev server |
npm run build |
Production build |
npm run start |
Serve the production build |
npm run lint |
ESLint |
npm run typecheck |
TypeScript, no emit |
npm run validate |
Validate the leader dataset |
npm run check |
Lint + typecheck + validate (run this before a PR) |
- Next.js (App Router) + React
- Tailwind CSS v4
- next-themes for light/dark
- lucide-react icons
- tsx to run the validator
Any platform that builds a Next.js app works. The simplest is
Vercel: import the repository and deploy with the
default settings (npm run build). No environment variables are required.
Contributions are welcome — adding leaders, fixing facts, or improving the app. Start with CONTRIBUTING.md and the Code of Conduct. Open an issue for anything you want to discuss first.
MIT © Leadersinfo contributors.
Profile data is compiled from publicly available sources, each linked on the relevant profile. If you are a subject of a profile and want a correction, open an issue or a pull request.