Inspiration

Important decisions are often made with more confidence than evidence.

When someone wants to launch a product, expand into a new market, change a pricing model, or scale a business, the discussion usually focuses on the idea itself: "Does this sound good?" What is often missing is a structured way to ask a harder question:

What has to be true for this decision to work, and what evidence do we actually have?

We wanted to build something that does more than generate advice. Instead of simply telling users whether an idea sounds promising, Veritas is designed to stress-test the assumptions behind a decision.

The goal is not to predict whether a business will succeed or fail. The goal is to help users identify fragile assumptions, understand relevant historical risk patterns, examine financial pressure points, and decide what should be validated before making a larger commitment.

That idea became Veritas — an AI-powered decision stress-testing platform.

What it does

Veritas takes a decision statement from the user and turns it into a structured stress test.

The system first identifies the critical assumptions that the decision depends on. It then evaluates those assumptions using several different forms of context and evidence.

Veritas can:

  • Extract the key assumptions behind a business decision
  • Retrieve relevant historical startup failure cases as risk context
  • Find semantically similar companies as business context
  • Stress-test optional financial inputs such as order volume, revenue, costs, subsidies, and cash balance
  • Compare available financial metrics with public-company benchmarks
  • Evaluate how strong the evidence is for each assumption
  • Identify important evidence gaps
  • Suggest practical validation experiments before the user commits more resources

Each assumption receives an Evidence Strength assessment. Instead of relying only on an AI-generated confidence score, the score is built from structured factors such as decision specificity, observed evidence, comparability, coverage, and source quality.

Historical failures and similar companies are deliberately treated as context, not proof. A company failing in the past does not mean the user's idea will fail, and a semantically similar company does not automatically validate the decision.

The final report is designed to answer a more useful question than "Is this a good idea?"

It asks:

"What do I still need to prove before I commit?"

How we built it

Veritas was built as a full-stack web application with separate frontend, backend, retrieval, and analysis components.

The frontend uses React, TypeScript, Vite, and Tailwind CSS to provide the decision input flow, processing experience, analysis report, and history view.

The backend is built with FastAPI and coordinates the full analysis pipeline.

For AI reasoning, we use an LLM through OpenRouter. However, we did not want the entire system to depend on unrestricted model judgment. Several important parts of the analysis, especially Evidence Strength scoring and financial calculations, use deterministic rules instead.

For historical context, we prepared a startup failure dataset and retrieve relevant cases based on the assumptions being analyzed.

For company analogues, we processed a much larger company dataset, filtered it into a more relevant candidate set, generated semantic embeddings, and retrieve companies whose descriptions are related to the user's decision.

Our analysis pipeline roughly follows this flow:

  1. Understand the user's decision
  2. Extract critical assumptions
  3. Retrieve historical failure patterns
  4. Retrieve relevant company analogues
  5. Stress-test optional financial inputs
  6. Compare available financial benchmarks
  7. Evaluate the strength of evidence
  8. Identify remaining evidence gaps
  9. Recommend validation experiments
  10. Generate the final report

The application is containerized with Docker Compose, allowing the frontend and backend to run together as one local system.

Challenges we ran into

One of the hardest problems was making sure the AI did not sound more certain than the available evidence justified.

Early versions could easily treat a historical failure case as if it were direct evidence that the user's decision would fail. Similar companies could also appear more meaningful than they actually were.

We had to separate several concepts very carefully:

  • Historical failure cases are risk context, not predictions
  • Company analogues are semantic context, not direct evidence
  • User estimates are not the same as observed results
  • Plans and expectations should not automatically increase evidence strength
  • Pilot results, transactions, and surveys can count as evidence, but their source quality still matters

Another challenge was designing a useful Evidence Strength system.

A single AI-generated confidence percentage looked precise, but that precision could be misleading. We instead implemented a deterministic scoring framework based on multiple components, including directness, decision specificity, observed evidence, comparability, coverage, and source quality.

Retrieval quality was another challenge. Semantic similarity can find companies that are textually related but not truly comparable from a business-model perspective. We therefore made the interface explicitly describe company analogues as context only.

We also faced practical engineering challenges such as coordinating data assets between the local environment and Docker, handling metadata that was not available in the original datasets, and keeping the frontend understandable even when users entered very long decision statements.

Accomplishments that we're proud of

We are especially proud that Veritas became more than a simple AI wrapper.

The application combines LLM reasoning with deterministic scoring, semantic retrieval, financial calculations, historical context, and a complete user-facing workflow.

Some of the parts we are most proud of include:

  • Building an end-to-end decision stress-testing pipeline
  • Creating a structured Evidence Strength framework instead of using arbitrary AI confidence scores
  • Separating evidence, context, assumptions, and predictions clearly
  • Retrieving historical failure mechanisms without presenting them as proof of future failure
  • Building semantic company analogue retrieval from a large company dataset
  • Supporting optional financial stress testing without forcing users to provide financial data
  • Generating actionable validation experiments for weak assumptions
  • Building a complete report and analysis history experience rather than returning only raw AI text

Most importantly, we believe the final product encourages users to become more skeptical of their own assumptions in a productive way.

What we learned

Building Veritas taught us that the hardest part of an AI decision-support system is not generating more text. It is controlling what the system is allowed to claim.

We learned that retrieval alone does not make information evidence. A historical example may be relevant, but relevance does not prove causation. A similar company may provide useful context, but similarity does not mean the same outcome will occur.

We also learned the importance of combining probabilistic AI systems with deterministic logic.

The LLM is useful for understanding decisions, extracting assumptions, and explaining results. Deterministic calculations are better suited for financial metrics and structured evidence scoring where consistency matters.

Another major lesson was that transparency has to be part of the product experience. Users should be able to see not only the conclusion, but also why an assumption received a particular assessment and what evidence is still missing.

This changed how we thought about the product. Veritas is not designed to replace human judgment. It is designed to make that judgment more informed.

What's next for Veritas

There are several directions we would like to explore next.

We want to improve company analogue retrieval so that similarity considers not only semantic descriptions, but also factors such as industry, business model, customer segment, geography, and company stage.

We also want to expand source provenance. Future versions could provide richer citations and verified external sources for historical cases and benchmarks, allowing users to inspect the evidence behind each result more directly.

Another area is collaborative decision-making. Teams could compare assumptions, attach their own evidence, track which assumptions have been validated, and rerun an analysis as new information becomes available.

We would also like to make validation experiments more interactive by allowing users to record experiment results and watch the Evidence Strength of their assumptions change over time.

Ultimately, we see Veritas evolving from a one-time analysis tool into a continuous decision-validation workspace.

The long-term idea remains simple:

Don't just ask whether a decision sounds good. Stress-test what has to be true before you commit.

Built With

Share this project:

Updates

Submission history