Concept A design demonstration — this alliance and its members are fictional. Read about this project.

A pan-African health alliance

No clinic works alone.

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

Twelve members, one network

Node size reflects annual community reach

Every point of light is a member organization. Hover or tab through the constellation to meet each one — or browse the full directory below.

12 member orgs 5 regions 4.2M people reached

Why an alliance

Community health is a network problem

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.

  • 4.2Mpeople reached by members each year (2025, self-reported)
  • 18,400community health workers trained to the shared standard
  • 31cross-border referral corridors kept open
  • 72 hrsmedian time for an outbreak signal to reach all twelve members

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

Twelve members, five regions

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.

  • West Africa

    Sahel Frontline Health Corps

    Ségou, Mali · member since 2019

    Trains and equips village health workers across the inner Niger delta; runs the network’s largest CHW academy.

    WorkforceMaternal & Child

    Annual reach350,000 people

  • West Africa

    Accra Community Clinics Trust

    Accra, Ghana · member since 2018

    Operates 14 neighbourhood clinics and pioneered the shared patient-referral card now used network-wide.

    DataMaternal & Child

    Annual reach260,000 people

  • West Africa

    Lagos Urban Health Partnership

    Lagos, Nigeria · founding member, 2017

    The network’s largest member: primary care and immunization for informal settlements across metropolitan Lagos.

    Cold ChainWorkforce

    Annual reach810,000 people

  • East Africa

    Rift Valley Health Partners

    Nakuru, Kenya · founding member, 2017

    Hosts the network’s surveillance desk; its county dashboards became the model for the shared data protocol.

    Data

    Annual reach640,000 people

  • East Africa

    Nile Basin Health Initiative

    Jinja, Uganda · member since 2020

    Water-linked disease prevention along the lake and river systems; leads the cholera-readiness playbook.

    DataCold Chain

    Annual reach310,000 people

  • East Africa

    Kilimanjaro Community Care

    Moshi, Tanzania · member since 2019

    Community nursing and home-based care in highland districts; runs the network’s remote-supervision pilot.

    Workforce

    Annual reach275,000 people

  • Central Africa

    Congo Basin Health Trust

    Kisangani, DR Congo · member since 2021

    Keeps vaccines cold on the river: solar cold-chain barges serving forest communities across three provinces.

    Cold Chain

    Annual reach430,000 people

  • Central Africa

    Ubangi River Health Mission

    Bangui, Central African Republic · member since 2022

    Riverboat clinics on the Ubangi; the network’s toughest logistics and its strongest argument for mutual aid.

    Cold ChainMaternal & Child

    Annual reach120,000 people

  • Southern Africa

    Drakensberg Health Alliance

    Pietermaritzburg, South Africa · founding member, 2017

    Clinical training partner: writes the shared curricula and certifies trainers for all four working groups.

    WorkforceMaternal & Child

    Annual reach520,000 people

  • Southern Africa

    Zambezi Valley Care Alliance

    Livingstone, Zambia · member since 2020

    Malaria prevention across the valley; its net-distribution ledger became the network’s supply-tracking template.

    Cold ChainData

    Annual reach210,000 people

  • Southern Africa

    Kalahari Rural Health Network

    Ghanzi, Botswana · member since 2023

    Mobile outreach across the network’s most sparsely populated territory — smallest reach, longest routes.

    Workforce

    Annual reach95,000 people

  • North Africa

    Atlas Community Health Network

    Marrakesh, Morocco · member since 2021

    Maternal and child health in High Atlas villages; leads the network’s midwife-mentorship exchange.

    Maternal & Child

    Annual reach190,000 people

How the work gets done

Four working groups, in orbit around the secretariat

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.

  • Community Health Workforce

    Chair: Drakensberg Health Alliance · 5 member orgs

    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.

  • Cold Chain & Supply

    Chair: Congo Basin Health Trust · 5 member orgs

    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.

  • Health Data & Surveillance

    Chair: Rift Valley Health Partners · 4 member orgs

    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.

  • Maternal & Child Health

    Chair: Atlas Community Health Network · 5 member orgs

    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

AHA Assembly 2026 — Kigali

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.

  • Day 1 — The year in reviewMember reports, outbreak retrospectives, the honest-failures session.
  • Day 2 — Working group summitsAll four groups meet in parallel; standards are amended and re-ratified.
  • Day 3 — The next corridorNew member candidates present; the 2027 mutual-aid budget is voted.

Request an invitation

Register your delegation
Concept UI — demonstration only

Member organization

Delegates (max 4)

Confirmed
Concept UI — demonstration only

Delegation confirmed

Reference
AHA26-0042
Delegates
3
Working group day
Data & Surveillance

Visa support letters are issued by the secretariat within five working days.

The delegation-registration flow, shown as a static design demonstration. The real flow would run on the secretariat’s systems.

Grow the constellation

Join the network

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.

We only use this to reply to your expression of interest.

Working groups you would join

Two or three sentences is plenty — communities served, team size, what you would bring to the network.

What members commit to

  • The shared standards. Adopt the workforce, cold-chain, and data protocols within your first year.
  • Open learning. Publish what worked and what didn’t to the network — including the failures.
  • Mutual aid. When a member faces an outbreak or a broken supply line, the network responds first and reconciles budgets later.

The secretariat

Location
Kigali, Rwanda — a staff of nine
Governance
Board of member representatives; the chair rotates by region every two years
Funding
Member dues scaled by reach, plus pooled programme grants — never more than 30% from a single funder

Design case study

Process — how this concept was designed

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.

The brief

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.

The problem

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.

Direction chosen — and what was rejected

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.

Key decisions & trade-offs

  • Nodes sized by reach, honestly labeled. Node area encodes annual community reach — and the legend says so. A visualization that looks quantified but isn’t would be worse than a plain list.
  • SVG for the picture, HTML buttons for the interaction. The constellation is a single static-markup SVG; the hover/focus targets are real <button> elements positioned over each node. Screen-reader and keyboard users get twelve named, focusable stops — not a decorated mystery.
  • The card, not a tooltip. Member details land in a persistent card beside the constellation rather than a hover tooltip — it works for touch, keyboard, and screen readers alike, and it never occludes the diagram.
  • Motion as breathing, not spectacle. The lines pulse opacity on a slow offset cycle — the network reads as alive, never busy. Under prefers-reduced-motion the constellation and orbit are fully static, and nothing is lost but the pulse.
  • Fictional but disciplined. Twelve members with consistent join-dates, chairs, reach figures, and working-group assignments that cross-reference correctly between the hero, the directory, and the working-group cards. Plausibility is a design material.

Intended impact — framed as design goals

  • A first-time visitor can say what the network is — hub, twelve members, four working groups — within ten seconds, without reading a paragraph.
  • A prospective member can find the commitments and the expression-of-interest form in one scroll from any point on the page.
  • A keyboard user can meet all twelve members through the constellation as fully as a mouse user.
  • The page holds together as a single diagram — the node-and-line language never breaks character.

Teaching artifact

Guide — how this site was built

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.

The type system

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.

Signature: the constellation, and how to reproduce it

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 orbit

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.

Contrast, engineered

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:

Contrast audit — computed ratios WCAG 2.x relative luminance. AA requires 4.5:1 for body text, 3.0:1 for large text and non-text UI.
PairUsed forRatioVerdict
ink on whiteBody text16.86AAA
ink on mistBody on panels14.79AAA
slate on whiteSecondary text7.60AAA
slate on mistSecondary on panels6.67AA
blue on white / mistHeadings, links11.14 / 9.78AAA
white on blue-deepAssembly chapter, footer14.91AAA
green-deep on white / mistEyebrows, region tags5.18 / 4.55AA
amber-deep on whiteWorking-group tags5.91AA
ink on amberConcept badge, assembly button7.67AAA
green #2FA36BNode fills, rules, dots — never text3.20Non-text ≥ 3.0

Iteration log

  • Pass 1 — critique

    • Screenshot review caught the classic sticky-header bug: anchor navigation buried every section heading under the masthead. scroll-margin-top: 9rem on all [id] targets fixed every in-page jump at once.
    • The assembly mock’s labels were nearly invisible — .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.
    • The hub’s “SECRETARIAT” label overflowed its 34-unit circle; the hub grew to r=45 and the ring to r=57, which also gave the centre the visual weight the diagram wanted.
  • Pass 2 — elevation

    • Gave the breathing its offset: negative animation-delays make the opacity pulse travel around the ring — the single change that made the network feel alive rather than blinking.
    • Hover/focus now lights the SVG node itself (green stroke, deeper fill) in sync with the card swap, and a small amber “signal” dot circles the inner ring — news moving through the network.
    • Rebuilt the working groups from a flat card row into the CSS orbit with counter-rotated badges — the section’s screenshot moment, and it cost zero JavaScript.
  • Pass 3 — ship

    • Automated click-through caught a real UX flaw: an orbiting badge is a moving click target. The orbit now pauses on hover and on focus-within — you can’t miss what holds still for you.
    • Cross-checked the fiction: the four working-group member counts didn’t match the directory’s tags (claimed 9/7/8/8, actual 5/5/4/5) and were corrected; the 4.2M reach figure sums exactly from the twelve member cards.
    • Walked all twelve node buttons by keyboard: visible focus ring, card announced via aria-live="polite", no trap. Filter buttons report counts through role="status"; the form success state moves focus to the confirmation.
    • Verified reduced-motion (spokes static at legible opacity, orbit and signal parked), fonts loading from /assets/fonts, both stub routes redirecting, and zero console errors at 390 / 834 / 1440 px.

Deploy

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.