World Bank · Public systems

Adapting social-protection platforms across four countries

How careful platform adaptation, registry integration, testing, and local-team enablement support complex public programmes.

PythonDjangoPostgreSQLREST APIsDockerEnd-to-end testing

The challenge

A shared platform had to support different programme rules, languages, registries, data-migration needs, deployment environments, and local delivery teams. The engineering problem was not a single feature; it was preserving a maintainable core while making country-specific workflows usable and supportable.

The engineering approach

  1. 01

    Treat local process and data constraints as architecture inputs, not late customizations.

  2. 02

    Prefer configuration and bounded extensions over forks that silently drift from the core platform.

  3. 03

    Make integrations explicit: document external registry contracts, data ownership, failure paths, and reconciliation.

  4. 04

    Use end-to-end tests around high-consequence workflows such as grievances and payments.

My contribution

  • Supported openIMIS and coreMIS implementations in Malawi, São Tomé and Príncipe, Tanzania, and Zambia.
  • Worked on national-registry and location-data integrations, programme-specific eligibility and grievance flows, Portuguese language support, and deployment workflows.
  • Helped onboard and support local engineering teams so the systems could be maintained beyond initial delivery.

Result and boundary

The strongest outcome is operational ownership: systems, tests, deployment knowledge, and local capability developed together. Specific beneficiary or programme data remains confidential.