Skip to content

Software engineer · Accra, Ghana

Most of what I build replaces a record someone used to keep by hand.

Flight logs, personnel files, course records, training registers, and client portfolios all used to live on paper or in a spreadsheet. I rebuilt them as software, and most of that software is the version still in use.

Backend-leaning full-stackOpen to backend, full-stack, and data/platform rolesRemote or Accra

Flagship systems

All work →

Two systems in production, and one model audited against its own test set. Expand a row for a screenshot and the numbers behind it.

Baobab

In production

A financial-data and wealth-management terminal for the Ghanaian capital markets, built and run solo.

Sole engineer, first commit to production · Oct 2025 to Aug 2026

Baobab treasury securities screen showing Bank of Ghana T-Bill rates, yields, and a macroeconomic snapshot, each figure carrying a source and date
Every figure on this screen carries its source and the date it refers to: "Source: Bank of Ghana" on the yields, "Source: GSS, Bank of Ghana" on the macro snapshot, "Rate date: 31 Aug 2026" under each T-Bill. The as-of date is the one the data carries, not the day it was fetched. That distinction is the whole reason the pipeline validates freshness instead of trusting a successful HTTP response.
Read the case study →

SkyLog

In production

Replaced the paper flight logbook at Ghana Air Force Headquarters. Still in use.

Sole author · 2025 to present

SkyLog flight entry form with fields for date, aircraft, crew, day and night hours, and instrument time
The flight entry form, the most important screen: it mirrors the paper logbook's column order rather than reorganising it around what a web form makes easy.
Read the case study →

Dermaid

Archived

A nine-class skin condition classifier, audited against its own test set and corrected in public.

Sole author · 2024 (training), 2026 (browser redeployment and audit)

Confusion matrix for the nine skin condition classes on the deduplicated 247-image test set
Almost every error sits between clinically related classes: chickenpox with shingles (same virus family), athlete's foot with cutaneous larva migrans (both present on feet), ringworm with cellulitis. That pattern is evidence the model learned real visual features rather than dataset noise.
Read the case study →

The through-line

SkyLog replaced a paper flight logbook. AirVault and GAFCTS replaced paper and spreadsheet personnel and course records. The Training Directorate system replaced manual registers. Baobab replaced client portfolios that advisors kept by hand in spreadsheets with a system that revalues them against live prices. A record has to be trustworthy before it’s convenient, and that ordering is the thing I’ve actually been building, project after project, more than any one stack or language.

Experience

OrganisationRolePeriodDetail
KAN Asset ManagementSoftware EngineerOct 2025 to Aug 2026Sole engineer on Baobab, a capital-markets terminal, from first commit to production.
Ghana Air Force HeadquartersSoftware Developer (National Service, then contract)Oct 2024 to Nov 2025National service Oct 2024 to Sept 2025, then a contract engagement for the Training Directorate through Nov 2025. Built SkyLog, AirVault, GAFCTS, and the Training Directorate system.
Ecobank Ghana PLCCustomer Service Representative (Internship)Oct to Dec 2023Not an engineering role. First exposure to financial services operations, ahead of Baobab.
Full history on About →

Every number here is sourced

Every hard figure on this site carries a small mark like this oneMeasured. example: evaluate_heldout.py, Dermaid/model. Hover it, or tap it on a touch device, and it tells you exactly where the number came from: counted directly from a repository, measured by a script or test run that’s committed, reported by a client or employer without independent verification, or estimated by me and labelled as such. One number I published before this site existed was wrong. I found it, corrected it, and wrote up how.

Where these numbers come from →