

Overview
Architects use Acelab to find and specify building products. Ask Ace answers questions about products, specs and projects. AI Matches turns imported schedule rows into real catalog products. Both had the same job: help without taking the decision away.
🧩
Problem
Ace started outside the user’s project, so people had to explain their work before it could help. Imported CSV rows arrived as raw text, with no guided way to reconcile them.
🧭
Solution
Ace moved into the workspace, next to the project. Matching became row by row: only exact matches are pre-selected, differences are spelled out, and the user makes the other calls.
🚀
Outcome
CSV import, Discover Matches and the V2 update shipped. V2 incorporated feedback from the first release.
Product
Ask Ace and AI Matches in Acelab’s Materials Hub
My role
Product Designer
Worked with
Patricia Causey, VP of Product
What I did
Designed Ace’s move into the workspace, the CSV import flow and both versions of AI Matches
The problem
Two parts of Materials Hub had the same gap. Ace could answer questions, but it didn’t start from the user’s project. CSV import could bring a schedule in, but the rows stayed as unverified text until someone reconciled them.

Ask Ace: the first copilot opened beside the page and started from a blank prompt.

AI Matches: imported rows stay as custom products until they’re linked to the catalog.
Part 1 · Ask Ace

Evolution
Ace changed shape three times: a copilot side panel, a chatbot that floated over the page, and now a workspace that stays beside your work. Each move brought it closer to the work.
Above: a schematic of all three versions. Below: real screens of the first copilot and of Ace today, with names changed.

1 · Copilot side panel
Opened from a button in the header, as a panel beside the page.

3 · Workspace
Docked beside the page, which resizes to make room.
Placement
An assistant that opens on top of your work makes you choose between asking and looking. We realized Ace had to sit in the user’s workspace and have the context of their project.
1
Ace stays docked beside the page instead of covering it.
2
History, sharing and full-screen sit in its header.
3
It starts from real jobs: products, sustainability, projects, reps.
4
The input takes attachments and “/” for skills.
The call
Give Ace a permanent place next to the page, so asking never means leaving what you’re looking at.
The trade-off
The page gives up width. Every page now resizes to make room, which Front Door covers in more detail.

Context
In the first copilot, people described their project before asking anything. Today’s prompts start from what’s already in Acelab.
First copilot
I’m working on a project that requires fire-rated glass for a new commercial building entrance. Could you recommend some products?
The user does the briefing, every time.
Ace today
Catch up on projects
Which of my projects did I update most recently?
Reach a rep
Who is the Northline rep for my area?
Check sustainability
Which mineral wool insulation products have an EPD?
Responses
The first copilot used a priority ranker to refine results. The response patterns now make the next decision clearer: show the source, explain the fit and offer another route when the answer is missing.
First copilot
Based on your needs, I’ve found over 60 products that are durable, aesthetically pleasing, and have low embodied carbon.
Important
⋮⋮
Sustainability
⋮⋮
Pricing
⋮⋮
Durability
⋮⋮
Aesthetics
Not important
Show 60 products →
Ace today
Rebuilt from A Slab’s ProductsCard and ActionProposal components, with made-up products.
Show where an answer comes from
Arcstone Tile has a wet DCOF of 0.48 and a published HPD.
① Data sheet
② Certification
Exact match
Meets DCOF ≥ 0.42 and ASTM C1026
Close match
20 mm paver; check the setting bed
Substitute
Freeze–thaw rating not published
Ace couldn’t find this
No product in the catalog publishes a wet DCOF above 0.6.
Ways forward
→ Show tiles with a wet DCOF of 0.5 or more
→ Search stone pavers instead
♧ Ask the Acelab support team
Response examples reused from the A Slab source specimens. Product details are sample content; shown here to explain behavior.

Trust
A reminder to verify answers is only the start. The response also needs to distinguish work in progress, an empty result and an interrupted step—and show a way forward.
Ask about products, specs or your projects · / for skills
Ace can make mistakes, please verify responses.
⚡ Add 2 products to 09 30 00 Tiling
SpecPlanner · 09 30 00 Tiling · Riverside Clinic
+ Basalt Matte 12×24
Harbor Tile · Porcelain tile
+ Ash Grain 12×24
Northline · Porcelain tile
ⓘ Fieldstone Grey is already in the SpecPlanner (09 30 00 Tiling)
Acoustic Baffle 24 needs a section: name the MasterFormat section to add it to
Only a project admin or creator can add to the SpecPlanner
Approve
Reject
Nothing changes until you approve.

Ace’s nine moods, from A Slab.
When Ace can only do part of a job, the proposal says what will change, what can’t be added and why, and who can approve it. Rebuilt from A Slab with made-up products.
Part 2 · AI Matches
Where it starts
Importing a CSV takes three steps: upload, assign fields and complete. Field assignment gives spreadsheet columns meaning. Product matching then connects imported rows to catalog products.
✓
Upload
2
Assign Fields
3
Complete

Import succeeded. Matching is already underway.
Reconstructed from the linked import-confirmation screen; count and schedule data are illustrative.
① Success is explicit: the products are in the schedule.
② Matching has started; review can happen now or later.
③ Review Matches leads into the drawer; a single product can also be reviewed from its schedule cell.
V1 opened right after import and put each CSV row next to its suggested catalog products.
A toolbar button and a row-level icon brought people back to anything they’d skipped.
Discover Matches
All (8)
Matched (6)
Unmatched (1)
Skipped (0)
CSV ROW 1 · 2 FOUND
Insulated Metal Wall Panel
Ridgeline Metals
07 42 13 Metal Wall Panels
☑
Micro-Rib Insulated Metal Panel
Firm Library
92%
☐
Box-Rib Metal Wall Panel
87%
⚠ Same match used by Row 12
6 products matched
Skip All
Replace Products
Rebuilt from the V1 design file, with made-up product names.
The call
Get people through a whole schedule quickly: the top match is ticked on each row, and one button replaces them all.
The trade-off
Pre-selecting the top result speeds up review, but makes that suggestion the default decision. V2 reserves that default for exact matches.
1
Rows not linked to the catalog are custom products.
2
The AI icon marks a row with matches.
3
A greyed-out icon means no match was found.

After feedback on V1, V2 made the review more explicit. Exact matches can be pre-selected; close matches ask for a choice. Empty results offer search or a product request.
1
Filters by what each row needs from you.
2
Bulk action only for exact matches.
3
Exact match: pre-selected, with a reason.
4
No exact match: nothing is pre-selected, and each option says what differs.
5
A count before you commit. Rows you don’t replace stay custom, and you can come back.
Pre-selection
Top match ticked
Exact matches only
Why this match
A score
Score, label and reason
No match
Imports as a placeholder
Says why, then search or request
Inside the schedule
Single-row pop-up
After replacing
Replace Products
A count first, then Undo
Matching from the schedule
The AI icon only appears on custom products. It opens a popover right at the row, so people can compare and replace without leaving the table. Radio buttons make the rule clear: a row can only be replaced by one product.
A missing match still has a next step
01 / Needs your choice
Acoustic Wall Panel · 25 mm
No exact match. Compare the differences before choosing.
○ Felt Wall Panel · 20 mm
Close match · thickness differs: 20 mm; your row: 25 mm
○ Acoustic Panel · 25 mm
Alternate · manufacturer differs
02 / No match
Rubber wall base · 4 in.
Manufacturer not provided
No close matches in the catalog
The missing manufacturer limits matching. Search the catalog or request a product.
Search catalog →
Request product →
Before replacing
3 products will be replaced. 2 need your choice.
Rows you leave stay as custom products.
✓ Product replaced Undo
Condensed UI reconstruction from the V2 matching designs. Product names and counts are illustrative; actions shown here explain the flow.
WRITTEN INTO THE V2 SPEC
“Only custom products get the AI icon.”
“Radio buttons, because a row can only be replaced by one product.”
“Search never opens a new modal; it swaps the list and keeps the same header and footer.”
“Header and footer stay put so users always have a way forward.”
“Something went wrong while finding matches for this row. Your schedule wasn’t changed.”
Quoted from the annotations in the Schedules design file.
The call
Only exact matches are pre-selected. Everything else waits for the architect.
The trade-off
People make more decisions per import. “Select all exact matches” keeps the easy rows fast.
THREE ENTRY POINTS
Matching can start from the schedules header, a custom product’s cell or the end of a CSV import. Import confirms success before offering Later or Review Matches; individual products open contextual alternatives, while the drawer supports the matching review.
Illustrative workflow reconstruction with made-up data. Import confirmation, cell-level alternatives and the Find Matches drawer follow the supplied Figma sources. Header matching scope still awaits validation. On narrow screens the UI is stacked for readability.
Final screens
Three screens from the final designs, with brand names and data changed.




After release
CSV import and both matching versions shipped, and import is used a lot. V2 followed feedback on the first release. The matching spec set five measures for success:
✓ 01 / CSV import
Upload a schedule and assign its fields.
✓ 02 / Discover Matches V1
Review suggested catalog products after import.
✓ 03 / Matching V2
Explain differences, review each row and recover when no match is found.
Fewer custom products
Fewer imported rows left unmatched after the first session.
Faster to finish
Less time from upload to a fully matched schedule.
Firm Library share
More accepted matches that are firm-approved products.
Coming back
Use of the matching button and the row-level AI icon.
Following through
More people who open matching end by replacing products.

What’s still open
Questions for the next design review. These are proposed directions, rather than claims about the shipped product.
The drawer still covers the schedule
Find Matches dims the table behind it. The row popover doesn’t, so I’d look at which rows need which.
How should Ace hand off to matching?
Explore whether an Ace recommendation should open the same row-review flow, keeping explanations and replacement rules consistent.

What I’d track next
Is Ace part of the work now?
Where.
Do people ask Ace from inside a project, not just from Home?
Trust.
How often are Ace’s proposals approved, rejected or changed?
Follow-through.
Does an answer lead to a saved product or a schedule change?
Takeaways
What I took from it
Context is the feature
Project context shaped where Ace lives and the tasks it offers.
A score needs a reason
92% doesn’t tell you what’s different. A short note does.
A default is a decision
Whatever AI ticks for you, it’s easy to accept. That default deserves as much design as the screen.
Shipping V1 is how we found V2
Feedback from the first release informed a second version with clearer review and recovery.











