Back to work
Case Study — 05

Tricycle community reporting platform for Kriwheel

Tricyle riders in Nigeria had no shared infrastructure for real-time safety information — checkpoints, accidents, road hazards were discovered individually and dangerously. Kriwheel needed a platform where riders could report and consume safety incidents live, sustain itself through sponsored listings, and do all of this without a dedicated engineering team behind it.

TypeScriptNext.jsNode.jsMongoDBRedisVPSSEOReal-time Feeds
Tech Lead — sole engineer, architecture, and business decision maker
Solo
3 months to production
Designing sponsored post injection logic that generates revenue without degrading the safety feed — too many ads and users stop trusting the feed entirely
View live site
The problem

The platform had two distinct feeds serving different purposes. The home feed surfaces high-priority notices, alerts, and sponsored content. The community feed is user-generated — posts, questions, incident reports — with sponsored listings interspersed. The technical problem was straightforward to describe and hard to get right: how do you inject commercial content into a safety-critical feed without users tuning it out or losing trust in what they are reading?

Get the ratio wrong in either direction and the product fails — too many ads and the feed feels like a billboard, too few and the business model doesn't work. There was no product manager to hand this decision to. I had to design the rule, build it, and own the outcome.

The tradeoff I made

I implemented a position-based injection rule — sponsored posts appear at fixed intervals in the feed, never consecutively, and never as the first item a user sees. The alternative was an engagement-weighted algorithm that surfaced sponsored content more aggressively when the feed was active. That would have maximised sponsor visibility but handed control of the experience to an algorithm I couldn't fully predict on a safety platform. Fixed rules are less optimal commercially but completely predictable — I always knew exactly what a user would see and in what order, which mattered more than squeezing extra impressions.

Predictable, trustworthy feed over algorithmically maximised ad revenue.

Outcomes
2
Distinct feed systems built — home feed with priority notices and community feed with post, question, and incident reporting flows
3 months
Complete platform delivered solo — API, auth, feeds, sponsored post logic, admin management, public pages, SEO, monitoring, and VPS deployment
1
Engineer — every architecture decision, business rule, UI, and infrastructure choice owned end to end
What I would do differently

I would instrument the sponsored post injection logic with analytics from day one. I built the rules based on judgment, but I had no data to validate whether users were skipping sponsored posts, engaging with them, or whether the interval felt natural. Without that signal, tuning the commercial model later means guessing again. Even basic event tracking on feed scroll depth and sponsored post interactions would have turned an opinion into a decision.