eYote — Commerce Platform with Mobile-Money Payments & Document Intelligence Full-stack & integra...eYote — Commerce Platform with Mobile-Money Payments & Document Intelligence Full-stack & integra...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
eYote — Commerce Platform with Mobile-Money Payments & Document Intelligence
Full-stack & integrations engineer · Live at eyote.vercel.app
The problem
Most e-commerce infrastructure assumes a credit card and a stable connection. In much of Africa, the payment instrument is a mobile-money wallet, identity is verified by photographing a document, and the customer is on an intermittent connection paying for every megabyte.
That's not a matter of swapping the payment provider. Mobile money is asynchronous and callback-driven, document photos are unpredictable in quality, and payload size is a cost the user actually feels.
What I built
A commerce platform where mobile money is the primary payment rail rather than an afterthought, onboarding takes a photograph instead of a form, and the whole interface is fast enough to use on a weak connection.
Three decisions that shaped it
Payments as a state machine with idempotency keys. Mobile-money callbacks arrive late, twice, or out of order. Anything less explicit double-charges someone eventually. Every transaction carries an idempotency key and persisted state, and a reconciliation pass polls the provider for anything that hasn't reached a terminal state — so a lost callback self-heals instead of becoming a support ticket and a customer who paid for nothing.
Server-rendered, with a strict payload budget. Users pay per megabyte. Shipping a 2MB single-page bundle is a direct cost to the customer, not just a worse Lighthouse score.
OCR as a fast path, not an authority. Extraction runs out of band so onboarding never blocks on it, and every field is human-correctable. A bad photograph shouldn't lock someone out of the platform.
Why this matters for your project
Payment integrations look simple until money goes missing. The failure modes here — lost callbacks, duplicate webhooks, partial state — are the same ones that break Stripe, PayPal, and card integrations. If you're building anything that takes money, this is the experience you're hiring.
Built with: Next.js, TypeScript, PostgreSQL (Neon), PawaPay, Tesseract OCR, Tailwind CSS, i18n
Post image
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started