audio streaming app plyr.fm
at 94cfc90da469e02016c2da2017358377f10272e7 56 lines 1.4 kB view raw
1--- 2title: plyr.fm docs 3description: documentation for plyr.fm — audio streaming on ATProto 4template: splash 5hero: 6 title: plyr.fm docs 7 tagline: audio streaming on ATProto 8 actions: 9 - text: get started 10 link: /local-development/setup/ 11 icon: right-arrow 12 - text: contributing 13 link: /contributing/ 14 variant: minimal 15--- 16 17import Stats from '../../components/Stats.astro'; 18import TrackSearch from '../../components/TrackSearch.astro'; 19 20<div class="landing-section"> 21 <h2>platform stats</h2> 22 <Stats /> 23</div> 24 25<div class="landing-section"> 26 <h2>try it — search tracks</h2> 27 <TrackSearch /> 28</div> 29 30<div class="landing-section"> 31 <h2>your music, your data</h2> 32 <p style="color: var(--sl-color-gray-2); font-size: 0.9rem; margin-bottom: 1rem;"> 33 every track on plyr.fm is an ATProto record in the artist's personal data repo. here's what one looks like: 34 </p> 35 <div class="record-example"> 36 37```json 38{ 39 "$type": "fm.plyr.track", 40 "title": "late night drive", 41 "createdAt": "2026-02-14T03:22:00.000Z", 42 "audio": { 43 "$type": "blob", 44 "ref": { "$link": "bafkrei..." }, 45 "mimeType": "audio/mpeg", 46 "size": 8420196 47 }, 48 "tags": ["electronic", "ambient"] 49} 50``` 51 52 </div> 53 <p style="color: var(--sl-color-gray-3); font-size: 0.8rem; margin-top: 0.75rem;"> 54 the API is public. build your own player, analytics, or recommendation engine — the data is open. 55 </p> 56</div>