Skip to content

Work

Two shops so far: the one we built our way out of, and the first one that asked us to do it for them.

A 60-year family drapery workroom: the founder's math, out of his head and onto the floor

The situation

Three generations, 30 to 40 work orders a week in season. Every ticket crossed the 74-year-old founder's desk for his red pen: the squared length, the cut, the pleat math. The software they paid per work order got cuts wrong by six to eight inches on expensive fabric, and the fix lived only on paper — a lost sheet was lost knowledge.

What we did

One recorded discovery visit, a 23-page scan of tickets and cheat sheets, the family's own spreadsheet, and about 45 work orders the founder read aloud into a recorder. From those: a rule book with every rule sourced and every gap numbered, then a web app — a job board, a work-order generator that shows the founder's math step by step, printable packets (master sheet, work orders, per-drape tags with barcodes), materials tracking, and a label printer.

The result so far

The engine reproduces 31 of 31 of the founder's real tickets, including four windows it had never seen. The shop cancelled its per-order software before the tool shipped, and the team's own improvement list — written after their first weeks in the app — became the next build sprint. Next: the founder's sign-off, and a parallel run beside his red pen.

"I'd love to be able to walk out of here at 2:00 or 3:00 in the afternoon sometimes."


The founder, discovery day

CMA Signs: where the method came from

One hundred days from the first line of code to a shop running sales, production, shipping, collections and inventory on one system.

The situation

Every question in the shop ended at one desk: where's this job, what do we charge, when can it ship, did the acrylic come in. Three off-the-shelf apps were being retired, the price book was an Excel file emailed around, and the weekly totals were rebuilt by hand from the shipping workbook.

What was built

First code July 16, 2026. By the end of July: customers, CRM, quote builder, pricing and inventory on one database. August: production boards by work centre, panel check-in by name, hold first with a reason. September: a dashboard where every number opens its rows, the collections board, a floor TV. October: a customer quote-reply page, a ship-date estimator, receiving from the packing slip, value on the floor. 235 code changes in 100 days.

The one decision

One system, not more apps: a won quote becomes a job, the job's build sheet becomes its material list, the list becomes Tuesday's order, and nothing is retyped in between. And the board is the morning meeting — the 9:30 production meeting already walked jobs station by station, so the Hub put that meeting on a screen instead of inventing a new routine.

The team shaped it

Thirteen team requests on record shipped between July and October: the sales lead's quote numbering ("names are torture, numbers count the year"), his quotes-versus-sold formula copied into the scoreboard, his written ship-date rule shown beside history; the production leads' check-in by name with no logins, rework with a reason, hold first; the designer's build sheet read as-is instead of a new form. The screens use the rules the shop already had.

Quote builder: sign types priced from the rate book, with the ship-by panel showing history beside the desk's rule
Quote builder. Two estimators used to price the same sign two ways. Now every element prices from one rate book, and the ship date is checked against real history before the quote goes out.
Job card on the production floor: tap your name, tap the panels you finished
Job card. Who did what used to go on paper sheets, keyed in later. An operator taps their name once, then the panels they finished. No logins — that was the shop's own rule.
Follow-up list: pending quotes grouped by customer, oldest first, with one-click email
Follow-up list. A printed sheet of pending quotes was out of date the day it printed. This one is live, grouped by customer, and one email covers all of a customer's open quotes.
Inventory count popup: tap an item, tap minus one, plus one, plus five
Counting at the shelf. Big buttons, no typing, because the person counting is holding a box.
Customer quote-reply page on a phone: one card per quote with four big answers
The customer's reply page. Follow-up emails used to say 'let us know,' and most didn't. Now every email carries a link with one tap per quote.

Numbers from the build

  • 672 materials moved out of a spreadsheet into the system. 142 were already below par on day one.
  • The whole rate book out of Excel: 15 product lines, 137 rates, 33 add-ons, 20 rules.
  • First team walkthrough July 29. Its punch list was built the same day.
  • 235 code changes in 100 days.

Screens show demo data. The layouts are the ones the shop runs on.

Your shop next.

Thirty minutes. Bring a work order.

Start a conversation