Skip to content
01Use case · beauty & barber retail

Agentic replenishment for a salon network.

Custom software where salons order stock from HQ in plain language. An AI agent turns the request into a checked proposal — people stay in control of every unit that moves.

AI agentLLMRAGFirebaseHuman-in-the-loop
problem
Ordering by phone and chatSalons restock from HQ through messages and spreadsheets — easy to double-order, hard to track what arrived.
agent
Say it, get a proposalStaff type or dictate what they need; the agent maps it to products, checks HQ stock and builds the request.
guardrails
Checked before it's sentDuplicates of active requests are blocked, quantities stay editable, and no stock moves until HQ dispatches and the salon confirms receipt.
tracking
From request to receiptEvery request has a status — dispatched, received, rejected or delivered with an issue — with damaged units kept out of saleable stock.
01 · agentic replenishmentSay it. Get a checked order.
barberhq · salon legnicka · inventory
Salon inventory with the AI assistant panel: a Polish request for 6 Mattifier and 4 Savage beard oils turned into a request list with HQ and salon stock impact
„Potrzebujemy 6 Mattifier i 4 olejki Savage”
fig. 01Plain language in, structured order out. “Potrzebujemy 6 Mattifier i 4 olejki Savage” becomes a request list with quantities, HQ availability and the resulting salon stock (2 → 8). Nothing is sent until a person submits.
barberhq · salon · inventory
Salon inventory table with low-stock flags on three products
fig. 02Low stock, surfacedSalon and HQ stock side by side; low-stock items are flagged before anyone has to ask.
barberhq · salon · assistant
Assistant refusing a proposal because the products already have active requests
fig. 03The agent says no“Restock everything that's low” — the agent sees those items already have active requests and links to them instead of double-ordering.
barberhq · salon · requests
Requests list with dispatched, rejected, received and delivery-with-issue statuses
fig. 04One timeline per requestFilterable request history for the salon, from submission to receipt.
barberhq · request 405ed6be
Request detail showing ordered, dispatched and good units with one damaged item
fig. 05Problems handled, not hiddenOrdered vs dispatched vs good units per product; damaged items go back to HQ, live stock stays correct.
fig. 06

Answers with receipts.

A procedures assistant answers staff questions — “we received a damaged product, what now?” — step by step, with every step linked to its source document, version and page. Guidance only: it can't change stock, file claims or grant replacements.

safe by design, not by prompt
barberhq · procedures · assistant
Procedures assistant answering what to do with a damaged product, with numbered steps and cited source documents
fig. 07–09 · salon perspective

Phone-first for the people on the floor. No app store.

Salon staff work from their phones, so the salon side is a PWA installed from a link. The one native-feeling capability they asked for — push notifications when an order is approved, dispatched or has an issue — ships through web push. No camera, no offline sync, no native SDKs: nothing was built that the business didn't need.

builtOne responsive codebase · installable PWA · web push for status updates · same auth and rules as desktop
skipped on purposeiOS + Android native apps · store review cycles · second UI to maintain
Phone: salon inventory list with low-stock flags
Phone: list of requests with dispatched, rejected, received statuses
Phone: request status history — submitted, approved, dispatched, inspected
Request 88eddc78 dispatched · 6 pcs on the way
fig. 07Stock at a glanceLow-stock flags per product, HQ availability inline.
fig. 08Order status on the goEvery request and its state, filterable — plus a push when it changes.
fig. 09Receipt and issuesConfirm delivery, report damaged units, see the full status history.
BarberHQnow
Request 88eddc78 dispatched — 6 pcs on the way to Legnicka. Confirm receipt when it arrives.
Web push notification, as the salon sees it. Status changes come from HQ actions on the desktop side; the salon never has to poll.
screens from the live demo environment · synthetic stock dataTalk about your workflow