Rap Market Index
A paper-money application where users trade artist shares, manage portfolios, and compare performance. Supabase stores accounts, holdings, transactions, market observations, and quote history; scheduled server-side jobs validate source data and calculate market updates.

Trading operations update persistent cash, holdings, and transaction records.
The Next.js application uses Supabase authentication and PostgreSQL-backed state. Buy and sell operations update virtual cash and positions, while portfolio views calculate current value and profit or loss from stored transaction and quote data.
Scheduled jobs convert source observations into versioned market updates.
Server-side workflows collect audience, release, media, and market-activity observations. Validation and shared pricing rules process those inputs into quotes, and each run records its model version and source coverage without rewriting prior price history.
Unit and end-to-end tests cover pricing, trading, and data-quality rules.
Vitest suites validate market calculations and shared rule behavior. Playwright tests exercise public pages and user workflows. Regression fixtures reproduce reported failures while testing the underlying rule across multiple artists or market categories.