Case study · Business system · Website

From paper, texts and fillable PDFs to one operating system

A family-run upholstery studio ran on fillable PDF quotes, spreadsheets, paper work orders and text messages. RootN’s founder designed and built one system around how the shop actually works, from the first inquiry to the follow-up after delivery, alongside a new website.

Sofa Art UpholsteryEdmonton, AlbertaBuilt and testedsofaartupholstery.ca ↗

60+
screens across the staff app, the customer portal and reports
8
staff roles, each seeing what it needs
32
workflow steps tested end to end, inquiry to review request
1
record per customer, from first contact to repeat work

The system

Real screens from the working application, run on a private copy with its fictional demo data: every customer, amount and date shown is sample data, not a real customer.

Before

How the shop ran

A respected trade business, organised the way most small businesses are: around people’s memory.

  • Quotes and invoices filled in on PDF templates, with GST added by hand
  • Work orders on paper, and job status tracked by text message
  • Customer history spread across spreadsheets, inboxes and phones
  • Follow-ups and reminders dependent on someone remembering

The system

One record, from first inquiry to repeat customer.

  1. Website inquiry
  2. Customer and lead
  3. Quote with options
  4. Online approval and deposit
  5. Job board
  6. Tasks and time on a phone
  7. Schedule
  8. Invoice and payment
  9. Dashboard and reports

What was built

The pieces, and what each one does.

Leads and website intake
Website inquiries can arrive through a signed webhook, with spam and duplicate checks, and become a customer, a lead and a follow-up task.
Estimating and quotes
Quotes with options, labour and materials, including a fabric yardage estimator, and an internal cost and margin view the customer never sees.
Customer portal
A secure link where the customer reviews the quote, chooses an option, signs and sees the deposit due. The shop sees when it was opened.
Jobs with hold points
A board of the shop’s own stages. Moving a job into production before the deposit is paid raises a warning and needs an override with a reason.
Shop-floor phone view
Technicians see today’s tasks with large start, pause and done buttons, add photos, and flag a problem, without seeing prices or margins.
Schedule
Pickups, deliveries, site visits and production on one calendar, with drag-to-reschedule and conflict checks.
Invoices and payments
Deposit and final invoices from the same record, payments, ageing of unpaid balances, and PDFs that follow the shop’s own templates.
Dashboard and reports
Revenue against collections, unpaid invoices by age, jobs by stage, quote decisions, sales, labour and job costing.
Inventory
Materials, locations and a stock ledger for receiving, usage, waste, counts and transfers.

On the shop floor and online

Built for the people who use it.

Technicians get big buttons on a phone. Customers get a website and a secure link to their quote. The owner gets the dashboard.

Real screens from the working application, run on a private copy with its fictional demo data: every customer, amount and date shown is sample data, not a real customer.

Shop-floor view: Today’s tasks with start, done and problem buttons.
Shop-floor view. Today’s tasks with start, done and problem buttons.
The website: sofaartupholstery.ca: the studio’s story, services and a quote request.
The website. sofaartupholstery.ca: the studio’s story, services and a quote request.

What it changes

From memory and paper to a system that keeps track.

What the system makes possible. Measured results will be published once they exist.

One place to look
Every quote, job, photo, message and payment for a customer sits on one timeline.
Nothing slips silently
Hold points, follow-up tasks and an attention list on the dashboard surface what is waiting.
Customers serve themselves
A customer can review, choose and approve a quote without a visit or a phone call.
The owner sees the business
Sales, collections, open work and margins in one dashboard instead of a stack of paper.

Under the hood

Engineered to last, and to be owned.

  • Next.js, React and TypeScript, with PostgreSQL through Drizzle ORM
  • Designed for more than one business: every record carries its organisation, and nothing about sofas is hard-coded
  • Role-based permissions, signed portal links and an audit history
  • Automated tests, including one that walks a website inquiry through all 32 workflow steps
  • Data export to JSON and CSV at any time; standard PostgreSQL underneath

What this means for you

Where the same approach applies

Built by RootN’s founder and tested end to end. Some modules (purchasing, formal change orders, proof of delivery, online payment and SMS) are on the roadmap and not shown here. Operational results will be published once they are measured in daily use.

Next step

Could your business run like this?

Bring the process that lives in spreadsheets, inboxes and memory. In 30 minutes we’ll sketch what a system around it could look like.

Request a 30-minute call

With the engineer who would do the work. Reply within one business day.

contact@rootn.ca · +1 (825) 436-3300