A crowdsourced aesthetic ranking system for NFT collections. Vote on head-to-head matchups to build community-driven leaderboards.
- CryptoPunks - All 10,000 punks with trait-based aggregations
- Opepen - 16,000 tokens across 18 sets with artist/set leaderboards
- 1v1 Voting - Simple head-to-head comparisons
- ELO Rankings - Chess-style rating system tracks aesthetic consensus
- Leaderboards - Individual tokens, traits (punks), and sets/artists (opepen)
- Live Ticker - Real-time stats, top performers, recent upsets
- Match History - Track any token's voting history and rank
- API - Public endpoints for rankings, stats, and individual tokens
- Next.js 15 (App Router)
- SQLite (better-sqlite3) with WAL mode
- Tailwind CSS
npm install
npm run devGET /api/leaderboard- Paginated punk rankingsGET /api/traits- Trait aggregations by avg ELOGET /api/punk/[id]- Individual punk stats + historyGET /api/ticker- Live stats for ticker
GET /api/opepen/leaderboard- Paginated opepen rankingsGET /api/opepen/sets- Set/artist aggregationsGET /api/opepen/[id]- Individual opepen stats + historyGET /api/opepen/ticker- Live opepen stats
GET /api/v1/rankings- Full rankings exportGET /api/v1/stats- Collection statsGET /api/v1/punk/[id]- Punk dataGET /api/v1/traits- Trait data