✨Discover storytelling in the AI age with Pixar's Matthew Luhn at Sanity Connect, May 8th—register now

This is My Jam

By Ash

A picker for getting tracks from iTunes, a feed of my favourite tracks, and automated Tweets when I publish (with GROQ-powered webhooks).

This is My Jam feed view.
This is My Jam track view.
Automated This is My Jam Tweet, with generated Open Graph image.
Track editor.
Album editor.

About the project

This was a really fun project! I wanted to add a feed of my favourite tracks to my personal site. Sanity turned out to be an awesome choice for the backend. I built a plugin to make choosing and managing tracks easier; it uses the iTunes API to search for tracks, and the Odesli API to find links to tracks on various streaming platforms.

When a track is selected from search, documents are automatically created for the artist and the album. The high-resolution album artwork is downloaded from iTunes and uploaded to Sanity. A Vercel serverless function is used to communicate with the Odesli API, which disallows cross-origin requests. The various streaming links provided by Odesli are then automatically added to the track document.

This project was created before Sanity UI was available. When I have some spare time, I plan to switch to components from Sanity UI.

Whenever a new track is published, a GROQ-powered webhook triggers a serverless function that Tweets the link to the jam with the #ThisIsMyJam hashtag. Another serverless function automatically generates an Open Graph preview image for it.

I can see some of these tools being handy for artist websites. Ultimately, I want to start a music blog!

Contributor