Sahel Frontline Health Corps
Trains and equips village health workers across the inner Niger delta; runs the network’s largest CHW academy.
Annual reach350,000 people
A pan-African health alliance
Twelve community health organizations across five regions share one workforce standard, one cold chain, and one voice — so that what works in Kigali reaches Kumasi by Friday.
The constellation
Every point of light is a member organization. Hover or tab through the constellation to meet each one — or browse the full directory below.
Why an alliance
Each member organization is excellent alone. But a vaccine cold chain that ends at a border, a training curriculum rewritten twelve times, and outbreak data that travels slower than the outbreak — these are failures of coordination, not of care. The Alliance exists to make coordination as ordinary as the morning clinic queue.
The Alliance is deliberately light: a small secretariat in Kigali, four working groups run by the members themselves, and one annual assembly. We do not deliver care — our members do. We make sure that when one of them learns something, all of them know it.
“A clinic that shares what it learns treats more people than a clinic twice its size that doesn’t.”
— Founding principle, AHA Network charter (fictional)
The directory
Membership is by invitation of the assembly and review of the working groups. Every member commits to the shared workforce standard, open data protocols, and mutual aid during outbreaks. All organizations below are fictional — drawn for this concept.
Showing all 12 member organizations.
Trains and equips village health workers across the inner Niger delta; runs the network’s largest CHW academy.
Annual reach350,000 people
Operates 14 neighbourhood clinics and pioneered the shared patient-referral card now used network-wide.
Annual reach260,000 people
The network’s largest member: primary care and immunization for informal settlements across metropolitan Lagos.
Annual reach810,000 people
Hosts the network’s surveillance desk; its county dashboards became the model for the shared data protocol.
Annual reach640,000 people
Water-linked disease prevention along the lake and river systems; leads the cholera-readiness playbook.
Annual reach310,000 people
Community nursing and home-based care in highland districts; runs the network’s remote-supervision pilot.
Annual reach275,000 people
Keeps vaccines cold on the river: solar cold-chain barges serving forest communities across three provinces.
Annual reach430,000 people
Riverboat clinics on the Ubangi; the network’s toughest logistics and its strongest argument for mutual aid.
Annual reach120,000 people
Clinical training partner: writes the shared curricula and certifies trainers for all four working groups.
Annual reach520,000 people
Malaria prevention across the valley; its net-distribution ledger became the network’s supply-tracking template.
Annual reach210,000 people
Mobile outreach across the network’s most sparsely populated territory — smallest reach, longest routes.
Annual reach95,000 people
Maternal and child health in High Atlas villages; leads the network’s midwife-mentorship exchange.
Annual reach190,000 people
How the work gets done
Working groups are chaired by members, not by the secretariat. Each meets monthly, publishes its minutes to the whole network, and owns one shared standard. Select a badge to read what each group carries.
Owns the shared CHW training standard — one curriculum, locally adapted, mutually recognized. A worker certified in Ségou can be supervised in Moshi.
2026 initiative: remote supervision toolkit, piloted in Tanzania and Botswana.
Owns the cold-chain handover protocol so vaccines cross borders without breaking temperature custody — river barge to lorry to clinic fridge.
2026 initiative: solar fridge maintenance exchange along the Congo–Ubangi corridor.
Owns the shared outbreak-signal protocol: a suspected case reported anywhere reaches every member’s duty officer within 72 hours, with a common case definition.
2026 initiative: cutting the 72-hour median to 48 by moving signals off email.
Owns the midwife-mentorship exchange and the shared safe-delivery checklist, translated into eleven languages by the members who use them.
2026 initiative: postnatal follow-up cards that travel with the mother, not the clinic.
Annual assembly
9–11 September 2026 · Kigali Convention Centre district
Three days, all twelve members, one agenda: what did we learn this year, and who needs it next? The assembly is a working meeting, not a gala — every session ends with a named owner and a date.
Member organization
Delegates (max 4)
Delegation confirmed
Visa support letters are issued by the secretariat within five working days.
Grow the constellation
Membership is open to community health organizations working anywhere on the continent. Candidacy takes one assembly cycle: express interest below, meet the working groups, and present at the next assembly.
The secretariat reviews candidacies monthly and will reply with the working-group meeting calendar. Thank you for the work you do.
Design case study
Concept project — adapted from a public RFQ. Frontend only; the registration flow and directory shown are static UI demonstrations. The African Health Alliance Network, its twelve member organizations, their reach figures, and the AHA Assembly are all fictional — invented to be plausible, affiliated with no real organization.
Public RFQs from NGO networks and health alliances ask for the same difficult thing: show that we are many organizations and one body at the same time. The typical answer is a logo wall — a grid of member badges that says “we have members” and nothing else. This concept answers the brief for a fictional pan-African community-health alliance: twelve members, four working groups, one annual assembly.
A network’s homepage has three audiences with three different questions. A funder asks “is this real and well-governed?” A prospective member asks “what would I actually get?” And an existing member asks “where is the thing I need this week?” The logo wall answers none of them. The design problem was to make the structure of the network — hub, members, working groups, assembly — legible in one glance, and then let each audience drill into their own question.
The chosen direction is the constellation: the network drawn as what it is — a hub, twelve nodes sized by community reach, spokes of accountability to the secretariat and a ring of peer-to-peer links between neighbours. Hovering or tabbing any node lifts that member’s card. The same node-and-line motif recurs as section dividers and in the working-group orbit, so the whole page reads as one diagram.
Two directions were rejected. A map of Africa with pins — rejected because a geographic map makes the story about territory rather than relationships, invites border-accuracy disputes that a health network doesn’t need, and collapses on mobile. And the humanitarian photo-essay — rejected on principle (this collection draws every visual in code) and on ethics: stock photography of patients is exactly the visual language a dignified health network should refuse.
<button> elements positioned over each node. Screen-reader and keyboard users get twelve named, focusable stops — not a decorated mystery.prefers-reduced-motion the constellation and orbit are fully static, and nothing is lost but the pulse.Teaching artifact
Part of a 26-site collection designed and built by Hannah Kwakye, engineered with Fable 5. Every visual in the collection is code-drawn — no photography, no raster images — which here meant an SVG constellation, CSS orbital mechanics, and a favicon that is itself a four-node network. Static hand-authored HTML, CSS, and vanilla JS; three self-hosted font files; deployed on Netlify from a Git push.
Albert Sans (variable, 100–900, one 32 KB woff2) does everything structural — headings at weight 700 with a −0.01em tracking, interface text at 600, body at 400. Spectral (regular + italic, ~22 KB each) is reserved for the editorial voice: the charter quote, statistics numerals, and the italic initiative lines in the working-group cards. Sizes are fluid clamp() steps from 1.05rem body to a 4.9rem display; the reading measure is capped at 64ch.
The hero diagram is one hand-written SVG on a 900×620 viewBox. The twelve nodes sit on a circle of radius ≈232 around the hub at (450,310), placed by angle with small radial jitter (±10) so the ring reads organic rather than mechanical: x = cx + R·sin(θ), y = cy − R·cos(θ). Node radius encodes annual reach on a square-root scale — r = 13 + √((reach−min)/(max−min)) × 18 — because circle area, not radius, is what the eye compares. Spokes run hub-to-node; a second set of dashed green “peer links” connects each node to its neighbours, so the drawing shows both accountability (to the secretariat) and solidarity (to each other).
The breathing is two CSS keyframe animations on opacity only — each line carries a negative animation-delay so the pulse travels around the ring instead of blinking in unison. Interaction is deliberately not in the SVG: twelve real <button> elements are absolutely positioned over the nodes (positions are the SVG coordinates converted to percentages), each with an aria-label naming the member. Hover, focus, or tap swaps the member card’s content — the card is an aria-live="polite" region, so screen readers hear each member announced as they tab the ring.
The working-group badges circle the secretariat with zero JavaScript: the track div rotates 360° over 90 seconds, each badge is translated out to the ring by its own angle custom property, and a counter-rotation animation of the same duration keeps every badge upright — rotate and counter-rotate cancel, leaving pure orbital translation. Under reduced motion both animations stop and the badges hold their compass positions.
The brief’s palette is a trap kindly laid: vitality green #2FA36B reaches only 3.20:1 on white and amber #E9A03B only 2.20:1 — neither may carry body text. So each got a text-grade partner (#1E7C4F at 5.18:1, #8A5A14 at 5.91:1) while the bright originals do what they are good at: fills, rules, badge grounds, and the amber button on deep blue where the ink-on-amber pair scores 7.67:1. Every pair used on this page is AA or better:
| Pair | Used for | Ratio | Verdict |
|---|---|---|---|
| ink on white | Body text | 16.86 | AAA |
| ink on mist | Body on panels | 14.79 | AAA |
| slate on white | Secondary text | 7.60 | AAA |
| slate on mist | Secondary on panels | 6.67 | AA |
| blue on white / mist | Headings, links | 11.14 / 9.78 | AAA |
| white on blue-deep | Assembly chapter, footer | 14.91 | AAA |
| green-deep on white / mist | Eyebrows, region tags | 5.18 / 4.55 | AA |
| amber-deep on white | Working-group tags | 5.91 | AA |
| ink on amber | Concept badge, assembly button | 7.67 | AAA |
| green #2FA36B | Node fills, rules, dots — never text | 3.20 | Non-text ≥ 3.0 |
scroll-margin-top: 9rem on all [id] targets fixed every in-page jump at once..section-deep p (specificity 0-1-1) was quietly out-ranking .mock-label (0-1-0) and painting mist-on-white. Ratios in a table mean nothing until you look at the render.aria-live="polite", no trap. Filter buttons report counts through role="status"; the form success state moves focus to the confirmation./assets/fonts, both stub routes redirecting, and zero console errors at 390 / 834 / 1440 px.Netlify, straight from the repository: publish = ".", immutable cache headers on /assets/*, and Netlify Forms handling the expression-of-interest form with a honeypot field and a ?submitted success state. The /guide and /process routes exist as tiny redirect stubs pointing at these anchored sections, so the collection’s route contract holds.