Apps live on Google Play and the Roku channel store, plus the websites we build and keep running. Most of it serves a West African, mostly mobile audience — which is where the engineering gets interesting.
Android apps and Roku channels, some our own products and some built for clients. Every one is published, installed and in daily use.

Live streaming of Ghanaian and African channels with a free and subscription split.

Channel directory with tiered access and remote content control.

Nigerian live TV across news, entertainment and regional stations.

Live Ghanaian TV with programme guide and category browsing.

Dedicated channel app built around a single broadcaster.

News feed and live stream in one app, with breaking-news push.

Live UTV Ghana streaming with categories and favourites.

Multi-channel Ghanaian TV in a single directory app.

Nigerian live TV and radio with a lightweight player.
Streaming directories, a live-score platform, WooCommerce stores and local service sites.
Live TV directory for Ghanaian channels — streaming, programme guide and category browsing, built mobile-first.
Channel site for one of Ghana's largest broadcasters.
Football live scores, fixtures and league tables across African and European competitions.
Ghanaian channels delivered on free and subscription tiers.
Companion site for the UTV Ghana channel and its news feed.
WooCommerce eyewear store — frames, prescription lenses, contact lenses and accessories.
Multi-category WooCommerce store covering clothing, handicraft, jewellery and bedding.
Local service site for a Kuala Lumpur plumbing and electrical company.
None of these decisions came from a blog post. They came from something breaking in production on a match night.
Our audience is on 3G and a two-year-old handset. Anything that only works on fast Wi-Fi is not finished, so we test on throttled connections before launch.
A channel list that needs a store update to change is a channel list that will be wrong. Every streaming build we ship reads a feed you control.
Ad networks fail, fills come back empty, and a blank screen loses the user. Fallback chains are standard on every ad-supported build.
A stream that drops during a live match generates more support messages in ten minutes than a month of normal operation. That shapes how we handle failover.
One bad canonical tag cost a site most of its search traffic. We now audit for it on every build, which is why we wrote our own tool for it.
The best system is the one the person packing orders can actually use. Training and a written guide are part of every handover, not an upsell.
Everything we sell started as something we needed. They run on the sites above before they ever reach a customer.
Send a short brief and you'll have a written scope, a timeline and a fixed price back — usually within two working days.