CodeNine

Work / Vapex · 18 months, business since acquired

A coffee shop that also sold vapes, and an e-commerce business.

Odd combination, and the reason the requirements were unusual. We built every operational surface the business ran on.

Client
Vapex
Ran for
18 months
Ended
Business acquired, new owners repurposed it
Stack
Django · PostgreSQL · React
Vapex back office, profit detail, wide

How the pieces resolve

Two ways to sell, one stock position, one set of books.

Nodes are surfaces. Edges carry sales, stock movement and money.

Vapex: two sales channels resolving to one stock position, accounts and partner allocationTwo sales channels, point of sale in the shop and the online storefront, both write to a single stock position rather than to separate inventories. That stock position feeds accounts, where expenses, purchasing and profit detail are held. Accounts then resolve into partner-wise allocation, which splits profit across the ownership structure and produces each partner's share. Because the four surfaces are one system rather than four vendors, reconciliation between them is a property of the design instead of a monthly job.Channel 01POS, in shopChannel 02Storefront, onlineSalesSingle sourceOne stock positionCost &MarginExpenses · PurchasingAccountsProfitOne clickPartner-wise allocationShare AShare BShare CResolved perLine itemWhy it is one systemMost businesses buy these four surfaces from four vendors, thenspend the rest of their life reconciling between them by hand.Built as one, the reconciliation is a property, not a job.7 operational surfaces · 150,000+ vapes sold through it · 18 months in production

What we built

Seven surfaces, one business.

“The systems businesses run on” is abstract until you see the list.

POS
In-shop sales across coffee and vape lines on one till.
E-commerce
Storefront sharing stock and pricing with the shop.
Back office
One place where both channels reconcile.
Order management
Fulfilment with courier integration and tracking.
Inventory
Full stock control across both product lines.
Accounting
Expenses, purchasing, profit detail, and partner-wise profit allocation.
CRM
Driving SMS and email marketing off real purchase history.

The standout

Partner-wise profit allocation.

A complicated ownership structure resolved to a one-click view of who is owed what. Unglamorous, genuinely hard, and immediately recognisable to anyone who has run a business with partners.

Vapes sold through the system150,000+
Coffee~50 a day, every day, for 18 months
Channels reconciled2
Vapex order management, 4:3

Both channels, one system

Vapex storefront, 16:10

E-commerce

Storefront and order management

Courier integration meant the fulfilment state a customer sees is the same state the shop sees.

Vapex back office, 4:3

In shop

POS

Two very different product lines on a single till.

50%

The owners credited the marketing tooling with sell-through spikes of up to 50%.

Client-reported, and unverifiable by us. Attributed to them, not claimed as our result.

How it ended

The business was acquired.

The contract ended when new owners repurposed the operation. The system ran for the whole life of the business it was built for, which is the only test that mattered here.