Inspiration

Most of a startup’s value comes down to a bet on its future: Will it raise its next round? Sustain its growth? Reach a certain number of users by a deadline? Venture capitalists make these predictions every day, mostly from pitch decks and a handful of conversations. These investors lack an unbiased, complete view of the startup and instead rely on what the startup tells them. We set out to give investors a way to tap into the collective insight of the public and a startup’s own customers, without relying on surveys, cold calls, or the company’s own narrative. Prediction markets are one of the most efficient tools we have for turning scattered knowledge into a single number, but they almost never cover private startups, and when they do there's no objective anchor to start from. We wanted to build that missing piece: a place where anyone can predict startup outcomes, where a model built on real public data sets the starting price, and where investors can see predictions from the model, the crowd, and actual product users, and learn from the gaps between them.

What it does

Senzi is a prediction market platform for startup outcomes, allowing users to predict startup metrics and letting investors gauge general customer and public opinion on a startup's product.

For forecasters (the public side):

  • Every market is a precise YES/NO question with a deadline, explicit YES and NO criteria, and a named public source that settles it, for example "Will Stripe's npm downloads reach 4,000,000 in the 7 days ending Jan 15?". The terms lock when the market opens.
  • Traders start with 1,000 virtual credits and buy YES or NO shares from an LMSR market maker, so prices move smoothly with every trade and long-shot outcomes are cheap.
  • Each market shows three separate lines:
    • the model estimate from public data
    • the crowd price from everyone's trades
    • the verified-users line, made up of trades from people who've proven they use the product
  • Some markets are verified-users only: you prove you use the product with an access code or a screenshot reviewed by an admin.
  • After the deadline, one admin proposes the outcome with evidence and a second must approve it. Each winning share then pays 1 credit; broken questions are voided and refunded in full.
  • Profiles track balance, profit and loss, positions and every credit movement. Market Replay lets you scrub through how expectations changed over time.
  • The site works in eight languages and includes read-aloud, dyslexia-friendly text, high contrast, color-blind-safe charts and reduced motion.

For VC firms (Senzi Intelligence)

  • Accounts: firms sign up, get verified, and work inside a private organization with owners, admins, analysts and viewers. VC accounts can't trade, so nobody forecasts on their own firm's questions.
  • Asking a question: pick a company we collect public data for, then a binary outcome from a dropdown. The outcomes are:
    • weekly npm or PyPI downloads above a threshold
    • web traffic rank
    • open job postings on a date
    • a new SEC Form D filing, which signals a fundraise

The question and its YES/NO criteria are generated from a template, so they're always well formed and resolvable.

  • The model sets the opening price, never the firm. If there isn't enough data to price a question, forecasting can't open.
  • Who can trade and prize pools: firms choose whether the market is open to the public, to verified product users, or both. They can also add a prize pool that's split among traders in proportion to the credits they gained once the market settles.
  • Research tools:
    • a dashboard of active questions and big moves
    • company pages with scraped signals and the firm's private figures
    • following and alerts on price moves, deadlines and resolutions
    • side-by-side comparisons and exportable reports
  • Tyche, the AI research assistant, answers questions about any question or comparison using only data the firm is allowed to see, and cites every claim.

How we built it

Stack: Next.js 16 (App Router), React 19 and TypeScript, Postgres with Prisma 7, Clerk for sign-in, Zod for validation, Tailwind, Vitest and Playwright, deployed on Vercel. We split the work four ways: backend and security, the forecasting engine and model, community UI, and VC Intelligence. Each piece talked to the others through agreed contracts.

Data and model

  • Scrapers collect public signals for each company from:
    • npm and PyPI downloads
    • GitHub stars and commits
    • job boards (Greenhouse, Ashby, Workable)
    • SEC EDGAR Form D filings
    • Tranco web traffic ranks
    • Hacker News mentions
  • Download questions: the model fits a robust trend to weekly history and estimates the probability of crossing a threshold with an uncertainty band. With little history, it pulls the estimate toward 50%.
  • Other question kinds: hiring, traffic and funding filings each have their own estimator.
  • Model updates: the model refreshes only when new data arrives, never from trades. Before the first trade, its estimate sets the opening price; afterwards it moves only the model line.
  • Firms' private figures: a firm can add its own figures to fill gaps in a metric's history. Those figures stay inside the firm and never resolve a market.

Forecasting engine

  • LMSR pricing: liquidity scales with the starting balance and is lower when the model's confidence is low, so early trades move uncertain markets more.
  • One trade ledger: the verified-users line replays only verified traders' trades from the same starting price, so it costs nothing extra.

Credits and trust

  • Append-only ledger: every balance change writes an append-only ledger row in the same database transaction, with an idempotency key so retries never pay twice.
  • Enforced in the database: balances can't go negative, and a scheduled job checks every balance against its ledger history.
  • Settlement: runs as a retryable state machine.
  • Permissions: every check happens on the server, private records return "not found" to outsiders, and admin actions are audit-logged.

Tyche

  • Model: runs on Meta's Muse Spark model.
  • Evidence in: for each question we build an evidence package of only the data the asker can see, with stable IDs, plus "key stats" computed in code so the AI never does arithmetic.
  • Checks out: a citation checker verifies every claim against that evidence before anything is shown, and rewrites the answer once if a check fails.
  • Testing: we measured it against a 20-question graded evaluation set.

Testing

More than 700 automated tests:

  • Unit tests: pricing math, permissions and the model.
  • Integration tests: run against a real Postgres database.
  • End-to-end scenarios: multi-trader markets, settlement, voids, failed-settlement retries and prize pools, checking every balance down to the credit.

CI runs lint, type checks, all tests, migrations, the seed and a production build on every pull request.

Challenges we ran into

  • Questions you can price vs. questions people ask. Our first version let investors type any question and used AI to match it to data. In practice the matching was unreliable, and many questions (like "will they raise a Series E?") can't be priced from public data. We switched to structured outcomes that each resolve from a named public source. That made every question well formed, every opening price model-backed, and every resolution checkable.
  • Making AI trustworthy for investors. Language models confidently invent numbers. We built Tyche so it can only cite evidence that exists and is permitted. Derived numbers are computed in code rather than by the model, and any answer that fails the citation check is rewritten once. Uncited sentences are shown greyed out as "not from your data".
  • Money-like correctness with fake money. Credits are virtual, but they need to behave like a bank ledger. Concurrency, retries and partial failures all had to be safe. Our end-to-end tests caught a real bug: the prize pool computed gains from ledger rows that the engine never tagged with a market, so in real use it would have paid nobody. We fixed it to read settled forecasts instead.
  • Privacy across firms. Firms enter private figures, notes and restricted questions. We had to guarantee none of it leaks into public pages, other firms' views, market tables or AI prompts, and we tested each boundary.
  • Four people building in parallel. Several features were built concurrently by different teammates, sometimes overlapping, such as two versions of question pricing. Careful merges kept the main branch working.

Accomplishments that we're proud of

  • Every opening price comes from a model built on real public data, not a guess, and the model, crowd and verified-user lines sit side by side so the gaps between them become the insight.
  • Verified-users markets: a genuinely new kind of signal, forecasts from people who actually use the product, verified by access code or screenshot.
  • A credit system that behaves like a real ledger: append-only, idempotent, safe under concurrent trades, and verified by tests that check every balance to the credit through full market lifecycles.
  • Tyche, an AI assistant built for a high-stakes audience: every factual sentence cited, numbers computed in code, investment advice and nonpublic information declined, and quality measured with a graded evaluation set.
  • A clear workflow for investors to ask good questions: pick a company and an outcome, see the model's price instantly, choose who can trade, and add a prize pool.
  • Accessible from day one: eight languages and a full set of accessibility options including light/dark mode and adjustable font size for readability.
  • Over 700 automated tests and a CI pipeline that builds, migrates and seeds on every change.

What we learned

  • Structure beats cleverness for trust. Templated, resolvable questions produced better markets than free-text questions with AI matching. The best use of AI here was explaining data, not inventing questions.
  • Getting money right means testing whole flows, not just functions. Unit tests passed while a real payout path was broken; only an end-to-end scenario with real settlement exposed bugs.
  • Permissions are a product feature. Designing "who can see what" up front shaped the schema, the APIs and the AI assistant, and made the private VC workspace possible.
  • Interfaces let a team move fast. Agreeing on contracts between the engine, ledger, model and UI let four of us build in parallel and merge safely.

What's next for Senzi

  • Startups issuing their own access codes, so verified-user markets can scale beyond admin-created codes, plus more ways to prove product use, such as account integrations.
  • More market metrics: GitHub activity, app store rankings, pricing-page changes and more SEC filing types, each with its own resolution source and estimator.
  • Calibration and track records: publish how well the model, the crowd and verified users predict over time, and use that to weight the lines.
  • Richer tools for investors: email digests of alerts, AI weekly briefings across a firm's followed companies, and exportable PDF reports with "what changed since last time".
  • Community growth: reputation and leaderboards for accurate forecasters, and prize pools sponsored by firms to attract informed traders.
  • Pilots with real firms and startups to validate whether the gap between the model, the crowd and product users really predicts outcomes better than any one alone.

Built With

Share this project:

Updates

Submission history