
Built the right way
A small app with a few things done carefully — auth, design, sharing, and honest handling of a restricted API.
OAuth done right
Authorization Code flow with PKCE, no client secret. Access and refresh tokens live in an encrypted, httpOnly server session and refresh transparently — the browser never touches a Spotify token.
A receipt you can print
A cohesive thermal-paper design system: scalloped tear edges, a rubber-stamp accent, and a line-by-line 'print' animation whenever you switch time ranges.
Share links that unfurl
Your receipt renders to an image on the server (Satori) and rides on a stateless, signed link that previews inline when pasted into Slack, iMessage, or a tweet — no database required.
Adapts to a locked-down API
Spotify has cut most of its API for new apps. This one probes what actually works, builds only on that, and caches per user to stay within rate limits.
See it in action

Your listening receipt
Top artists, tracks, genres and decades across the last 4 weeks, 6 months, or all time — printed on thermal paper.

Your playlist library
A collection-level breakdown: owned vs followed, your biggest playlists, and totals — built from the metadata the API still allows.

Light or dark, same paper
The whole app is theme-aware — the receipt becomes dark thermal paper in dark mode, accent and all.
Frequently asked questions
The short version — the live demo has the rest.
Take a look
The demo's live with sample data — click through the receipt, the print animation, and the share flow, no login needed. (Real sign-in is limited to allowlisted Spotify accounts, per Spotify's dev-mode rules.)