To price one order by hand
Port the design, recount pixels into centimeters, apply material and discounts.
Case Study
By applying the TriStorm approach, Vstorm split the project into three streams, aiming to augment and rebuild business processes with agentic AI for a company with a long-established market presence.
Price in engraving is not a list price. It is material, design complexity, order volume, and the customer's discount history — calculated by a specialist. The database of those relationships was decades old and hard for non-technical staff to query. The agents had to read both.
The figures are from the production platform: PydanticAI, a SQL sub-agent on a graph, image-based pricing, and a 15-minute SharePoint refresh. 72% is the published time-of-work reduction across pricing and database operations, not a lab demo.
Port the design, recount pixels into centimeters, apply material and discounts.
Conversational agent over decades of interactions, with a SQL graph for edge cases.
The asset was already there. It was not usable by the people who needed it.
About the client
The client is one of the largest engraved die manufacturers in the world, producing copper and brass sheet-fed dies, rotary tools, narrow-web flatbed dies, and a range of related products. The company is not named here.
With a long-established market position and decades of experience, they saw the market shifting — new machines, new customer expectations — and chose to transform with it rather than wait.
The challenge
The engraving market is growing and is estimated to reach $317.17 million in 2026, up from $295.38 million in 2025. Part of that is a technological shift: not only new machines, but new customer expectations. The client chose to meet that with agentic AI.
Long tenure was the asset and the constraint. The customer-relationship database had been gathered for decades and was immensely valuable, yet mining it for a fact was hard, especially for non-technical users. Price estimation had to include material, the complexity of the pattern or text, order volume, and discount history — calculated by a specialist by hand. Specifications lived in enterprise tools and were still moved manually. Previous systems had little automation and were a poor foundation for what had to come next.
The work was not a single chatbot. It was database intelligence, image-based pricing, and asset freshness — then observation so a misfire on the word die could not stay silent.
Workshops locked the brief: a 20-year interaction database that specialists could not query, a 30-minute manual quote, and SharePoint documents that went stale in the RAG the moment someone uploaded a file.
A main conversational agent plus a SQL sub-agent on a Pydantic graph. An image-recognition path that ports designer files and counts centimeters. A 15-minute SharePoint watcher that refreshes the vector store. Built on PydanticAI.
Logfire on the agent environment. An app that stores negative-feedback logs and posts Slack. That loop caught the chatbot reading die in fed die as a crisis topic. Every component ships behind an API.
How it works
To make the decades-old customer database usable, Vstorm shipped a conversational agent that answers questions about its contents. A main agent handles the large majority of queries without a deep dive. A SQL sub-agent takes edge cases and heavier operations. Query logic is a sequence of clear steps, so the team put that sequence on a graph and left the agent to intent, SQL generation, and language. More on that split: from single agent to hybrid agent-graph.
Vstorm × undisclosed die manufacturer — PydanticAI + Pydantic-graph
The graph handles step sequencing, state management, error propagation, and parallel execution. The agent handles intent analysis, query generation, result synthesis, and natural-language understanding. The SQL agent no longer has to decide what comes next. It generates the best SQL for its step; the graph runs the steps in order with validated data between them. That separation is what improved accuracy.
The old quote path meant choosing material, then manually moving a designer-format image onto the internal pricing platform so a person could count the work. The final number mixed material, customer history (a temporary or permanent discount), and the design itself — including recounting pixels into centimeters. That took about 30 minutes.
The image-recognition system cuts that to a few clicks. It is wired to the database agent, so discounts and context are already in the estimate. Two modes: manual (AI-assisted retrieval) and automatic (full image processing with little human oversight).
Documents live in Microsoft SharePoint. An updater inside SharePoint checks for new files every 15 minutes. When something new appears, it refreshes the vector database and the RAG the database agent uses. A technical team does not have to babysit those updates.
A separate reliability app watches for negative feedback on the conversational agent. On a negative signal it stores the logs and posts Slack. That is how the team caught an unexpected malfunction: the chatbot sometimes misread “die” in “fed die” as a vulnerable topic, refused to continue, and suggested the user seek professional help.
Results
Published time-of-work reduction across pricing and database operations is 72%. Any fact in the customer database is retrievable in about three seconds. The stack is PydanticAI and Logfire: an observable agent environment, with every component available over API so it can sit beside other systems or be augmented by them.
With the three streams in place, a later idea is a self-service estimator so a prospective customer can get a price without waiting for an employee to run the process by hand.
Meet directly with our founders and PhD AI engineers. We will walk through real implementations from 30+ agentic projects and the practical steps to integrate them into your workflows.