The problem
Industrial buyers send requests for quotes (RFQs) as messy emails, PDFs and spreadsheets. The same item gets written many ways, for example "304 SS sheet 16ga 4x8" and "Stainless 304, 0.060 in, 48 x 96". Today a person decodes every line by hand.
What we built
Our agent takes a messy RFQ and produces a ready-to-send quote. For each line it:
- Parses the text into a standard spec (material, grade, dimensions, quantity, and a standard such as ASTM)
- Matches it to a supplier catalog item
- Prices it against market benchmarks and explains why the price is competitive
- Flags compliance needs (mill test reports, country of origin and melt, Buy America, AAMA 611, recycled content)
- Sends ambiguous lines back to the buyer with a clarifying question instead of guessing
How we handle accuracy and uncertainty
Our theme is "AI You Can Trust", so the agent is built to show its work and to say when it isn't sure.
- Every line ends in one of four statuses: MATCH, MATCH WITH A LOGGED ASSUMPTION (for example, temper not stated, or a metric size converted to gauge), CLARIFY (a question goes back to the buyer), or NO MATCH (the item is not stocked; we never substitute silently).
- Every price and compliance flag cites the catalog row and benchmark it came from, so a judge can check it.
- The agent says so when its price is above the market range.
- Compliance can block a line. For example, a SKU whose country-of-origin field says US but whose metal was melted abroad fails a Buy America requirement.
- PRISM by Block Convey (observability and trust layer). Every model call our agent makes goes through the Nicrron gateway, and PRISM records it as a trace. For each RFQ line parse, catalog match and pricing explanation, PRISM shows the prompt, the model (Claude Haiku 4.5), latency, token cost and a quality score. We used it to watch the agent live during development and to check what it did on each request. Its guardrail layer flags and blocks requests that fail policy checks, so a bad call is stopped and logged instead of passing quietly into a quote. A fleet view tracks traces, quality, blocked requests, latency and cost per agent. For a quoting workflow that has to be right, this gives us a record of how each answer was produced and a place to catch problems early.
How we evaluated it
We wrote an answer key by hand: 32 RFQ lines across 4 RFQs (an email, a forwarded email, a PDF form, and a messy spreadsheet).
About the data
All data is synthetic: a fictional supplier, fictional mills and made-up prices. We labeled it that way.
Built for the RudCo "RFQ to Quote" track.
Built With
- nicrronninoo

Log in or sign up for Devpost to join the conversation.