Case study 02 · Fixr
Taking over a livemarketplace and makingits money flows boring.
Role
Backend Software Engineer
Timeline
Nov 2025 — Aug 2026
Worked with
Fixr's founder, via code reviews
Stack
JavaScript · MySQL · Knex.js · Socket.IO · Paystack · Zoho
400+
active technicians on the platform
3,000+
customer app downloads
80%+
fewer urgent-funding support calls (est.)
<1s
typical responses on optimised endpoints, down from ~3s
The situation
Fixr connects homes and businesses with vetted technicians. When I joined, the platform was live and growing — but its core flows had been built fast by an earlier team. Payments could double-charge on retries, technicians phoned support whenever they needed urgent funds, key endpoints took around three seconds to respond, and routine coordination happened over phone calls and WhatsApp.
The job: keep a live business running while rebuilding the parts that touch money, speed and trust. Over the following months I overhauled the majority of the original backend.
Payment request lifecycle
Simplified
1 · Client checkout
subscription / inspection
2 · Idempotency key
dedupe retries & double taps
3 · Paystack
initialise + verify
4 · Webhook → ledger
single source of truth
5 · Notify
push · in-app · WhatsApp · email
What I changed
- 01
Payments with idempotency
ProblemRetries and double taps created duplicate transactions on subscriptions and inspections.ResultRedesigned the Paystack flow with idempotency handling; duplicate-transaction issues eliminated. - 02
Technician wallet
ProblemTechnicians needing money for equipment or urgent inspections had to call support.ResultFund requests, approvals and direct bank withdrawals — an estimated 80%+ fewer urgent-funding calls. - 03
API performance
ProblemTypical responses on key endpoints took around three seconds.ResultFound and fixed the bottlenecks; affected endpoints now respond in 300–900ms. - 04
Real-time chat
ProblemCustomers, technicians and admins coordinated by phone and in external WhatsApp threads.ResultA WebSocket / Socket.IO chat system so routine support and coordination happens inside the platform. - 05
Notifications, bookings & referrals
ProblemUpdates went missing, and agent referrals had no reliable attribution or commission tracking.ResultOne pipeline to push, in-app, WhatsApp and email; loyalty points on bookings; tiered, token-attributed referrals.
What I learned
“Rebuilding a live system is mostly about sequencing: fix what loses money first, what loses trust second, and leave every flow easier to change than you found it.”
Next case study
Recommend — Engineering Lead