

Designing, owning and building a marketplace for car spare parts in Ghana
- Role
- Product owner, designer & developer
- Client
- My own product
- Year
- 2026
- Duration
- Mar 2026 – now
Kwame Motors is my own product: an online marketplace where buyers in Ghana find car spare parts and pay by Mobile Money, card or cash on delivery, and sellers list parts, run their orders and get paid automatically once a parcel arrives. I designed it, own it and built it end to end. It’s live and in testing.
- sides in one product: buyers, sellers and admins
- 3
- sides in one product: buyers, sellers and admins
- ways to pay: Mobile Money, card or cash on delivery
- 3
- ways to pay: Mobile Money, card or cash on delivery
- pages, backed by 94 API routes
- 51
- pages, backed by 94 API routes
- automated tests on pricing, refunds and payouts
- 283
- automated tests on pricing, refunds and payouts
- scheduled jobs that keep orders, refunds and payouts moving
- 9
- scheduled jobs that keep orders, refunds and payouts moving
- of design and build so far
- 7 months
- of design and build so far
The problem
Buying a car part in Ghana usually means calling around or going to a parts market in person. It’s hard to compare prices, hard to know who you’re buying from, and paying a stranger up front for a part that might be wrong is a real risk. Sellers, for their part, have few ways to reach buyers beyond the people who walk past.
I wanted one place where buyers find the right part, pay the way they already pay, and can see who they’re trusting, and where a seller can run a shop without building one.
What I did
- Product: the vision, what goes into each release, and the rules the marketplace runs on: who pays which fee, when a seller gets paid, and what happens when an order goes wrong.
- Design: the buyer, seller and admin experiences, from search and checkout to the seller dashboard and the verification flow, designed for phones first.
- Build: the whole stack, with Mobile Money and card payments, refunds and seller payouts, email and SMS updates, and Ghana Card checks.
- Quality: automated tests on every path that moves money, type checks and a secret scan on every push, and a testing phase on the live site before launch.
Five decisions that shaped it
Most of the product work in a marketplace is deciding who carries the risk when something goes wrong.
Hold the money until the part arrives
- The situation
- Buyers don’t know the sellers. Paying a stranger up front for a part that might be wrong is the main reason to stay offline.
- My call
- Online payments stay with the marketplace until the parcel is delivered and the buyer confirms it, or a short hold runs out. A return request or a problem report freezes the seller’s payout until it’s settled.
- What happened
- Buyers can pay online without having to trust the seller first, and sellers are paid automatically once delivery is confirmed.
Keep cash on delivery
- The situation
- Plenty of buyers would rather pay when the part is in their hands. Making online payment the only option would turn them away.
- My call
- I kept cash on delivery next to Mobile Money and card. The seller collects the cash directly, and the payout system leaves those orders out.
- What happened
- Buyers pay the way they’re used to, and online payment is a choice rather than a barrier.
Let new sellers start, with limits
- The situation
- Checking every seller’s Ghana Card before they can list anything is the safest option, but it would stop new sellers at the door.
- My call
- Unverified sellers can sell with a badge, up to 10 listings, and have 30 days to get verified. A shops directory shows verified and verified-business badges, most trusted first. Payouts only go to verified sellers whose account name matches their Ghana Card.
- What happened
- Sellers can try the marketplace straight away, buyers can see exactly who they’re buying from, and money only goes to people whose identity has been checked.
Decide who pays when an order is cancelled
- The situation
- Paystack keeps its fee when a payment is refunded, so every cancellation costs someone money.
- My call
- I set it as a rule: a buyer who changes their mind covers the fee, a seller covers it when they cancel or run out of stock, and the marketplace covers payment faults. Each cancellation can only be refunded once.
- What happened
- Refunds are predictable for everyone, and a retry can never refund twice.
Make the marketplace run itself
- The situation
- Orders stall when a seller doesn’t respond, a payment confirmation goes missing or a refund gets stuck, and nobody can watch every order by hand.
- My call
- A scheduled job cancels and refunds orders a seller hasn’t accepted within 48 hours, approves cancel requests ignored for 24 hours, checks unconfirmed payments with Paystack, retries refunds and sends payouts. Every step is safe to run twice.
- What happened
- No order waits on me to move forward, and anything missed is picked up on the next run.
How it’s built
- Next.js and TypeScript on Vercel, with a Postgres database through Prisma.
- Paystack for Mobile Money and card payments, refunds and seller payouts. Prices are always recalculated on the server, and payment notifications are signature-checked.
- Email and SMS for order updates and phone verification.
- Ghana Card documents in a private store: every admin view is logged, and documents are deleted 90 days after a decision.
- Rate limits on sign-in, checkout and uploads. Tests, type checks, lint and a secret scan run on every push.
The product

Where it is now
Kwame Motors is live and in testing. Payments run in Paystack’s test mode, so no real money moves yet, and the catalogue is demo stock.
Before launch: switch payments and payouts to live, verify the email domain and the SMS sender name, turn on the automatic Ghana Card check, and register with Ghana’s Data Protection Commission, because the platform handles ID documents.
Next.js
TypeScript
Postgres
PaystackVercel
Claude
up next →
Design Chapter Hub — AmaliTech Design Assets
One home for AmaliTech’s design assets, with links that never break