- Apple Music played tracks: https://developer.apple.com/documentation/applemusicapi/get_recently_played_tracks
- Design inspiration: https://datatracker.ietf.org/doc/html/rfc6570
- Code inspiration: https://leerob.io/blog
- Index of sites linked to: https://blog.jim-nielsen.com/about/
- Tufte CSS: https://github.com/luhmann/tufte-markdown/blob/master/examples/md/tufte.md
- https://edwardtufte.github.io/tufte-css/
- https://nulliq.dev/posts/vector-angle-1/
- https://github.com/panr/hugo-theme-terminal
- https://j3s.sh
- BBS design
https://matrix.to/#/@mshick:matrix.org https://discordapp.com/users/312396147073220619
This is a Next.js project bootstrapped with
create-next-app
.
-
Set up authenticated music endpoint,
renew-token
. Create secret stored in Vercel env. -
Set up GitHub repo with a secret, same as in vercel env.
-
Set up a GitHub Actions workflow to run periodically and:
- Hit the
renew-token
endpoint, using secret - Get response with the new token, ensure it isn't shown in the action logs
- Using the vercel cli, (needs
.vercel
config to link the repo) update theMUSICKIT_MUSIC_USER_TOKEN
env var. - Trigger a new deployment.
- Hit the
- Every X minutes, request /now-playing
- /now-playing checks redis for the most recent item
- If there is an item, check the created time and the duration, if we're in the window return that item as the current item
- If we did not return, get the latest from Apple, store to redis, return