Skip to content
07Healthcare

Primero

A global case management for social service and humanitarian programs.

Node.jsReactPostgreSQLDockerIndexedDBCouchDB
Primero — A global case management for social service and humanitarian programs.
+Overview

Project overview

Primero is A global case management for social service and humanitarian programs. Primero is an open-source system designed to support child protection and gender-based violence responses. Built with high standards for performance, security, and intuitive user experiences, the platform is engineered to support mission-critical workflows and seamless scale.

+Industries
HealthcareEnterpriseDigital InnovationScalable Architecture
+Tech Stack
Node.jsReactPostgreSQLDockerIndexedDBCouchDB
// 01The Challenge

What was the problem or pain point

Client Dilemma & Technical Bottleneck

Primero is the premier digital public good developed in collaboration with UNICEF and global humanitarian organizations to manage child protection and gender-based violence (GBV) cases in warzones, refugee camps, and natural disaster areas. The operational pain point was catastrophic: field caseworkers often operate in deep rural areas with zero internet connectivity for weeks at a time, yet their case notes, medical records, and family reunification files are strictly confidential and must sync accurately when internet becomes available without losing data or creating conflicting records.

// 02Strategic Advice

What we suggested to the client

Solid Sphere Architectural Recommendation

Solid Sphere recommended a resilient, offline-first progressive web application (PWA) and responsive mobile architecture backed by bi-directional, distributed document synchronization. We proposed using CouchDB and IndexedDB protocols with client-side field-level encryption, coupled with a conflict-resolution engine that merges case records deterministically while strictly preserving role-based access control (RBAC) and survivor confidentiality.

+Key Complexities

What made this project challenging

01

Supporting field social workers in conflict and disaster zones with zero internet connectivity

02

Guaranteeing military-grade data encryption for sensitive records of vulnerable children and refugees

03

Enabling multi-agency collaboration (UNICEF, UNHCR, Red Cross) with fine-grained access control

04

Designing an offline-first data replication protocol that resolves merge conflicts safely

// 03Engineering Execution

What was implemented and how it was implemented

Step-by-Step Technical Execution

We engineered the core application using a modular React front-end coupled with a robust Node.js and PostgreSQL backend. For offline operation, we integrated an in-browser CouchDB/PouchDB datastore with IndexedDB persistence, enabling caseworkers to create cases, update incident reports, and attach photos while fully offline on laptops and tablets. We implemented AES-256 client-side encryption for all sensitive survivor fields prior to local disk storage. When connectivity is detected, a custom synchronization protocol transmits encrypted differential deltas to the central server, where our three-way merge algorithm reconciles concurrent updates and flags ambiguous conflicts for senior supervisor review. We also built strict audit logging, automated data anonymization for UN reporting, and Dockerized deployment packages for rapid on-premise installation by non-technical NGO staff in emergency regions.

+Key Deliverables

How we delivered

1

Engineered offline-first PWA architecture utilizing IndexedDB for local storage and sync

2

Implemented field-level AES-256 encryption ensuring sensitive refugee identities are safeguarded

3

Developed granular role-based access control conforming to strict UN child protection guidelines

4

Created intuitive case management forms with family tracing, reunification, and incident tracking

// 04Architecture & Stack

What did we use to implement it

Technology Stack & Technical Rationale

React provided a highly accessible, responsive web interface meeting WCAG AA accessibility standards for diverse field staff. Node.js powered the central API and synchronization orchestrator, ensuring swift non-blocking data exchange. PostgreSQL served as the primary relational system for centralized reporting, user management, and hierarchical access policies. IndexedDB and PouchDB powered client-side offline storage, while CouchDB replication protocols formed the backbone of the offline sync engine. Docker containerized the entire suite, enabling rapid local cluster deployments in disaster relief command centers.

Node.jsReactPostgreSQLDockerIndexedDBCouchDB
+Results

Key outcomes

01

Deployed in 40+ crisis-affected countries

02

Used by UNICEF and global humanitarian NGOs

03

100% offline operational resilience

04

Zero data leakage or unauthorized access incidents

+Get in touch

Have a project like this?

Share your goals and constraints. We'll respond with next steps and a practical proposal.