Inspiration

We're Persian. Our dad escaped Iran in 1979 during the revolution, so this conflict is personal for us. I work at Corvic AI, an AI startup, and before that I was at Tesla. My brother Julian is studying quantitative finance. We wanted to combine what we both know and build something that connects global conflict to financial markets in a way that actually makes sense.

What it does

Manatee Terminal is a geopolitical intelligence platform that tracks 10 active conflict zones on a 3D interactive globe and turns them into trading opportunities. Click on any conflict and you get AI powered analysis with threat levels, market impact, correlated tickers, satellite imagery, live news with AI summaries, video intelligence, voice briefings, and a Markov chain simulation modeling escalation probabilities. The AI Trade Desk feeds all 10 conflicts into GPT-4o-mini and generates a full portfolio with real tickers, entry prices, stop losses, targets, confidence scores, sector exposure charts, and a correlation matrix. Every portfolio runs through 2,000 Monte Carlo simulations over 180 days with fan charts, return distributions, and full risk stats. The Conflict Tournament generates a separate portfolio for each of the 10 war zones, sims all of them, and ranks them on a leaderboard to answer which conflict is the most profitable to trade around right now. There's also live military aircraft tracking, live ship tracking through AIS streams, a proximity based threat gauge on the globe, and a conversational AI chat for any conflict.

How we built it

The frontend is React with Three.js and react-globe.gl for the 3D globe, particles, and raycasting. All the charts, gauges, donut charts, heatmaps, and fan charts are custom SVG. The backend is Python FastAPI handling all the AI calls, news aggregation, and live data feeds. AI analysis and portfolio generation runs through OpenAI's GPT-4o-mini API. Monte Carlo simulations use geometric Brownian motion with Cholesky decomposed correlation structures so positions in the same sector actually move together. Satellite imagery comes from Esri World Imagery tiles. Aircraft data comes from OpenSky Network and ship tracking from AISStream. Everything caches so repeated lookups load instantly.

Challenges we ran into

Getting Three.js particles to show up in the right place on the globe was brutal. The three-globe library uses a specific coordinate system and we had the formula wrong, so particles were rendering on the opposite side of the earth. We had to dig into the three-globe source code in node_modules to find the actual polar to Cartesian conversion. Satellite tiles for ocean based conflicts like Hormuz and Taiwan kept showing water because the coordinates were literally in the sea, so we had to manually override them to nearby land features. The Monte Carlo correlation matrix was showing all zeros at first because every position used independent random draws. We had to build a sector based correlation structure and use Cholesky decomposition to generate correlated returns. Making the threat gauge actually respond to cursor position on a 3D sphere required raycasting from screen space to globe surface coordinates.

Accomplishments that we're proud of

The Conflict Tournament is the thing we're most proud of. Generating 10 separate AI portfolios in parallel, running Monte Carlo on all of them, and ranking which war zone on earth gives you the best trading edge, all in about 15 seconds. The whole platform feels like a Bloomberg Terminal crossed with an intelligence briefing and we built it in a weekend. The Monte Carlo simulation is actually realistic with correlated assets, sector groupings, and proper geometric Brownian motion. The caching system means nothing re-fetches unnecessarily so the whole app feels fast even though there's a ton of AI calls behind it.

What we learned

How Three.js coordinate systems work with geographic projections. How to build Monte Carlo simulations with correlated random variables using Cholesky decomposition. How to structure a full stack app where the frontend needs to orchestrate dozens of async AI calls without feeling slow. How to make AI generated financial analysis actually useful by giving it strict schemas and realistic constraints instead of letting it ramble. How much satellite imagery varies in quality depending on whether your coordinates are on land or water.

What's next for Manatee Terminal

Historical backtesting with real market data so we can validate whether the AI portfolios would have actually made money during past conflicts. Live price feeds for every ticker in the portfolio showing real time P and L against the AI's entry prices. Stress test scenarios where you can simulate events like Hormuz closing or a Taiwan blockade and see how the portfolio reacts. A proper options strategy overlay suggesting hedging plays for each position. And eventually a mobile version so you can check your geopolitical risk exposure from anywhere.

Built With

  • aisstream-api
  • axios
  • css
  • esri-world-imagery-api
  • fastapi
  • gpt-4o-mini
  • httpx
  • javascript
  • newsapi
  • openai-api
  • opensky-network-api
  • pydantic
  • python
  • react
  • react-globe.gl
  • recharts
  • svg
  • three.js
  • uvicorn
  • vite
Share this project:

Updates