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.
- 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, not mock-ups.
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.
- Website inquiry
- Customer and lead
- Quote with options
- Online approval and deposit
- Job board
- Tasks and time on a phone
- Schedule
- Invoice and payment
- 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.


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.

