video link: https://drive.google.com/file/d/1l1XSgsN9601Wcz55U-UbKo-txn9N8X6c/view?usp=sharing
Inspiration
In 2026, geopolitical uncertainty has reached new highs with companies facing unpredictable tarrifs and energy price swings. Midwest diesel jumped 23% in a single week in March (EIA). U.S. steel-wire maker Insteel told investors it weighed surcharges against price increases, and absorbed the extra costs until its increases took effect. Milwaukee's A. O. Smith raised its 2026 steel-cost assumption to about +15%, with its own price increases not landing until Q3.
For a mid-size manufacturer that quotes today and ships months later, every one of those moves reopens the deal. Picture a Wisconsin fabricator that quotes 40 trailer frames on March 2 for June delivery. By June, steel is up 8.7%, aluminum 11.6% and diesel 38.7%. The supplier's spreadsheet says the price should rise \$8,264. The buyer's says \$5,369. Same order, same quote: they just never agreed on which index, which dates, or how much of the price it covers, which is exactly what escalation-clause disputes turn on. Then come weeks of emails, a lawyer, and a \$186,400 invoice sitting on hold.
The price-adjustment formula that fixes this is decades old. What's missing is a neutral way to agree on its inputs and terms, and to run it automatically on every order. That's Dylnamic.
What it does
Dylnamic turns a quote into a living quote: a signed record of today's costs plus an agreed rule for how the price moves when those costs change.
- The agent builds the quote from the supplier's ERP data. The buyer sees only how much of the price follows each public index (steel 34%, aluminum 11%, freight fuel 0.5%), never the supplier's margin or costs.
- Each side privately tells the same neutral agent how much risk it can carry. The agent pre-fills each limit from that company's history; every correction is logged and shapes the next pre-fill.
- The agent replays 10 years of real index moves and proposes three symmetric terms: a threshold the supplier absorbs, a pass-through share beyond it, and a cap and floor.
- Both sides sign a timestamped record with the exact FRED and EIA series IDs.
- After signing, price alerts post to a shared buyer–supplier thread, and at shipment the invoice calculates itself with every line of math shown. The buyer approves in one click.
For each index-linked cost $C_i$ with index change $r_i$ on a quote of $P_0$:
$$\delta = \frac{\sum_i C_i\, r_i}{P_0}$$
$$A = \operatorname{sgn}(\delta)\cdot s \cdot \max\big(|\delta| - T,\ 0\big)\cdot P_0, \qquad |A| \le C \cdot P_0$$
In our demo order the agent proposed $T = \pm 1.5\%$, $s = 100\%$, $C = \pm 7\%$. In June, the \$8,264 increase split by that rule: \$5,468 to the buyer and \$2,796 absorbed by the supplier, with no renegotiation and the invoice paid on terms.
How we built it
- Real data: FRED steel mill products (WPU1017) and aluminum mill shapes (WPU102501) monthly, and EIA Midwest diesel (EMD_EPD2D_PTE_R20_DPG) weekly, loaded into Delta tables in Unity Catalog on Databricks.
- The fairness engine uses standard risk-management practice: historical-simulation Cost-at-Risk at the 95th percentile, risk budgeting so each side uses the same share of its own limit, and symmetric terms. It tests 2,394 combinations of threshold, share and cap against 118 real three-month windows (2016–2026, with no look-ahead past the signing date) and picks
$$\min_{T,\,s,\,C}\ \max\left(\frac{\text{CaR}{95}^{\,\text{supplier}}}{L{\text{supplier}}},\ \frac{\text{CaR}{95}^{\,\text{buyer}}}{L{\text{buyer}}}\right)$$
with ties broken by the smallest expected transfer. The math decides; the AI explains.
- The agent is a Python tool-calling agent on Databricks with tools for scoring terms, what-if questions, calculating adjustments, recording corrections and posting to the shared thread. It never states a number it didn't get from a tool, and it never reveals one side's private inputs to the other.
- The app is Next.js and TypeScript. Privacy is enforced on the server: the buyer never receives the supplier's cost lines, margin or limit. A TypeScript mirror of the engine gives instant slider previews, and golden tests check that both implementations produce identical terms.
Challenges we ran into
- Almost no public data on price disputes. We built the cost of a reopened deal bottom-up from BLS wages, Clio legal rates and Atradius payment data, and labeled every assumption as an estimate.
- Our headline wasn't our biggest driver. Diesel made the news, but fuel is only about 21% of trucking cost per mile (ATRI); steel moved this order's price the most.
- Pivot early on from Realtor Agent We changed our project completely Saturday afternoon.
- Defining "fair." We moved from an ad-hoc scoring scheme to standard risk-management methods that a CFO would recognize.
- Being honest about who pays. An \$8,264 increase can't make both sides pay less. The real win is no renegotiation, on-time payment, and a worst case each side knows before signing.
- Databricks Free Edition limits: restricted outbound internet (we uploaded the index history as files), CPU-only model serving, and limited model availability.
Accomplishments that we're proud of
- A deterministic engine running on real 2026 market data: same inputs, same terms, every time.
- A living quote that neither side has to trust blindly: every number cites a public series, and each side's private inputs stay private.
- A payoff graph that shows, for any cost move, exactly what the buyer pays and what the supplier absorbs.
- Every number in the pitch is either sourced or clearly labeled as an estimate.
What we learned
- The formula isn't the innovation. Agreeing on its inputs is. Disputes come from which index, which dates and how much of the price, not from arithmetic.
- A fixed price always makes one side lose: unpadded, the supplier eats the increase; padded, the buyer overpays even when prices fall.
- The time horizon matters as much as the index: risk grows fast with every extra month between quote and shipment.
- Value scales with volatility. One reopened deal costs the two companies about \$4,303 in staff time, legal risk and delayed cash (estimate). For a typical 250-order supplier on our \$2,500/month plan:
$$V_{\text{supplier}} = N \cdot p_{\text{move}} \cdot p_{\text{reopen}} \cdot \text{\$3,040} \;\Rightarrow\; 1.7\times \text{ (calm years)},\ 3.5\times \text{ (10-yr avg)},\ 7.2\times \text{ (2025–26)}$$
What's next for Dylnamic
- Validate: need to do customer discovery interviews to test the assumptions we build the prototype on.
- Integrate: a read connector for shop ERPs like Epicor and JobBOSS, then a paid pilot on the Growth plan (\$2,500/month; \$1,000/month for smaller shops; buyers free).
- Expand the rulebook: copper and resin indexes, carrier-capacity pricing, tariff pass-through lines, and a reopener when a cap is hit.
- Grow the market from 269 Wisconsin metal fabricators (\$8M) to 1,883 in the Midwest (\$56M) and 57,300 U.S. manufacturers (\$911M TAM). Every signed quote brings the other side onto Dylnamic.
In a world where costs won't sit still, prices should move by agreement, not argument. Agree once. Transact faster.
Log in or sign up for Devpost to join the conversation.