Case study 01

Bizzar

A multi-vendor operating system for local markets, built end to end for the vendors least likely to ask for help.

Problem
Vendors at a 300-person bazaar took orders by hand and lost customers to a 20-minute queue.
What I did
Built a multi-tenant ordering platform end to end, free for the smallest vendors.
Result
Live at bizzar.app, taking real orders and splitting payouts to each vendor.
Role
Product manager and builder
Timeframe
March 2026 to present
Team
Solo, design through payments
Stack
Next.js, TypeScript, Supabase, Stripe Connect
Live
at bizzar.app, serving vendors
Solo
design, build, and payments

Context

Local markets and bazaars run on single-stall weekend vendors: a coffee cart, a bakery table, a used-book stand. Almost every tool built for retail assumes the opposite: a permanent storefront, a POS terminal, a technical owner who can configure a menu system. Nothing was built for someone setting up a folding table for four hours a week.

The problem

I watched two people run a coffee cart at a 300-person mosque bazaar. They took orders by hand, wrote them on cups, and apologised to customers who had waited 20 minutes for a drink. I talked to other vendors afterward and the pattern held: the busier the stall, the further behind it fell, and the people running it had no time to look for a better way to take an order, let alone build one.

Why this and not something else

The obvious build was a shareable order form, one link per vendor. That fixes one stall for one afternoon and leaves the organiser with no view of the market as a whole, and it still assumes a vendor is willing to be the technical owner of a form.

I built for three roles instead: organiser, vendor, and customer, on one platform. That is more to design and build, but it is the actual shape of a market: someone runs the event, several people sell inside it, and the software has to reflect that or it does not fit how a bazaar works. I also made the smallest tier free. A tool the coffee cart cannot afford does not solve the problem I watched happen.

Decisions and tradeoffs

QR-based ordering, not an app: a customer scans a code at the stall and is ordering in under 30 seconds, with nothing to download and no account required to buy a coffee.

The orders board updates over Supabase Realtime, so a new ticket reaches the vendor's screen in under a second, close to as fast as someone shouting an order from the counter. That mattered more than any other feature, because the entire point was replacing the cup someone had already started writing on.

Bizzar's live orders dashboard, showing customer orders moving through new, preparing, ready, and done columns in real time.
Bizzar's live orders board. New tickets move from new to preparing to ready as a vendor works through them.

Payments run through Stripe Connect with split payouts, so money reaches each vendor's own account directly rather than pooling and requiring a manual reconciliation step later. Loyalty stamp cards and gift codes shipped, but deeper campaign and analytics tooling was deferred to keep the ordering path itself fast to build and fast to use.

Bizzar's vendor dashboard, showing today's and this week's revenue, order count, average order value, and loyalty customer counts, alongside quick actions to show a stall's QR code.
A vendor's own dashboard: today's revenue, orders, and average order value, alongside the loyalty and campaign tools that shipped after ordering itself worked.

Constraints

The free tier had to be genuinely usable, not a crippled trial, because the vendors who needed it most were the ones least able to pay for software before they had proof it helped. Payments had to be trustworthy from the first transaction: real KYC through Stripe Connect, not a placeholder I could soften later. And every screen had to work one-handed, on a phone, at a folding table, with a line of customers waiting.

Outcome

Bizzar is live at bizzar.app and taking real orders. A new ticket reaches a vendor's screen in under a second, payouts split automatically to each vendor's own Stripe account, and the smallest vendors pay nothing to get started.

0
Roles supported on one platform: organiser, vendor, and customer
0
Stalls an organiser can run free, before any paid tier
0
Dollars for a vendor to start taking orders

The numbers that will matter next, vendors retained past a first event and orders processed per market, do not exist yet. I would rather say that plainly than claim traction I cannot show.

What I'd do differently

I built the three-role model, organiser, vendor, and customer, before I had proof an organiser actually wanted a dashboard of their own. It was the right structural call, but I made it on my own judgment rather than validating it with an organiser first. I also underweighted how disruptive Stripe's KYC onboarding step is in the moment, at a busy stall, with a line forming. A vendor signing up mid-event should not have to stop and produce a document.

Open to technical product management roles.