Built CoinMarketCap for US stocks: live market caps, charts, screener, and an AI assistant
A real-time market-cap site for US equities, the way CoinMarketCap works for crypto. Live rankings and prices, interactive charts, fundamentals, a screener, sector heatmap, earnings/IPO/dividend calendars, watchlists, portfolio tracking, head-to-head compare, an AI stock assistant, and a Hyperliquid-style $SCAP token.
Built the whole thing end to end: the web app, marketing site, mobile app, the data ingestion pipeline, billing, and deploys. A solo full-stack build across a Turborepo monorepo.
View Project →
What It Is
StockMarketCap ranks every US stock by market cap in real time and makes the whole market explorable in one place. Each company gets a page with live price, fundamentals, and interactive charts, and the rest of the product wraps around that: a screener, a sector heatmap, earnings, IPO, and dividend calendars, watchlists, portfolio tracking, and head-to-head compare.
On top of the data, an AI stock assistant answers questions in plain language using live numbers, and a Hyperliquid-style $SCAP token gives the site its own trading terminal feel. The goal was to make equities as fast and fun to browse as crypto markets already are.


Stack & Architecture
Built as a Turborepo + pnpm monorepo with a web app, a marketing landing site, a mobile app, a data ingestor/worker, and a shared db package so every surface reads the same schema. The web app runs on Next.js 15 (App Router) and React 19, with Drizzle ORM over Postgres on Railway.
Market data comes from Twelve Data, normalized and persisted by the ingestor so pages serve fast from the database instead of hitting the upstream feed on every request. Stripe powers Plus ($20/mo), and everything deploys on Railway via nixpacks.

Hardest Challenges
Live data at scale was the core problem. The ingestor batches and paces requests to stay inside the market feed's rate limits, fans symbols out across the universe, and writes snapshots the app reads from, so rankings stay fresh without hammering the provider or slowing pages down.
Two other pieces took real work: a webhook-free Stripe checkout flow that confirms and provisions Plus without depending on inbound webhooks, and an OG/share-image system that renders rich, branded preview cards for any stock or ranking. Wiring a multi-app monorepo to deploy cleanly on Railway rounded it out.

Outcome
Shipped a complete, live product at stockmarketcap.io spanning web, marketing, and mobile, backed by a real-time ingestion pipeline and paid Plus tier, all from a single monorepo.
The architecture keeps live market data fast and cheap to serve, and the shared db package means new surfaces can be added without rebuilding the data layer.