Story mode
Where I’ve been.
-
Chapter 01 2010 – 2018
Tamale, then Accra.
A computer science degree in northern Ghana, then a first job at an Accra startup where the data volumes were bigger than anything the textbooks covered.
-
- Four years of fundamentals, and the first PHP that made it into production.
-
- Built a product import engine for Shopify, BigCommerce and WooCommerce that handled millions of records.
- Grew social platform integrations from 2 to 6, adding Yelp, Amazon, Etsy and Google.
- Migrated a legacy PHP app to React and introduced automated testing.
-
-
Chapter 02 2018 – 2026
Seven years shipping for teams across time zones.
Video pipelines, AI-assisted workflows, search infrastructure and payments — the stretch where the work got deeper and the systems got bigger.
-
- Designed an FFmpeg-based video transcoding service that cut encoding time and made media processing reliable.
- Maintained legacy client applications and fixed the long-standing performance bottlenecks in them.
-
- Integrated OpenAI into a commercial real-estate broker workflow: property listings drafted from Offering Memorandum PDFs.
- Added Elasticsearch to a platform’s core search; built payment APIs, webhook infrastructure and UPS label automation.
- Introduced linting and automated test pipelines across client codebases.
-
- Replaced a WooCommerce checkout with a purpose-built TypeScript service owning the full order lifecycle for a prop-trading fintech.
- Integrated Paytiko and Paysafe behind one clean payment API.
-
-
Chapter 03 2025 – now
Now: my own products.
Four products in production, each one built from the first migration to the landing page. The stage-select below has the details.
-
- A tournament platform for the fighting-game community, event ticketing for Ghana, a macOS dev environment, and a self-hosted link shortener.
- Also maintaining ElasticBridge, an open-source Laravel package for Elasticsearch and OpenSearch.
What it taught me
- Mobile money is not a card with a different logo: webhooks arrive late or twice, each network fails differently, and some customers pay by USSD from a feature phone. The checkout has to be built for that, not patched for it.
- Ledger before dashboard. Payouts are money owed to someone else, so Ticketbank got double-entry accounting first and pretty reporting second.
- Four products, one engineer: every design decision is really the question “what breaks at 3 a.m., and will I know?”
-