Okera
All work
Point of Sale · PWALive

Barbell & Brew POS

One installable app that runs the whole coffee bar — till to back office.

Role
Product Design & Full-Stack Engineering
Year
2026
Stack
8 technologies
barbell-brew-pos.onrender.com/register
Barbell & Brew

Thandi Nkosi

Barista • Morning Shift

TN
All ItemsCoffeeFuelMerch
Search menu items...
COFFEE

Deadlift Double Shot

R 38,00
COFFEE

Post-Workout Latte

R 42,00
COFFEE

Signature Cold Brew

R 45,00
FUEL

Recovery Acai Bowl

R 85,00
FUEL

Nitro Whey (2kg)

R 650,00
MERCH

Iron Shaker (750ml)

R 220,00
(01)Overview© 2026

Barbell & Brew POS runs a gym-adjacent coffee bar end to end. Baristas work a touch-first register with category filters, staff pricing, customer tabs, store credit, and loyalty perks; managers get the full back office — products, stock, dashboards, reports, timesheets, and daily checklists — inside the same installable PWA.

It's built deliberately for South Africa: en-ZA pricing in rand, VAT at a configurable 15%, and — because the shop's Capitec card machine has no public integration API — a manual-confirm card flow that only records the sale once the physical terminal approves. A React 19 front end talks to an Express + Prisma + PostgreSQL API through a typed service layer, with JWT auth and role-based access enforced server-side.

Built with

  • React 19
  • TypeScript
  • Tailwind v4
  • PWA · Web Push
  • TanStack Query
  • Express
  • Prisma · PostgreSQL
  • JWT · RBAC

18 screens

Till, tabs, stock, staff & reporting in one PWA

3 roles

Barista, admin & super-admin — enforced by the API

15% VAT

ZAR-native: en-ZA pricing, SA VAT, Capitec card flow

1 deploy

Express serves the API and the built PWA together

(02)Capabilities© 2026

What it does

01

Touch-first register

Category chips, live search, staff pricing, store credit, tips, and loyalty perks — a sale closes in a handful of taps.

02

Open tabs

Regulars run a tab: link a customer, add rounds through the day, and settle it later with the same card-confirm flow.

03

Card payments without an API

The shop's Capitec machine has no integration API, so checkout opens a confirm step — the sale is only recorded once the terminal approves.

04

Stock control

Stock takes with manager review, waste logging, movement history, and low-stock alerts pushed straight onto the dashboard.

05

Staff operations

Time clock and timesheets, daily task checklists, per-staff sales targets, and web-push shift reminders.

06

Dashboard & reports

Revenue, gross profit, and sales velocity with period-over-period comparison — plus CSV and Excel export.

(03)Inside the product© 2026
Back office

Admin Control, live

Revenue, gross profit, and transaction volume with period-over-period comparison, a 7-day sales-velocity chart, and low-stock alerts surfaced the moment a product dips below its threshold.

barbell-brew-pos.onrender.com/dashboard

Dashboard / Insights

Admin Control

TodayThis WeekCompare
REVENUE

Sales (Today)

R 4 820,50

+12% vs yesterday

GP

Gross Profit (Today)

R 2 114,30

+9% vs yesterday

VOLUME

Transactions

96

+8% vs yesterday

Sales Velocity

Last 7 days

SunMonTueWedThuFriSat
Stock Alerts2

Double Roasted Beans (1kg Bag)

4.2 / 20 threshold

VIEW

Creatine Monohydrate (300g)

12 / 50 threshold

VIEW
Front office

Regulars run a tab

Open a tab against a customer, add rounds through the day, and settle it whenever they're done. Tabs age visibly — high-value and stale tabs get flagged so nothing walks out unpaid.

barbell-brew-pos.onrender.com/tabs
Search customer name...
New Tab
JM

Jordan Miller

Updated 8 mins ago

Active

1h 5m

Opened 09:12

R 86,00
BK

Bongani Khumalo

Updated 25 mins ago

High Value

2h 40m

Opened 07:37

R 312,00
SC

Sarah Chen

Updated 1h 45m ago

Stale

3h 10m

Opened 07:07

R 64,00

Open tabs

3

Total open value

R 462,00

Avg open time

2h 18m

Back office

Stock that watches itself

Every tracked SKU carries cost, margin, and a live level bar against its low-stock threshold — backed by stock takes with manager review, waste logging, and a full movement history.

barbell-brew-pos.onrender.com/stock

Back Office

Stock Management

Total SKU

14

Inv. Value (Cost)

R 18 432

Low Stock

2

Avg Margin

58%

Item & CategoryStock LevelCostSellingMarginStatus

Deadlift Double Shot

COFFEE

164

R 14,00R 38,0063%Active

Double Roasted Beans (1kg)

COFFEE

4.2

R 130,00R 220,0041%Low Stock

Creatine Monohydrate (300g)

FUEL

12

R 150,00R 275,0045%Low Stock

Iron Shaker (750ml)

MERCH

22

R 85,00R 220,0061%Active
Staff ops

Clock in from the counter, not the couch

Staff clock in and out on their own phones, gated by the shop's geofence or Wi-Fi network. A live shift timer, edited-entry audit trail, and timesheets roll hours up for payroll.

barbell-brew-pos.onrender.com/time-clock

Front Office

Time Clock

Your location is checked when you clock in or out — allow location access when your phone asks.

On shift

4h 32m

Clocked in at 07:58

Clock Out

Recent shifts

Fri, 3 Jul

07:55 – 15:32

7h 37m

Thu, 2 Jul

08:02 – 16:11

8h 9m

Wed, 1 Jul

07:48 – 15:45

7h 57m
Back office

Reports the accountant can open

Any date range rolls up revenue, gross profit, tips, and per-employee performance — then exports to PDF or Excel. Every transaction keeps its BB-numbered audit trail from the till.

barbell-brew-pos.onrender.com/reports

Back Office

Sales Reports

Export PDFExport Excel
TodayThis WeekThis MonthAll Time

Revenue

R 84 310

Gross Profit

R 38 970

Tips

R 2 145

Avg Order

R 70,02

Revenue by Category

R 84 310Revenue
Coffee58%
Fuel30%
Merch12%
SaleItemsTotal
BB-10422× Deadlift Double Shot; 1× Energy BarR 124,20
BB-10411× Nitro Whey Protein (2kg)R 747,50
BB-10402× Oat Flat WhiteR 92,00
BB-10391× Recovery Acai Bowl; 1× Cold BrewR 149,50
Staff ops

Opening and closing, on rails

Managers build recurring checklists with due times; staff tick them off on the floor. Every completion is stamped with who did it and when, and web-push reminders chase whatever's still open.

barbell-brew-pos.onrender.com/daily-tasks

Front Office

Daily Checklist

Tick each task as you complete it today.

Opening Checklist

by 08:00

4/6

Unlock & disarm alarm

Thandi Nkosi · 07:31

Start espresso machine warm-up

Thandi Nkosi · 07:34

Count opening float

Thandi Nkosi · 07:42

Stock grab-and-go fridge

Thandi Nkosi · 07:55

Wipe down counters & tables

Put out pavement sign

Staff ops

Targets baristas can chase

Every staff member sees their own sales, orders, and tips for the day, tracked against a personal daily or monthly target — with a category split showing where their sales actually come from.

barbell-brew-pos.onrender.com/my-sales

My Performance

My Sales

Thandi Nkosi · Morning shift

REVENUE

My Sales Today

R 3 245,80

VOLUME

My Orders Today

41

TIPS

My Tips Today

R 186,50

Target — Monthly84%

R 16 800,00 of R 20 000,00 target · R 3 200,00 to go

My Sales by Category

This Month · R 16 800,00 in sales · 360 orders

CategoryItems SoldSales
Coffee312R 12 480,00
Fuel44R 3 520,00
Merch4R 800,00
Checkout

Card payments without an API

The shop's Capitec card machine has no public integration API — so the register opens a manual confirm step: run the amount on the physical terminal, then record the outcome. The sale only lands once the terminal approves.

barbell-brew-pos.onrender.com/register
Barbell & Brew

Thandi Nkosi

Barista • Morning Shift

TN
All ItemsCoffeeFuelMerch
Search menu items...
COFFEE

Deadlift Double Shot

R 38,00
COFFEE

Post-Workout Latte

R 42,00
COFFEE

Signature Cold Brew

R 45,00
FUEL

Recovery Acai Bowl

R 85,00
FUEL

Nitro Whey (2kg)

R 650,00
MERCH

Iron Shaker (750ml)

R 220,00
Process Card Payment

R 170,20

Run this amount on the Capitec card machine now. Once the terminal approves (or declines) the transaction, confirm the outcome below.

Payment FailedPayment Successful

Okera designs and builds full-stack products like this one — from first sketch to deployed system.