I remember the morning the design package landed on my desk. Three-inch binder. Material boards, fabric swatches, finish samples, the works.
The project was a 42-room boutique hotel near the harbor — lobby and ground-floor refresh. Total FF&E budget: $310,000. The fabric line item: $18,000. And the interior designer had specified Romo fabrics throughout the public spaces. Lounge seating, feature wall paneling, dining room curtains. All Romo.
The flagship requirement was 48 yards of Romo velvet for the lounge seating and the check-in wall. I'd seen Romo velvet up close before, at a trade show. The pigment depth, the hand-feel, the way light moves across the pile — it's genuinely a different category from the standard contract velvets that dominate the market.
But I'd also seen the price list.
At roughly $85–$110 per yard depending on the line, the velvet alone was going to run $4,500–$5,300. The wallcovering spec added another $6,800 for the corridor. The curtains came in around $1,900. That's over $15,000 before we even talked about the terrace cushions, the bar front paneling, and the dining nook upholstery.
The math hit me like cold coffee.
Fifteen grand on the Romo line — and I still had to cover the terrace, the dining nooks, and the bar with the remaining $3,000. Not going to happen. Not in this universe.
I did what any procurement person would do. I called the supplier and booked time at the Romo fabrics showroom.
The Showroom Conversation
The showroom is one of those places that feels more like a gallery than a sales floor. Tall shelving, perfectly lit displays, wallcovering samples arranged by color temperature. I went in expecting to negotiate. What I got instead was a conversation that changed how I think about premium specifications.
The showroom team walked me through the velvet range first. The lines in the spec were Kiruna and Whistler. Gorgeous, both of them. They confirmed the pricing and gave me realistic lead times. Then they did something unexpected.
They showed me the budget-friendly parts of the Romo collection: twills, knits, and some simpler weaves in the $40–$60 per yard range. Still not cheap. But materially different.
And then the rep said something that stuck with me:
“Romo is great where people sit and notice. For everything else, there's a better product out there — sometimes from us, sometimes not.”
That honesty earned them more of our business than any discount could have. I've quoted that line in at least three procurement meetings since.
I asked about lightfastness for a south-facing window wall. The velvet needed to hold its color for at least two years in unforgiving afternoon sun. The rep pulled actual test reports: AATCC 16 option 3, with solid numbers for the product class. Not “never fades” — nothing real says that — but acceptable for contract use. (Note to self: always ask for test data, not marketing language.)
We also talked about color consistency across dye lots. The check-in wall was going to be about twelve panels of velvet. If the dye lots varied, the wall would look like a patchwork quilt — in the bad way. The rep referenced Pantone's color matching guidelines and committed to a Delta E tolerance below 2. For anyone tracking: that's the threshold for brand-critical color matching. Below 2, a trained observer can't detect a difference. Between 2 and 4, it's noticeable to someone who knows what they're looking at. Above 4, it's visible to everyone.
They hit target on the second dye lot attempt. That's the kind of thing I'm willing to pay for.
So the plan emerged: use Romo where people would touch and notice — the check-in wall, the statement lounge chairs — and find honest, well-priced alternatives for everything else.
A Cool Mesh Fabric, of All Things
First problem: the terrace.
Eighteen chairs, all needing new cushions. The original spec called for a marine-grade outdoor velvet at $42 per yard. For outdoor furniture that would get salt spray, direct sun, and the occasional seagull.
I have mixed feelings about outdoor velvet. On one hand, color retention has gotten genuinely good over the last few years. On the other hand, I've seen just as many projects where the seams wore out before the color faded. And nobody warns you about seam wear at the sample stage.
A fabric supplier friend suggested something I hadn't seriously considered: cool mesh fabric. The breathable, quick-drying mesh used in performance outdoor seating. I'll be honest — my first mental image was office chair upholstery, and I assumed the designer would kill it on sight.
Turns out I was wrong.
The right mesh, in the right colorway, with the right frame, is subtle from a distance. And the specs were hard to argue with: UV-stable coating (we got the accelerated weathering test report), fast drying, and $18 per yard versus the $42 spec.
We ordered a 3-yard sample, upholstered one chair, and placed it in the lobby for two days. When the designer walked past it from ten feet and didn't notice anything unusual, I knew we had a deal.
That decision saved roughly $1,900. And I learned something that's become a core belief: sometimes the function of the material matters more than its pedigree.
The Paisley Fabric Near-Miss
The dining nooks were a different kind of lesson.
The design called for a patterned upholstery fabric to anchor the seating alcoves. The original spec was another Romo velvet — at $89 per yard for 32 yards, that's $2,848 for side areas. Areas where people sit for twenty minutes with a coffee, not six hours at a formal dinner.
We found a paisley fabric for upholstery at a different mill. Dark, earthy pattern with deep burgundy and navy tones. $32 per yard. Large pattern scale, so it read as texture from a distance and revealed the paisley detail only up close.
Same visual energy. Third of the price. I almost approved the order on the spot.
My assistant — who spent six years at an upholstery shop before moving into procurement — asked a question I'd forgotten to ask: “What's the rub count?”
The Wyzenbeek abrasion test. I'd skimmed the spec sheet and missed the line. The datasheet said 15,000 double rubs.
For residential use? Fine. For a hotel dining nook that gets used every day from 7 a.m. to midnight? You want at least 30,000. Ideally 50,000+ for high-traffic hospitality.
At 15,000, that fabric would have shown wear within a year. Maybe sooner.
That was nearly a $1,200 mistake. My assistant caught it with one sentence. This is why you hire people who've touched the materials.
We found the same paisley pattern woven on a heavier base cloth. 40,000 double rubs. Price went to $39 per yard. Still less than half the Romo alternative. Still worth every dollar.
The Nylon Fabric Problem
And then came the curtain situation.
The dining room curtains had been specified in a nylon fabric. The reasoning: fire rating, clean drape in the right weight, cost. The fabric arrived and the installer hung the first panel. Then I got a text with a photo and a caption that made me close my eyes for ten solid seconds:
“This will not soften with time. We need to treat it or replace it.”
It was stiff. Not “crisp” stiff. Stiff like outdoor signage material.
So I researched how to soften nylon fabric. The internet suggests: vinegar. Hair conditioner. Baking soda. Fabric softener plus a dryer. I tested each method on leftover scraps.
The winner: cold wash with a full cup of liquid fabric softener, then low-heat tumble with a dry cotton towel in the dryer to create friction.
The curtains, after two wash cycles, softened enough to drape acceptably. The install went ahead a week late.
Honestly, I'm not sure why the manufacturer didn't disclose the stiffening finish on the datasheet. My best guess: it's a PU coating for water resistance that they don't consider a finish. Either way, “request a hand-feel sample of the exact finished goods” is now on my spec checklist.
Where the Budget Landed
The project finished a week behind schedule and $1,800 under budget.
The Romo velvet pieces looked exceptional. The deep green — Pantone 19-5326, for the color-minded — gave the lobby the quiet luxury the client was after. Guests photograph the lounge chairs. I've seen at least a dozen Instagrams of that check-in wall.
The cool mesh fabric performed better than expected. Through the first summer, zero guest complaints about sticky cushions. The hotel manager told me it was the first year they didn't get sun-fade comments on the terrace.
The paisley fabric for upholstery? Two years on, the nooks still look fresh. That 40,000 double rub rating was the right call.
And the nylon curtains work. The drape is fine. But the process of getting there cost time, energy, and a week of my patience that I'll never get back.
Why Boundaries Matter
If you ask me, the biggest lesson from this project — the one I now put in my procurement playbook — is that boundaries are underrated.
The vendor who says “this isn't our strength” earns trust. The Romo rep proved that by showing us cheaper Romo lines and then pointing us to non-Romo products where they fit better. That earned their company our account for years. I'd rather work with a specialist who knows their limits than a generalist who overpromises. Every time.
I told the designer straight out: “I can make the budget work, but you'll get better results if we use Romo where it counts and honest alternatives elsewhere.”
And she agreed. Because I wasn't trying to cheap out — I was trying to protect the project. There's a difference.
One more caveat before I wrap this up: my experience is based on mid-range hospitality projects — roughly a dozen hotel and restaurant jobs over the past six years. If you're working on luxury residential with a client who doesn't blink at a $40,000 fabric budget, your decisions should be different. There's no universal answer. The right answer fits the project, the client, and the people who live with the space every day.
For our project, the balance was: Romo where it mattered. Cool mesh fabric where function ruled. Paisley fabric for upholstery where value won. And a nylon softening lesson I'll never stop telling people about.
That's the thing about budgets. They're not just numbers. They're boundaries. And boundaries, I've learned, are where the real decisions happen.
