004 — Building allplay.fm

Ryan Hefner
— All Play
Published in
9 min readMay 30, 2024

In this episode I dig into why I decided to build a custom site for this podcast vs. using one of the templated sites that TransistorFM offers. Part of it is based on some of my ideas about utilizing platforms to push traffic back to sites that you own. The other part of it was I just had an idea of what I wanted the site to look like, and how I wanted it to function, and I couldn’t suppress the urge from just building it myself.

I also explain how I plan to add a newsletter to the site as well, and you can sign up for at allplay.fm. I am currently using Resend to capture the subscribers, and will be using them for the newsletter delivery, but have some plans about how I will be doing that in a later episode.

In addition to the site, I get into some thoughts I am having about expanding the reach of the podcast — and really just personal stuff in general — and how potentially replicating that across a number of sites that all point back at the sites you own either help or hurt your own sites performance, or really where do people find it and when do they drop off?

And, I geek out about some of the Web Audio API and Audio Buffer stuff I am using on the site to use for audio playback and will be publishing the library I am using for that at a later time, and will have an episode about that when it happens.

References

To follow along, you can find me at ryanhefner.com, follow me on Twitter @ryanhefner, and keep up with the show on allplay.fm and @allplayfm.

Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend:
Transistor FM
Fathom Analytics

This was originally posted on: https://www.allplay.fm/podcast/004-building-allplay-fm

Subscribe

Listen on Apple Podcasts
Listen on Spotify
Listen on Overcast
Listen on Amazon Music
Listen on Pocket Casts

Transcript

00:00–00:19

Hey. How’s it going? This is Ryan Hefner, and this is the All Play podcast. On this episode, I wanted to talk about a little project I decided to take on that I originally hadn’t planned on doing. So, obviously, this is the All Play podcast, and the All Play podcast has a website.

00:20–00:57

And that website is all play dot f m. Originally, when I signed up for Transistor, I guess I kinda was thinking that I’ve just used the, you know, like, a a Transistor FM, website to host the podcast. But as I started thinking about it more, I was like, oh, well, you know, kinda have this idea of, like, how I would like the episodes laid out. And I haven’t I haven’t discussed this yet, but, I also would like to do it like a newsletter. And so I was like, oh, that’d be cool if it lived with it.

00:57–01:44

And then that way, you could kinda, like, check out the podcast and then browse the newsletter and do some different stuff. And so, you know, one thing led to another. Of course, my, impulse for, you know, shiny new objects slash, like, distraction projects that are probably pulling me away from what I really should be working on took hold, and I decided to just build a custom website for it. So, you know, it it started out pretty innocent. I, was, you know, poking around 1 Friday evening after the kids had gone to bed and just started kinda, like, laying out a a new site for it.

01:45–02:29

The site lives within the same, NX, like, monorepo that my personal site lives in. And so that I was thinking, you know, that’d be kinda cool because I’m using content layer as a way of basically extracting these, markdown files for my personal site. I’m probably gonna use the exact same thing for the newsletters as well so that the, content layer currently does the now and will, the now section or now page pages on my personal site and then also is set up to support the thoughts even though I haven’t published any thoughts yet, but those are in the works. So, yeah, I was like, oh, okay. That’d be cool.

02:29–03:15

I could essentially kinda create some libraries within that repo, even potentially, like, cross post the the, you know, the the podcast and the the newsletter on both my personal site and also have, like, the dedicated all play site. This is, like, another thing I’ve been thinking about is, I guess, like, content, like, replication and, like, where when does it make sense? When does it when does it bad? I guess I’m gonna try to figure that out. But, at this point, I’m thinking, like, put everything out there on all the things where it can be and then provide links back to where you want things to go.

03:15–03:48

So, basically, kind of a wide net and and just see what happens. Put your ideas out there on, like, whatever aggregators or, sites that maybe your people will discover things better, and then see what happens. Does it drive more traffic back? Do people stay on just those sites and consume it? You know, I’m thinking like sites like Medium or Substack, and obviously, Twitter and and whatever else.

03:51–04:14

So yeah. So that’s kinda that was also playing into, like, the whole idea of creating a custom site. I think I’ll probably still have the transistor site, so it’ll be all play dot transistor at dot f m. And that’d also be an inter interesting thing there is, like, will people discover it that way, and will traffic come from those sites, from that site? So, yeah, I don’t know.

04:14–04:36

It’s gonna be kind of like a little bit of an experiment. I’m probably I mean, maybe it’s to your fault. I suppose there could be a case for trying to consolidate this stuff and have it have it be one channel or one source, but, I don’t know. I mean, the Internet’s wide. Like, it should be out there.

04:36–05:14

It should be discoverable on all these different platforms that are using it. And so it’ll be interesting to see what kind of impact that has as far as discoverability and whether people really do click through it or not. And where if I mean, I guess, 1st and foremost, if people even find this interesting, that’ll have a a big impact. But then once there once maybe interest is peaked, where where do they go from there? So, yeah, that’s a little bit about why I decided to build, you know, a custom site for for all play dot f m.

05:15–06:01

I think I ended up running into a few interesting little rabbit holes. Like, I was trying to, you know, have some, like, dynamic like, generating waveforms for the, you know, for the podcast episodes on the site and thinking about how that will work in the context of, basically be being able to post the site up and then have webhooks that spawn, you know, other episodes to get updated or new episodes to be added to the site without me having to publish any updates. So So, actually, that stuff’s still in the works. I did end up publishing the the website last night. I actually and I also had recorded a previous version of this episode.

06:01–06:37

But then I realized towards the end for about 30 or 45 seconds, my kids were upstairs jumping up and down, repeatedly. And even though I, you know, I have the no edits, thing, I didn’t quite make reference to what was happening. So it just sounded really weird for this, like, thumping noise to be very fast and repetitive at the tail end of my podcast. So that’s why I am re rerecording this one right now. And so also my time timelines have kinda shifted.

06:37–06:58

I think I recorded that one early last week or so. And at that at that point, I thought I was gonna have it out, you know, then. I kinda just, like, poked around on it a little bit more and have it out now. So yeah. I guess a few other things.

06:58–07:37

I mean, just to I’m jumping around all over the place on this one, but few other things about the website that I was kinda playing around with is basically being able to create, like, a really fluid listening experience with the episode. So, essentially, you can start it, and it’ll, you know, it’ll maintain a reference. And as you navigate around the site, you can kinda continue to listen as you as you check stuff out. That’ll be more impactful, I think, once there’s actually more, like, newsletters and stuff that are up there. But even now, you could navigate through, like, the episode pages and check other episodes out while while the current one that you’re listening to is playing.

07:40–08:34

And that’s actually using a MPM package that I’m gonna be publishing that kinda takes some of my learnings with, working on some other sites where you kinda maintain, like, a single audio context and then use audio buffers to do the playback. Although the one thing I was noticing last night when I was kinda clicking around through the site as I after I published it, it seems like when, when your iPhone goes to sleep and you listen to the audio, it kinda kills it. And then, also, it seems like the state gets a little bit out of whack when that happens. So I’m gonna try to look into that and see if there’s ways of resolving that. I do know that there’s, like, some no sleep APIs that I that I could do, but I would prefer that your phone could go sleep and, you know, you save some like electricity and battery life, but yet still be able to listen to the audio.

08:34–09:34

So I’m gonna see if there’s some tweaks I can do to how I’m handling the audio there. And, I mean, I guess in my previous times using the audio context and obviously audio buffers and different things like that, that was to achieve really fast audio playback when resource intensive sites were running. So essentially instead of, you know, let’s say you had, like, 10 little sound effects that needed to play, having those sit as, like, audio tags in the page and trying to trigger those, there’s actually a lot of latency to those for those for whatever reason. But if you use an audio context and then basically preload all those into audio buffers, you can trigger the the playback of those really fast. And so I was I kind of was piggybacking on that, that technique for the audio playback.

09:34–09:59

So I I think that’s gonna be something I’m gonna dig around in more. If you happen to stumble across the site before I get it fixed, you may find that sometimes depending on the, where the app is at and how you’re interacting with it. Maybe the episode might kinda double up or start playing weird. I’m gonna try to fix that before, too many people hit it. But, yeah.

09:59–10:33

So that’s, you know, that’s just wanted to touch on, like, why I decided to build the custom site versus just using the transistor default. I think it would be fun to kind of play around with. I also added a newsletter subscription form, and I’m actually using resend to capture those subscribers. And I will be using resend to deliver the newsletter. And then I will be debating on whether I use their batch delivery thing or whether I come up with my own thing.

10:33–11:11

It seemed like there was maybe some slight limitations as far as, like, what I how I plan on delivering the newsletters versus how their API is set up, but I’m gonna dig into that more. And I’ll share that those findings here. But yeah. So check it out. I would probably assuming that this podcast this episode turns out okay, and I go back and add descriptions and transcriptions and stuff for all the previous ones, I will be publishing the podcast, basically going live, with the site and with the podcast on this episode.

11:11–11:29

So I guess that’s it for now. Once again, I’m Ryan Hefner. This is the All Play podcast. You can follow me on Twitter at Ryan Heffner, and follow the show at allplayfm on Twitter as well. You can go check out the site at allplay.fm.

11:30–11:36

Check the show notes for links, and I’ll talk to you later. Alright. Have a great one. Bye.

004 — Building allplay.fm — All Play w/ Ryan Hefner (allplay.fm)

--

--

Ryan Hefner
— All Play

Having fun, making stuff! Busy crafting things and trying to get a little bit better every day. More about me @ https://ryanhefner.com | https://allplay.fm