Inspiration

Most investing interfaces show a chart and a confident action. They rarely show uncertainty, dissent, risk constraints, or whether a recommendation improved over time. That makes it easy to confuse a signal with understanding.

I wanted to build an experience where a user can inspect a decision before trusting it. A good outcome is not always a trade; sometimes the most useful decision is a documented hold.

What it does

The Committee turns real market data into an auditable investment debate. Five specialist agents review the same market snapshot in two rounds: Quant, Risk, Macro, Sentiment, and Contrarian. A Chairman then records the final paper-trading decision.

The system opens a simulated position only after weighted agreement, a positive Chairman verdict, a valid Risk Manager assessment without veto, and portfolio-capacity checks. Every decision stores provenance, risk controls, outcome tracking, and an evidence receipt.

The dashboard includes three desks — Crypto, Commodities, and Macro — plus a public leaderboard, War Room transcripts, Model Fingerprints, a counterfactual Decision Integrity Lab, and a cryptographic Proof Ledger.

This is educational paper trading only. It never sends orders to a broker and is not financial advice.

How we built it

The application is built with Node.js, Express, MongoDB, Mongoose, Yahoo Finance market data, vanilla JavaScript, Chart.js, Docker Compose, and PM2 deployment support.

I built and extended The Committee with Codex and GPT-5.6. Codex accelerated the class-based architecture, agent orchestration, test suite, dashboard, multilingual accessibility work, deployment configuration, and evidence system.

The inference layer is provider-agnostic. For the recorded demo, strict JURY_MODE disables local fallback: every displayed response must come from a configured remote provider or the debate fails. The effective provider and model are persisted with every response, so local fallback is never presented as a multi-model debate.

Challenges we ran into

The hardest problem was not producing a vote; it was making the vote credible. A fallback can keep an app running but become misleading if it is visually indistinguishable from a real model response.

I solved that by recording effective model provenance, making cross-provider claims conditional on real remote responses, and adding a strict jury mode that refuses local fallback entirely.

I also avoided building a pseudo-broker. The app has no trading integration, enforces explicit risk gates, models fees, and remains educational by design.

Accomplishments that we're proud of

  • A complete runnable product rather than a static mockup.
  • A paper-trading decision cannot bypass risk, exposure, or Chairman controls.
  • Every debate becomes a verifiable evidence record.
  • The interface communicates uncertainty and dissent instead of only showing a recommendation.
  • The product is reproducible in zero-cost local mode and verifiable in strict remote mode for a live demo.

What we learned

Explainability needs product constraints, not just a polished chart. Provenance, failure handling, and reproducibility must be designed into the workflow before the UI is built.

I also learned that a hold can be a useful, first-class outcome when the system makes uncertainty visible.

What's next for The Committee — Explainable AI Paper-Trading Lab

  • Add user-defined financial learning goals and watchlists.
  • Add historical scenario replay with explicit data-source timestamps.
  • Add read-only share links for individual auditable debates.
  • Evaluate calibration over longer paper-trading windows before considering broader research use.

Built With

Share this project:

Updates