SteamScope is a Steam-only player statistics MVP built for local demoability first. It ships a premium landing page, a full demo mode, a share-card page, real stat computation, and a Steam OpenID login scaffold that can be completed with environment variables.
- Next.js 16 + TypeScript + Tailwind CSS 4
- Premium gaming-dashboard UI with restrained motion
- Demo library with real statistic derivation
- Steam player dashboard with:
- owned games total
- total playtime
- average playtime per game
- recently played
- top 10 most played
- backlog / bought-but-barely-played
- 8 fun stats
- Screenshot-ready share card page
- Steam OpenID login routes and live import scaffold
- Prisma + SQLite schema for future persistence
- Vitest coverage for the stat engine
/landing page/player/demofull demo dashboard/share/demodemo share card/loginSteam login and env setup page/api/auth/steamSteam OpenID redirect/api/auth/steam/callbackSteam OpenID callback
- Install dependencies:
npm install- Copy environment variables:
cp .env.example .env- Start the app:
npm run devNEXT_PUBLIC_APP_URL=http://localhost:3000
STEAM_WEB_API_KEY=your_steam_web_api_key
DATABASE_URL="file:./dev.db"Notes:
- Demo mode does not require any Steam credentials.
- Steam OpenID works as the login skeleton entry.
STEAM_WEB_API_KEYis required to hydrate live owned games after login.
npm run dev
npm run build
npm run lint
npm run test
npm run format
npm run prisma:generate- The live import path currently uses Steam Owned Games + Recently Played endpoints.
- Demo mode is the polished end-to-end showcase path.
- Prisma models are scaffolded for session tracking and share snapshots, but the MVP does not require persistence to run locally.
See ROADMAP.md.