Nonprofit

    DNAngels Case Management

    The system a volunteer organisation runs on

    The operational platform behind a genetic genealogy nonprofit — 9,500+ cases, encrypted client records, a threaded messaging system and a mobile app for volunteers in the field.

    DNAngels Case Management platform

    The problem

    DNAngels' public site is the front door. This is the machinery behind it. Volunteer researchers were coordinating thousands of live cases across spreadsheets and email threads, and at that volume the coordination becomes the bottleneck: nobody can see who holds what, cases stall silently, and the institutional memory lives in whoever happens to remember. It also handles some of the most sensitive data a person has — who their biological parents are — which rules out most off-the-shelf case tools before the feature comparison even starts.

    What we built

    • Full case lifecycle — intake, assignment, research, closure — with automated assignment weighted by team availability and current workload
    • Threaded messaging built on a transactional outbox, with drafts, attachments, read state and per-thread muting, so a failed send is retried rather than lost
    • Envelope encryption with a dedicated PII vault and supported key rotation, rather than trusting disk encryption alone
    • Two-factor authentication enforced per role, across 19 distinct roles from admin to angel to researcher
    • A React Native companion app with push notifications for volunteers working away from a desk
    • Scheduled AWS Lambda jobs driving holds review and non-compliance sweeps without anyone remembering to run them
    • English and Spanish throughout, because the families being served are not all English-speaking

    Built with

    Next.js
    TypeScript
    PostgreSQL
    Drizzle
    React Native
    AWS Lambda
    S3

    Where it stands

    9,500+ cases under management, 270 API endpoints and 223 test suites across roughly 3,600 commits. Access is restricted to the organisation's team, so the screenshot is the operator's own dashboard — a walkthrough is available on request.

    Visit DNAngels Case Management

    Need something similar?

    Start a conversation