Inspiration
A sudden midnight pivot told us that building a 'Bloomberg Terminal/TradingView for X' wasn't imaginative enough, not when we were up against 1000 of Europe's top talent. Now millions of data points are accessible to a wider audience.
We were also frustrated by how impossible it is to monitor over 500 markets at once. We wanted something that lets you see the signals light up. Signal discovery as an interactive spatial experience.
Additionally, prediction markets like Polymarket are the most efficient way to discover real-world prices, but they aren’t instant. When breaking news hits, there’s a brief window where reality shifts yet the market price hasn’t caught up. We wanted to build an AI system that detects this news-to-price lag in real time and surfaces actionable alpha before the crowd reacts.
How we built it
- Next.js 14 as the unified framework
- LangGraph StateGraph for structured agent orchestration: 4-node pipeline (fetchNews → estimateProbability → calculateDivergence → generateSignal) with conditional edges that exit early when there's no news or the signal isn't tradeable
- Claude Opus 4.5 via Vertex AI for probability estimation: the market price is hidden from the LLM to avoid anchoring bias
- Bayesian logit-space EV engine: converts probabilities to log-odds, combines news shift + time decay as additive features, applies a real cost model, and uses a conservative lower-bound gate so only genuinely tradeable signals pass
- Priority queue orchestrator with 4 watchers (price changes, news matches, time-to-expiry, RSS feeds) that dynamically prioritizes which markets to analyse next
- React Three Fiber + D3-force for the 3D galaxy visualisation
- TradingView lightweight-charts for professional-grade charting with OHLC, volume, Darwin overlays, and crosshair sync
- SQLite via Drizzle ORM for persistent signal storage across restarts
- Solana SPL Memo for on-chain signal commitment (hash now, reveal later)
Challenges we ran into
- Probability math is deceptive: naive EV = estimate - price breaks down near the tails (a 10% shift near 90% is far more informative than near 50%). We had to implement proper arithmetic with weighted feature combination to get meaningful signals
- Anchoring bias in LLM estimates: early versions showed the market price to Claude, which caused it to anchor near the current price. Hiding the price and letting the LLM estimate independently dramatically improved signal quality
- Cost modelling for actionability: a signal that says "+5% EV" is useless if fees, slippage, and resolution risk eat 6%. We built a full cost model and conservative lower-bound gate so every signal that surfaces is genuinely tradeable
- Scaling to 500+ trades. We couldn't analyse every trade on every cycle.
Accomplishments that we're proud of
- End-to-end pipeline works in real time, from RSS feed article → LLM matching → agent analysis → Solana commitment → UI notification, all within seconds of a news event
- The Bayesian EV engine is novel: logit-space feature combination with real cost modelling and conservative lower-bound gating
- Unique, creative galaxy visualisation makes 500+ trades browsable: you can visually spot hot clusters, zoom into constellations, and drill down to individual charts
- On-chain verifiability: every signal is committed to Solana before the position can reprice. This creates a provable track record that can't be fabricated after the fact
What we learned
- LLMs are surprisingly good probability estimators when given the right context and the right guardrails
- Real-time news monitoring at scale is hard: RSS feeds vary wildly in format, frequency, and reliability. Matching articles to markets requires LLM intelligence, not just keyword matching
- 3D visualisation can be more than a gimmick: when you have hundreds of data points with natural clustering (categories), spatial layout genuinely aids comprehension compared to flat grids and provides a more intuivite way to think about markets
What's next for Polyverse
Full sound immersion. Better graphics. More data. More visualisation.

Log in or sign up for Devpost to join the conversation.