Spotify Stats Universe — System Design
12 components · 9 links · 5 zones
Loading graph…
Legend
- Standard node
- External / inferred (dashed)
- Database / persistent store
- Load balancer / proxy
- Zone band (small-caps title)
- Link / dependency
- Data flow (dashed)
- Bidirectional (request/response)
Inferred components — evidence
- All five external-service nodes (Zone 5) are drawn dashed as third-party endpoints; their hostnames are verified literals in code: https://api.spotify.com/v1, https://accounts.spotify.com/api/token, and https://accounts.spotify.com/authorize.
- The localStorage node is inferred from Zustand persist middleware with store keys spotify-auth-storage and dashboard-storage (stores/auth-store.ts, stores/dashboard-store.ts). Solid border — mechanism is explicit.
- The HTTP port :3000 on the client→server edge is the development host only (next dev in package.json); production runs on Vercel (region iad1, vercel.json) where the public port is [unresolved] from code.
- The Genre Fallback in-memory map is verified (ARTIST_GENRE_MAP in genre-stats/route.ts) and used only when the Spotify API returns no genres.
- No conventional database, cache server, message broker, or background worker was found; persistence is limited to browser cookies and localStorage. These categories are intentionally absent rather than inferred.