Perspective Labs • 2026
An operating system for commerce.
Role
Head of Design Engineering
Timeline
2026
Team
Skills
Systems Design
Design Systems
Agentic AI
Design Engineering
Overview
Others generate a website. Potter generates a business.
Most commerce tools hand a merchant a prettier storefront. Potter is an operating system for commerce: a merchant describes their business in plain language, Potter stands up a real store, wires in payments, then runs the operations underneath, orders, money, and customers.
I was Head of Design Engineering: I set the visual system, designed across every surface, and shipped the front-end in code.
One person owning the money model, the information architecture, and the components kept a sprawling platform speaking one language instead of three.
“A site that sells is table stakes. Running the business behind it is the product.”
The problem
African merchants run real businesses on cash, transfers, and a DM.
Off-the-shelf commerce tools assume the easy path: a card online, a clean state machine.
The merchants Potter is for, a baker in Lagos, a salon in Accra, run on bank transfers with no reference, deposits, and cash on delivery. A buyer sends ₦24,500 with no order number. A client books a slot and never shows. Someone owes a balance that never arrives.
The storefront was never the hard part. The money is.
Research
I pressure-tested the bet before we built it.
I didn’t want to design on assumptions, so we ran the wedge through a deep-research pass: dozens of agents, sources adversarially verified, the comfortable claims killed.
The big one: “nobody ships prompt-to-store” was false, Wix already does it. So the wedge sharpened away from generation and toward the jobs actually missing for an African SME. We designed for one real merchant, Amara Cakes in Lagos, not a persona.
What the market was missing
No one shipped deposits.
The proven anti-no-show mechanism in every global booking leader, absent from every Nigerian tool we surveyed. For a salon, a full chair instead of a ghost.
“Who owes me” is the real CRM.
Balance tracking, ignored by Western tools, is a daily local job. The money not yet arrived is the merchant’s biggest anxiety.
The money leg lives outside the chat.
In-chat payment doesn’t exist here, so every flow is an attached pay-link plus a confirmation, never an in-chat charge.
The bet
Build the operator, not another storefront builder.
The market was racing to ship one thing: a prettier storefront builder. But a storefront is the part that already works.
The hard call was resisting it. A builder is judged on its themes; an operator on whether the money is right at the close of business. I optimised for the second test, because deposits, the balance-due chase, and customer memory are where merchants lose money.
The principle: free where it delights, locked where it transacts. Generation can play with layout and copy; it stays strict around anything that moves money.
“A builder demos well in a pitch. An operator proves itself when the money either matches, or it doesn’t.”
The money path
Confident about catalog and copy. Humble about money and conflict.
Letting Potter build a catalog is easy. Letting it touch money is the design problem, and the rule was simple: confident about content, humble about money.
Deposits, heldThe wedge ships as a deposit-first booking loop. A client books, pays a deposit on Paystack, and the slot is held; the balance is due in person. Non-refundable inside a cancellation window, so the empty-chair problem is solved by data the order already carries.
Money that surfaces, never hidesPayments run on Paystack in Naira, the platform earns a flat 0.5% through a native split, and a reconciler makes a merchant whole when a settlement lands in the wrong account.
The messier money, reference-less transfers and cash on delivery, is the next layer: every ambiguous case surfaces to the merchant, never auto-confirmed.
“Potter never auto-confirms an ambiguous payment. Money and disputes always surface to the merchant.”
One system
One order means the same thing across every surface.
Potter is one loop seen from many sides. A customer chats on WhatsApp or Instagram, lands on a real showroom, transacts on Potter’s rails, and the merchant’s one account gets smarter. Order, confirm, deposit, fulfil, reconcile, settled: one path on a real backend.
Software that adapts to the businessMost tools make a business fit one model. Potter inverts it: a merchant declares what they do, sell, book, rent, ticket, or subscribe, and that intent decides which flows render. One template contract becomes a shop, a booking site, or a box office.
One object, every consoleEvery surface speaks the same order, so nothing is re-explained when a merchant moves between them.
Four surfaces, one system
Dashboard
The operator console where a merchant runs the day: orders, money, customers, inventory.
Storefront
The rendered store the customer sees, one tenant per subdomain, the same order underneath.
Admin
The cross-tenant view the platform team works from: tenants, finance, risk, moderation.
Potter API
The real backend everything runs on: Paystack rails, tenants, content, and intents.
The design direction
Potter is black and white. Your business is the colour.
A platform hosting thousands of merchants can’t impose its own loud brand on every store, so the decision was restraint.
Potter’s system is monochrome, Squarespace-calm with the density of a Square operator tool, and the merchant’s brand is the only colour on screen.
The thesis was “warm craft, fired with precision”, because in a market of fintech-clean blue and developer-dark builders, nobody owned warm.
Outcomes
A coherent platform, live on real rails.
Potter went from a research bet to a coherent platform on real rails. The dashboard, the storefront renderer, and the admin console share one design language and one order object, ~250 components shipped in code.
Payments are live on Paystack in Naira: orders, deposits, the flat 0.5% split, and a reconciler that makes a merchant whole when a settlement lands wrong, all in production.
Reflection
What I learned.
Potter is the most systemic thing I’ve designed: a money model, an information architecture, and a brand, held together by one person in code so they couldn’t drift apart.
Design the money path first.
I began in the storefront and almost shipped a prettier builder. Once deposits and reconciliation became the spine, the rest fell out cleanly. The money model is the design; everything else is decoration.
A moat can become the thing you cut.
We sold “you cannot break your store” as the differentiator, then tore it up once the agent was good enough to trust with real code. The durable edge was the rails and the operate layer, not the cage.
One owner keeps a platform coherent.
A sprawling product splinters into dialects fast. Owning the visual system, the components, and the money model in code kept every surface speaking one language.