Inspiration

We noticed that credit card discussions dominate personal finance communities — Reddit threads with thousands of upvotes debating Amex Platinum vs Chase Sapphire, YouTube reviews racking up millions of views, Google search spikes every time a welcome bonus changes. All this attention moves in waves, just like a stock price. We thought: what if you could actually trade on it? Forum.market proved this concept works for stocks. We wanted to bring the same idea to a space everyone understands — credit cards.

What it does

Toya Market is a simulated stock market for credit card popularity. We scan Reddit, Google Trends, YouTube, and CFPB complaint data to calculate a real-time Popularity Score (0–1,000) for every major credit card.

Users get $10,000 in play money and place trades:

  • Go long on cards they think will gain buzz
  • Go short on cards they think are overhyped

When the score moves in your favor, you profit. A global leaderboard ranks the best predictors. Zero real money, zero risk — just prediction skill.

How we built it

  • Next.js 16 + TypeScript — Full-stack app with server components and API routes
  • Supabase — PostgreSQL database, authentication, row-level security, and real-time subscriptions
  • Nia API — Web search and deep research across Reddit, news, and social media powering our data collection pipeline
  • Custom scoring engine — Normalizes signals from 4 data sources (social mentions, search interest, sentiment analysis, consumer complaints) into a single composite score using percentile ranking
  • Recharts — Interactive popularity score charts with time-range filtering
  • Atomic trade execution — PostgreSQL functions with SELECT FOR UPDATE row locking to prevent race conditions on balances

Challenges we ran into

  • Defining the index formula — Balancing 4 very different data sources (Reddit upvotes vs Google search volume vs CFPB complaints) into one meaningful number required careful normalization. A viral Reddit post shouldn't have the same weight as a government complaint.
  • Making the concept instantly clear — Early versions used jargon like "TAI" and "attention index" that confused testers. We rewrote everything to say "popularity score" and added a plain-English explainer with a concrete example. Clarity beat cleverness.
  • Real-time without complexity — We needed live price updates without building WebSocket infrastructure from scratch. Supabase Realtime subscriptions with a 30-second polling fallback gave us the best of both worlds.
  • Database migrations remotely — Our network blocked direct PostgreSQL connections (ports 5432/6543), so we worked around it using the Supabase SQL Editor and REST API for all database operations.

Accomplishments that we're proud of

  • 19 fully functional routes — from landing page to trading to leaderboard to card comparison, all compiling with zero errors
  • A data pipeline that actually works — Nia-powered collection across 25 credit cards, processing mentions and computing scores automatically
  • The landing page rewrite — going from generic SaaS template to a page where anyone understands the product in 5 seconds. "A stock market for credit card popularity" — that one line changed everything
  • Full trading engine — atomic trade execution with long/short positions, P&L tracking, portfolio management, and CSV export
  • Built the entire MVP in days, not months — 70+ files, 11 database tables, 4 API endpoints, complete auth flow, real-time updates, and demo-ready seed data

What we learned

  • Simplicity is harder than complexity — It took three rewrites of the landing page to get the explanation right. The technical system was easier to build than the one paragraph that explains what it does.
  • Paper trading removes every barrier — No KYC, no payment integration, no compliance. Users can start in 30 seconds.
  • Supabase is incredibly powerful for rapid prototyping — Auth, database, real-time, and row-level security out of the box meant we could focus on product logic instead of infrastructure.
  • Credit cards are a surprisingly good trading asset — They have real, measurable attention signals, predictable catalysts (bonus changes, fee increases, new launches), and a huge community generating constant data.

What's next for Toya Market

  • Automated daily pipeline — Cron-scheduled Nia data collection and score recomputation so the platform runs hands-free
  • Price alerts — Notify users when a card's popularity score crosses a threshold they set
  • Social features — Trade copying, user profiles, and discussion threads on each card
  • Advanced trading — Limit orders, stop-losses, and portfolio analytics with win-rate tracking
  • Mobile app — React Native version for trading on the go
  • Expand beyond credit cards — The same engine could track popularity for banks, fintech apps, or any product with measurable online attention

Built With

Share this project:

Updates