TEAL.FM RELATED QUESTION: HOW DO YOU LISTEN TO MUSIC. STREAMING SERVICES, LOCAL FILES, MEDIA SERVERS, DESKTOP OR MOBILE OPERATING SYSTEMS ALL THE DETAILS PLEASE, THANK YOU
On Friday, September 19th of 2025, I (@mmatt.net) sent out a Bluesky post asking for community feedback on how exactly the public listens to their music nowadays. I also sent a similar line of questioning to my friends at @gusic.opn.haus. These antics all have the goal of: let's get people tracking on Teal.
Community member @baileytownsend.dev has been tracking his music listening habits on Teal since around May of this year, using our work-in-progress tracking solution: piper [github, tangled]. Piper has been built up by Bailey, Natalie, and Loveless to be our first party tracking solution. Right now, it currently supports Spotify and (experimental) Last.fm syncing. I'll let one of them do the talking on the technical details about piper (I know about as much go as I know Spanish) on a later note, but for now what you need to know is that it polls your streaming service of choice for what you are listening to and makes a Teal.fm record (fm.teal.alpha.feed.play) for what you're currently listening to.
I want to open up a public instance of piper for everyone to use to start tracking their listening now while we are getting the frontend application ready to use.
Before we get too into the weeds, let's back up and explain how Teal.fm works.
visions: How does Teal.fm work.
Teal is built in three parts.
1. The Frontend Application
This will be the bsky.app of Teal. You'll be able to view your profile with your plays, along with other profiles. You'll be able to make posts with songs, interact with other posts (likes/reposts/comments), view your timeline, etc. This will be what replaces the current landing page at teal.fm, and will also be our mobile app.
2. Our AppView/API
Handles everything to get data from our database & your PDS, onto your screen through the Frontend Application.
3. The Song Tracker / Stamper / Song Ingest
This is the part that actually tracks what you are listening to. In the future, this (referring to piper) may be integrated into the Frontend Application so that you have a seamless experience connecting your accounts.
Piper is our first party effort at this. However, anyone is more then welcome to build one for themselves. All it takes is 1. a way to programmatically pick up to what you are listening to, and 2. a way to create a
fm.teal.alpha.feed.playrecord on your PDS. Your PDS and our AppView take care of the rest.
i finally understand: Now, did the audience help answer your question?
Yes! Thank you everyone for the responses on my original post, I really appreciate it! Here are the main things I've gathered.
1. Spotify Support
We already support Spotify in piper, yay!
2. YouTube Music / Tidal Support
A lot of y'all use YouTube Music and Tidal. At this time, both of these services' API aren't friendly enough to provide us with the data we need for tracking your listening. Tidal has native Last.fm support, which means you can use piper's Last.fm syncing to get tracking from Tidal. YouTube on the other hand has nothing of the sort. The best way to go about tracking your listening on YouTube is by using a web browser and the WebScrobbler extension.
3. Apple Music Support
I really want Apple Music support on piper. Luckily enough, Bailey has guided me in the right direction with the MusicKit documentation to where Apple Music support should be coming soon to piper. No promises haha, but everything is pointing in the direction of this being possible!
If you use the Apple Music Client: Cider, @regnault.dev is working on an application to track from Cider! You can check out the repo on Tangled.
4. (lovingly) You Guys Are Nerds
A significant portion of the replies here have made me realize, (in a very positive tone) you guys are nerds! I mean, I can't say much because I'm the huge nerd who wanted this project to exist, but y'all surprised me here!
Quite a bit of repliers use modified Streaming Service clients, local files on various media server software and local music software, Linux & Android, internet radios, etc. etc.
Any non-streaming service stuff is outside of the scope of piper BUT, making some of these work isn't outside of our thought bubble, just might be the lowest on the priority. Foobar2000/MusicBee/Jellyfin plugins are doable. A lot of the other stuff would either require modifying the client itself, or using a Desktop Application to listen to your system's "Now Playing" status. This stuff, again, wouldn't be immediately ignored by us, but it's just the lowest priority.
The best part of Teal is how incredibly open ATProto is. If we don't make a way to track your music from your favorite niche music software, you are more then welcome to make your own! You don't need our approval or verification to make additions to your own listening history.
5. WebScrobbler
Mentioned above, WebScrobbler is a browser extension for submitting your listening status to services like Last.fm or ListenBrainz. We have been thinking about trying our hand at getting Teal added as a service to the extension! It would vastly improve the number of services you can submit to, such as YouTube, Soundcloud, Bandcamp streaming, and more. I personally use WebScrobbler all the time for watching music videos on YouTube and listening to tunes on Soundcloud. Should be easy enough, especially if we implement compatible Last.fm / ListenBrainz API routes into piper.
6. Compatible Last.fm / ListenBrainz API routes
These routes would make it easier to integrate Teal into existing plugins, services, and applications. This has been something we've been wanting to add to Teal since day one, so these will be coming sooner or later.
forever: Our priorities as of now, and where we're going.
In regards to piper, our priority right now is:
1. Apple Music
2. Last.fm / ListenBrainz API compatibility
3. WebScrobbler support (not apart of piper, but y'know)
4. stable Last.fm sync
5. everything else.
In regards to the project as a whole:
1. Get a public piper instance running & getting everyone to start tracking.
2. Refine frontend experience to focus on music tracking/statistics, and make it available to use to everyone on the web.
3. Roll out the Social Side.
More info on Teal's Social Side at a later date. :)
anthems: From the heart, to the reader.
Thank you for reading the first Teal Note, I really appreciate it! Thank you for replying to my post, I appreciate it a ton! And most importantly, thank you for caring about Teal.fm. I see your pleads for the best place for tracking and sharing music! With both me and Natalie being occupied full time (me: full time student & part time retail, Natalie: full time @stream.place) it may take a while for the visions of Teal to truly come to fruition, but this limbo of waiting will hopefully be worth it.
With Love,
Matt M.
@mmatt.net, Technologist at Teal.fm