Inspiration

A supplier renewal can look like a simple pricing decision. But when minimum purchase commitments, falling demand, and renewal price increases interact, a reasonable choice can become an expensive mistake.

We built Causora around one question: can AI help people understand a decision while keeping its evidence, calculations, and limitations visible?

Our goal was to connect source documents, explicit assumptions, computational simulation, and AI review so people can examine the basis of a recommendation before making the final call.

What it does

Causora is a decision support prototype for supplier allocation and contract renewal.

The workflow has five stages.

  1. Data Intake organizes source documents and evidence.
  2. Scenario Lab exposes assumptions and contract constraints.
  3. Decision Matrix compares three supplier options across three scenarios.
  4. AI Boardroom reviews the computed results from financial, operational, and risk perspectives.
  5. Decision Brief brings the recommendation, supporting metrics, and unresolved concerns together for human review.

Users can inspect a quotation and its highlighted PDF location, examine the cost breakdown behind a matrix cell, and compare how different assumptions affect the available options.

The demonstration uses reviewed synthetic data. Live API execution means the application computes and reviews that demonstration data at runtime. It does not mean the underlying business data comes from a real company.

How we built it

We built the interface with Next.js, React, and TypeScript, and the backend with Python and FastAPI. The frontend is deployed on Vercel and the backend on Render. GitHub contains the source code, delivery documents, and verification evidence.

The simulation engine runs 1,000 Monte Carlo trials over a 104 week horizon. Seeded random draws make results reproducible and support consistent comparisons between options. The engine calculates costs, cash exposure, and stockout risk.

For each simulated trial, total cost equals purchase cost plus holding cost, stockout cost, renewal premium, and exit cost.

Expected total cost is estimated by averaging the total costs across 1,000 simulated trials. These calculations provide the numerical basis for comparing options. The Formula Trace exposes the corresponding cost components for inspection.

AI review runs through OpenRouter on the backend, where the API key is stored. Three role reviews run in parallel, followed by a Critic and a Synthesizer. Their responses must satisfy structured output requirements and pass validation before the application presents a completed review.

A Numeric Guardrail checks numerical claims against the computed results. Run identifiers bind the Matrix, Boardroom, Critic, and Brief to the same simulation. This helps prevent the interface from combining outputs from different runs.

Challenges we ran into

The hardest part was making the complete online workflow reliable. We encountered configuration problems, provider failures, timeouts, and model outputs that failed validation. We also had to prevent saved examples from being mistaken for live results.

We addressed these issues with explicit state labels, structured response validation, request identities, provider usage records, and bounded execution controls.

If AI review fails, the validated simulation and Formula Trace remain available. The application reports the failure instead of presenting a saved recommendation as a successful live review.

Accomplishments that we're proud of

We completed a deployed workflow that combines reproducible simulation with real OpenRouter model calls.

We connected source evidence to highlighted PDF locations, exposed formula level cost breakdowns, and implemented a review process with financial, operational, and risk perspectives, followed by a Critic and numerical validation.

The workflow connects:

Source evidence → Contract constraint → Scenario assumption → Computed result → AI challenge → Human decision

Users can distinguish saved examples from live results, inspect supporting evidence, and see when a review has failed or a concern remains unresolved. A matching validated review enables the human decision controls.

The Critic can preserve a concern even when other roles support an option. A completed review does not mean every uncertainty has disappeared. The final choice remains with the user and is recorded locally in the browser in this prototype.

What we learned

We learned that an AI decision support product needs more than a convincing answer. It needs consistent data, inspectable calculations, clear failure states, and a defined role for human judgment.

We also learned that combining computation and AI requires a clear separation of responsibilities. The simulation engine calculates the metrics, while AI interprets the supplied results and challenges the proposed choice. Numerical claims still need to be checked against the underlying calculation.

What's next for Causora

Our next priorities are broader user testing, additional contract scenarios, and stronger evaluation of AI review quality.

We also want to improve document ingestion, add persistent decision history, and evaluate reliability across repeated online runs. The current prototype demonstrates the workflow, while further testing is needed before applying it to real procurement decisions.

Try the project

Live Website

GitHub Source Code

Quick Overview

Detailed Walkthrough

Built With

Share this project:

Updates

Submission history