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 UPDATErow 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
- nextjs
- omnara
- react
- supabase
- tailwind
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.