Skip to content
Sites by Nu
All work
Demonstration buildRetail & trade shopsShop management system

Shop Desk — Upholstery Shop by Raul

A working preview of a shop system where purchasing and production are one thing: a job short on fabric says so on its own ticket, on the shop board, and on the dashboard.

Please note: Built to demonstrate an idea — not commissioned by this business.

upholstery-shop-by-raul.vercel.app
Shop Desk — Upholstery Shop by Raul — the live interface
My role
Designer and developer. Built as a sales preview — a single link the shop owner can click through on a phone or a laptop and actually use.
Built for
Retail & trade shops
Current status
A working demonstration, not a deployed business system. Seeded data lives in the visitor's own browser — there is no database and no customer data.
Built with
Next.js · TypeScript · Tailwind CSS · Browser-local storage (no backend by design)

The story

What problem existed, and what we built.

The problem

Most shop software keeps two separate lists — what customers have ordered, and what materials have been ordered. The connection between them lives in the owner's head. So a job sits half-finished waiting on fabric nobody realized hadn't arrived, and the customer finds out when they call.

What I built

One system where a job and the material it needs are linked. A ticket short on yardage announces it everywhere it appears. Receiving a shipment at the dock allocates that yardage against the waiting ticket automatically, and the job moves.

What it had to achieve

  • Show, not tell — let the owner use the thing rather than read about it
  • Prove the one idea that matters: purchasing and production as a single system
  • Work on a phone, because that is where it would be read
  • Require no sign-up, no setup and no risk to try

The customer's experience

A customer finds the shop, sees real examples of its work, and sends photos with a quote request. That request arrives as a job ticket rather than an email someone has to remember to action.

What customers can do

  • A customer-facing site showing the shop's real work and services
  • A quote request form that becomes a job ticket inside the shop system
  • A clear phone-first path for customers who'd rather call

The owner & staff experience

The owner opens the dashboard and immediately sees open jobs, what is stopped waiting on material, what is past its promise date, and how much money is still to collect. Receiving a delivery unblocks the ticket that was waiting for it.

What the business can do

  • A dashboard answering 'what needs me first' — sorted by what is actually blocking the floor
  • Job tickets with stage, promise date and material status
  • A shop board showing where every job sits
  • Purchasing, receiving, materials and supplier records
  • Pickups and deliveries scheduling
  • Money still to collect on open work

How it works

The system, explained without the jargon.

If a technical term is needed below, it's explained right where it appears.

Jobs and materials are one system

A job ticket knows what material it needs and whether that material is here. That single link is what removes the 'why is this job still sitting there' conversation.

The dock is where work restarts

Receiving a shipment allocates the material against whatever job was waiting for it, so the floor learns about it at the moment it becomes true.

No backend, on purpose

Everything lives in the visitor's own browser. That makes the demo instant, private, and resettable — and means no real customer information exists anywhere in it.

Design decisions

The choices that shaped it — and why.

Sorted by what is blocking the floor

The dashboard does not sort by date or by size. It sorts by what is actually stopping work, because that is the question an owner opens a screen to answer.

The demo is labeled as a demo

The customer site carries a visible banner saying it is a preview. Nobody should be able to mistake it for the shop's live website.

How it was built

Development process

  1. 1Built the shop-floor system around the purchasing-and-production idea
  2. 2Added the customer-facing website, wired so a quote request becomes a job ticket
  3. 3Server-rendered the customer site and fixed the quote form's input handling

Where it stands

Status & outcome

Current status

A working demonstration, not a deployed business system. Seeded data lives in the visitor's own browser — there is no database and no customer data.

Outcome

A demonstration built to be handed to a shop owner as one clickable link. It has not been commissioned or deployed as that shop's live system.

Related projects

You might also want to see

Want something like this for your business?

Tell me how your days go and what you'd like to stop doing by hand. I'll tell you honestly what would help.