Skip to content

Selected Projects

Seven years embedded with clients across six countries, building the systems that capture data in the field and turn it into decisions.

I build the apps that capture data and the dashboards and reports that turn it into information.

I run discovery with non-technical stakeholders, ship, and hand over so the client’s own team can run the system without me.

I have joined projects mid-stream and taken them to the end.

02Built independently

Akasi CRM — multi-campaign call-centre platform

A product I am building, inspired by the work I did at MarketSA: one platform that runs any number of campaigns from configuration, instead of a separate build for each.
A short walkthrough of the platform.Recorded against generated demo data — names, ID numbers and bank details are invented.
  • An Angular front end over Node.js APIs, where each campaign points at its own database — SQL Server or PostgreSQL.
  • A form builder where an admin picks the campaign database table and maps each field to a real column, so captured leads write straight back.
  • QA and audit scorecards configured per campaign, with the pass/fail rules set by an admin rather than in code.
  • Fields an admin marks sensitive are masked for reviewers; revealing one returns a single value and writes an audit record of who looked, at what, and when.
03Client work

Client projects delivered through CGA Technologies

The code for these belongs to the clients, so each links to the public project page; my role is stated under each.
  1. 01

    Perivoli Early Childhood Development Data System

    Perivoli Schools Trust · Malawi / Namibia / Zambia · 2020–2025

    The Trust trains nursery teachers in three countries and needed one standard way to collect and report training data as it grew. The brief was to digitise paper forms; the real need was for head office to see training activity as it happened. We built an offline-first tablet app and a database that publishes results to the Trust’s website in real time, and digitised 5,000+ historic paper records. Forms were built as configurable templates so partner staff could change them without a developer.

    • Node.js
    • Vue.js
    • Android
    • AWS

    My role

    Lead developer for the Node.js APIs, Vue.js front end and Android capture app on AWS (ECS, RDS, S3, Lambda); ran UAT, trained partner teams, wrote the SOPs.

    View project (opens in a new tab)

  2. 02

    Teacher Management Information System (TMIS)

    Teaching Service Commission (World Bank-funded) · Sierra Leone · 2023–2024

    A national platform replacing paper workflows for 36,000+ payroll teachers, where a leave or transfer request used to mean a physical trip to headquarters. Live since January 2024 with 23,000+ teachers registered, 9,700+ licensing exams passed and 3,700 teachers recruited onto payroll through it.

    • Vue.js
    • Laravel
    • GraphQL
    • MySQL

    My role

    Full stack developer (Vue.js, Laravel, GraphQL, MySQL). Built the teacher licensing module to the Commission’s specification, the SQL and analytics behind the departmental dashboards, and automated ministry reports.

    View project (opens in a new tab)

  3. 03

    Wi De Ya — One Tablet Per School

    Teaching Service Commission (World Bank-funded) · Sierra Leone · 2022–2023

    A national attendance system where every school leader records daily teacher and pupil attendance on an offline-capable tablet that syncs to a secure database and public dashboard; rolled out to 300 primary schools and linked to teacher payroll records.

    • Android
    • SQL

    My role

    Developed the data-capture app and the MIS dashboard and reports consolidating attendance data across schools and regions, giving the Ministry its first national view of attendance.

    View project (opens in a new tab)

  4. 04

    Social Cash Transfer Programme MIS

    Ministry of Gender (KfW/EU-funded) · Malawi · 2020–2023

    Rebuild of the system behind a national cash transfer programme reaching 300,000+ households, adding an integrated grievance and case-management module linked to a call centre and real-time coverage indicators.

    • Java
    • Spring Boot
    • MySQL

    My role

    Full stack developer on the Spring Boot/MySQL system; built the organisation and participant modules managing implementing partners and enrolled households.

    View project (opens in a new tab)

  5. 05

    Malawi Education Sector Improvement Programme

    Ministry of Education · Malawi · 2021

    A tablet-based real-time monitoring system for zonal officers covering 1,200 primary schools (21% of the country), and a Community Dialogue Platform through which 150 school communities raise issues with the Ministry by SMS and voice.

    • PHP
    • JavaScript
    • MySQL

    My role

    Technical lead directing delivery of the monitoring app, dashboard and Excel reporting; trained ministry officers to run it without developer support.

    View project (opens in a new tab)

  6. 06

    PROSPER Monitoring & Reporting MIS

    Concern Worldwide · Malawi · 2021

    A shared reporting platform for a resilience programme covering 1.2 million people, letting five INGO and four UN partners submit field data and track progress against programme indicators.

    My role

    Built the MIS data-capture system through which partners submit their field data.

    View project (opens in a new tab)

  7. 07

    Monitoring, Evaluation & Learning Platform

    Education Development Trust (FCDO-funded) · Ethiopia · 2021–2022

    A cloud-based M&E platform supporting the Ethiopian Ministry of Education, with a mobile app for offline entry and user-configurable dashboards, built as an open system the Ethiopian authorities own outright.

    • Java
    • Android

    My role

    Android developer on the offline-first capture app, in a four-person peer-reviewed team, building dynamic form schemas and sync.

    View project (opens in a new tab)

  8. 08

    3D — CGA’s field-to-insight data platform

    Corus International · Oct 2024–present

    CGA’s product for development programmes: offline-first smart-form collection, submission review with a full audit trail, role-based permissions and real-time dashboards.

    • Flutter
    • Dart
    • GitHub Actions

    My role

    Leading the rebuild of the mobile app in Flutter, merging the separate Android and iOS codebases into one, with GitHub Actions CI and automated tests.

    View project (opens in a new tab)

04More

Code and CV

The common thread: sit with the client, work out what they actually need, build it, and hand it over so their own team can run it.