Kinnashy (كناشي)
A white-label commerce platform for digital-goods sellers in Mauritania, each seller gets their own branded storefront, installable app and fraud-checked payments, built around one conviction: don't compete with sellers, equip them.
Thousands of sellers. One WhatsApp inbox each. Zero infrastructure.
Mauritania's digital-goods market (game credits, Netflix, gift cards) runs almost entirely on WhatsApp. Sellers juggle payment screenshots, lose orders in chat threads, and have no stats, no stock system, no professional image. The existing platforms (Chenguity, Ech7anly) don't help them: they are marketplaces that say "come buy from us", competing with sellers instead of serving them. The name says the intent: a كنّاش is the paper notebook every merchant keeps. Kinnashy is that notebook, rebuilt as infrastructure.
Kinnashy doesn't sell cards.
Kinnashy equips the sellers.
One platform, many brands: a shop under the seller's own name
I designed and built a multi-tenant platform where a seller gets a branded storefront (name, logo, colors), an installable PWA dashboard with push notifications, a pre-built catalog of 40 market products, and an OCR gate that screens payment screenshots before they ever reach him. Creating a new seller's shop takes three minutes: I do it live, in front of the prospect, during the sales meeting.
Field research & a three-competitor teardown
Before scaling anything, I sat with real sellers and audited the three players shaping user expectations: اشحنلي (mobile app, 40+ products, region-based variants), Ech7anly (Algeria, WooCommerce), and Chenguity (Bankily API, auto-delivery). The teardown set the bar: category navigation, variant packs, instant-delivery badges. And it exposed the gap none of them fills: sellers who want their own brand, not a marketplace's.
From one shop to a platform: without breaking the first client
The MVP served a single seller. Going multi-tenant meant migrating every table to a seller scope, isolating dashboards, generating per-seller PWA manifests, and doing it non-destructively on a live database. The audit surfaced a real cross-tenant data leak in the order-polling API before any second seller ever logged in. White-label followed: brand name, color and logo become database fields, and a new branded shop spins up from an admin panel in three minutes.
Designing for sellers who aren't tech people
Watching a real seller create products revealed the truth: he named a product "Netflix — 1 month" then added a "3 months" variant under it, because the form's own placeholder taught him to. I rebuilt product creation as a category-driven wizard (subscriptions get duration presets, game credits get Player ID fields, gift cards get region labels), shipped a 40-product master catalog so sellers activate instead of create, and made every placeholder contextual.
An OCR doorman for payment screenshots
Payments here are bank-app transfers proven by screenshot, and screenshots get faked or reused. I built a Google Vision gate that scores each upload on real local signals (bank names, MRU amounts, transaction IDs, timestamp freshness), rejects stale or duplicate proofs via text-hash matching, and shows the seller a verdict badge. The seller always keeps the final say: the gate filters noise, it never approves money.
The platform never touches the money
Payments go straight to the seller's own bank account; Kinnashy only verifies. Centralizing funds would have meant becoming a regulated payment aggregator, a different business, a different license, and the exact thing a wary seller fears. Infrastructure, not fintech.
White-label from day one: "your clients stay yours"
A seller's deepest fear about platforms is losing his customers to them. Every storefront carries his brand; mine appears only as a discreet "powered by". The pitch that closes isn't a feature list: it's seeing your own name on a working app three minutes after asking.
The OCR gate is a doorman, not a judge
A rejected screenshot triggers retry-first UX; a bypass link only appears after the third failure, flagging the order for manual review. Blocking on machine uncertainty loses real sales; flagging turns fraud-filtering into seller time-saved.
Activate, don't create
Sellers make typos, miss icons, and structure products wrong, so the master catalog ships 40 pre-built products with icons, variants and required fields. The seller toggles and prices; he only builds from scratch for the rare product the catalog doesn't know.
One concept, one source of truth
The legacy "instant vs manual" product toggle contradicted the newer delivery-type field, letting sellers configure impossible products. I killed the toggle and derived everything from a single field. When two switches can disagree, one of them is a bug waiting for a user to find it.
This product was built solo with an AI-first process, strategy, code and analytics each with the right tool:
That discipline caught what speed would have shipped: a cross-tenant leak, a silent service-worker build failure, and a database-reset prompt one keystroke away from wiping production.
