Player FM - Internet Radio Done Right
Checked 29d ago
Vor vierundvierzig Wochen hinzugefügt
Contenuto fornito da Ryan Hefner. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Ryan Hefner o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.
Player FM - App Podcast
Vai offline con l'app Player FM !
Vai offline con l'app Player FM !
Podcast che vale la pena ascoltare
SPONSORIZZATO
The War and Treaty’s Michael and Tanya Trotter grew up in Cleveland, Ohio, and Washington, DC, respectively, but both have family roots in the South. They also grew up in the musical traditions of their churches – Tanya in the Black Baptist Church and Michael in the Seventh Day Adventist Church – where they learned the power of song to move people. After becoming a father at a very young age, Michael eventually joined the armed forces and served in Iraq and Germany, where he took up songwriting as a way of dealing with his experiences there. Meanwhile Tanya embarked on a singing and acting career after a breakthrough appearance in Sister Act 2 alongside Whoopi Goldberg and Lauryn Hill. Now, after a long and sometimes traumatic journey, Michael and Tanya are married, touring, winning all sorts of awards, and set to release their fifth album together, and their fourth as The War and Treaty. Sid talks to Michael and Tanya about the new record, Plus One , as well as their collaboration with Miranda Lambert, what it was like to record at FAME studios in Muscle Shoals, and how they’re blending country, soul, gospel, and R&B. Learn more about your ad choices. Visit podcastchoices.com/adchoices…
All Play w/ Ryan Hefner
Segna tutti come (non) riprodotti ...
Manage series 3572783
Contenuto fornito da Ryan Hefner. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Ryan Hefner o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.
Follow along as I, Ryan Hefner, build products and tools, while sharing the learnings and challenges along the way.
…
continue reading
29 episodi
Segna tutti come (non) riprodotti ...
Manage series 3572783
Contenuto fornito da Ryan Hefner. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Ryan Hefner o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.
Follow along as I, Ryan Hefner, build products and tools, while sharing the learnings and challenges along the way.
…
continue reading
29 episodi
Alla avsnitt
×The queues are up and running on Starter Packs and I have roughly 2 days before they are done, so my goal is to get all the pricing and subscriptions integrated into the site before they are done. I also dig into some background on getting the queues working in the NestJS app, and how I had to tune them to get them running efficiently—and fast! Watch the video on YouTube: https://youtu.be/DzHzOaR_lDA To follow along, you can find me at ryanhefner.com , follow me on Bluesky @ryanhefner.com and keep up with the show on allplay.fm and @allplay.fm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics #buildinpublic #podcast #startups #webdevelopment #webdesign #bluesky #indiedev #bootstrapping…
While I was working on some updates for Starter Packs , I ran into an authentication bug that I wanted to fix. As I was working through the bug, and deploying the updates, all of a sudden my feature branch on Vercel stopped loading pages properly, but not all pages. In this episode, I dig into facing and overcoming obstacles that get in the way of making real progress on the project you’re working on. Watch on YouTube: https://youtu.be/GEJV6989RwQ To follow along, you can find me at ryanhefner.com , follow me on Bluesky @ryanhefner.com and keep up with the show on allplay.fm and @allplay.fm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics #buildinpublic #podcast #startups #webdevelopment #webdesign #bluesky #indiedev #bootstrapping…
After last week’s Jam Session with Brian Casel , I was on the fence on which project I wanted to commit to in 2025. After that conversation, and a little reflection, I realized that I wanted to see Starter Packs through to the original vision for the project. Also, the amount of effort to get it there—I think—will be less than I had originally thought, now that some of my client work has chilled out a bit. With that said, I am excited to share some initial updates that I pushed to the site yesterday that lay the foundation for the initial vision. They include: ability to log in with your Bluesky account quick follow/unfollow people from Starter Packs or Profile pages a bunch of design updates, including full support for both light and dark mode optimizations under the hood for loading various data from Bluesky, like followers and starter packs some–🤞–updates to some of the page metadata in hopes it will make Google happy again and start driving some lost traffic back I am still committed to getting an early version of Open Graphs out in March, like I committed to Brian on the episode , but luckily that work will also benefit Starter Packs, since I will be using Starter Packs, and my other sites, as early consumers of the open graph images that Open Graphs will be generating. In the meantime, more updates will be rolling out to Starter Packs over the coming days, including: Follow All on Starter Packs, along with the background work that will start to link profiles with the packs they have been added to as a premium feature to subscribe to on the site. We’ll see how subscriptions will go, and I am sure I am going to have to build some real value to justify them, but I also have some plans on how to make the experience of unlocking the packs kind of fun, and hopefully notable. Watch the latest episodes on YouTube at: https://youtube.com/playlist?list=PLuFdIOfmEGP0xvjt2yng9FErsMTVTk1Of&si=H0RpnIlvOhwg5Q2j To follow along, you can find me at ryanhefner.com , follow me on Bluesky @ryanhefner.com and keep up with the show on allplay.fm and @allplay.fm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics…
Welcome to 2025! I have been kind of having mixed emotions going into the new year, doing a lot of reflecting and projecting what I want to achieve this year. Definitely feeling mostly excited, but also a bit nervous. I get into creating my new LLC, Commune Software ( https://commune.software ), looking forward to the live stream today with Mubs ( https://www.youtube.com/watch?v=ckaGzVTvx98 ) talking all things side projects and Bluesky with his project https://blueskydirectory.com/ and my https://www.starterpacks.net/ , and this podcast going video (right here now!). You can find the video podcast on YouTube, https://www.youtube.com/playlist?list=PLuFdIOfmEGP0xvjt2yng9FErsMTVTk1Of I am looking forward to 2025 and trying to make this a year focused on building new connections and projects for the years to come. I hope you’ll follow along. To follow along, you can find me at ryanhefner.com , follow me on Bluesky @ryanhefner.com and keep up with the show on allplay.fm and @allplay.fm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics…
Tis’ the season for introspection, self reflection, and projections for what the New Year will hold. Today I share some background into my process of reflecting and projecting on the things I need to get done, along with some ideas on how I plan on expanding and refining that process. If you have a process you use to help yourself get better I would love to hear it. Please, connect with me on Bluesky, or hit me up on Twitter, and let me know what works best for you! To follow along, you can find me at ryanhefner.com , follow me on Bluesky @ryanhefner.com and keep up with the show on allplay.fm and @allplay.fm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics…
So, what do you do when you start to run into walls, or slow downs, on the project you’re working on? I feel like I am at, or approaching one of those slow downs, and am trying to get ahead of it. Since my last update when I announced Starter Packs , I have been busy continuing to build the logged out experience of the site. Focusing on gathering as many references as possible to the Starter Packs on Bluesky, and coming up with ways to make the firehose consumption more resilient, while baking in some features into the site that will allow me to capture more Starter Packs instances as people explore the site. So far things have been going great, but I am feeling the resistance creeping in and I am trying to resist it. Where I am at now is that I pretty much has the explore experience dialed in. You can search for Starter Packs, along with Profiles, on the site, and freely explore packs and the people in them, along with being able to explore profiles, the Starter Packs they have created, along with the people they follow, and those who follow them. All in all, I am pretty stoked with where the site has come over a couple of weeks of working on it, and still pretty excited on where I can take it, but I am kind of slowing down a bit due to hesitancy on a few things, and I am not liking it. Where I am slowing down is on the integration of OAuth’ing into the site to allow for authenticated actions to be performed, like following everyone in a Starter Pack, or following individual profiles. In the early days of the project, I created a quick (which actually turned into a multi-day) proof of concept of getting the ATProto OAuth setup working, but I haven’t really touched it since. Fortunately, it looks like it still works, but now I am trying to pair it with my own account handling and authentication and I don’t feel like I have crafted a setup that I am fully confident in, which has made me lose a bit of steam. So, with that said, I am publicly committing to getting OAuth integrated into the site, and having all the following functionality added in over the next couple of days, so I can at least get it out there and then evaluate what I like, or don’t like, about the setup and then adjust. My concern about launching something I am not confident in is due to the higher than normal amount of traffic the site is getting, and I really don’t want to roll something out that ultimately ends up breaking, but I guess I will just have to cross that bridge when it comes. For now, I am committed on getting the OAuth out, expanding the actions that people can perform while authenticated, and continuing to build some of the features behind the scenes that I would ultimately want to charge people a subscription for, but more on that at a later time. To check out the current status of the site, check out https://www.starterpacks.net. You can follow along for updates on both the Starter Packs Bluesky account, @starterpacks.net , along with my personal account on Bluesky, @ryanhefner.com . Let me know what you think, and if there are any other features you would like to see added to the site and I will try to work those in. To follow along, you can find me at ryanhefner.com , follow me on Bluesky @ryanhefner.com and keep up with the show on allplay.fm and @allplay.fm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics…
Wow, it’s been over a month since my last episode. That’s not due to me being too lazy, if anything just the opposite. I have been thrashing around on projects, but I would like to introduce you to my latest project that is piggy backing on the mass migration to Bluesky . Just after the election, it seemed like the draw for a new platform that was a little less Elon and a little more move on was needed, and a lot of people felt the same way. I know I was pulled over there after I heard more people talking about it, and also discovering that more of the people I follow on the other platform were moving over. I was also added to a Starter Pack or two, which made things a bit more interesting as people starter to follow more. For those who are not on Bluesky yet, or just new, Starter Packs are essentially a user created list of accounts or other Starter Packs, but you have the option to Follow All, or individually. I think the fact that Bluesky feels like the Twitter of yore, coupled with the fact that you can quickly build up the people you follow, and gain followers, via Starter Packs has helped ease some of the awkwardness of migrating platforms. When I first got added to a Starter Pack, and started to see my follower account grow, I’m not going to lie, I was hooked! It also got me more interested in Bluesky and the AT Protocol in general. I started to dig into the API to see what you could do, what was available to work with, and what was potentially missing. The one thing I wanted to see was if there was an easy way to see which Starter Packs I was added to, and unfortunately–or fortunately depending on how you look at it–there was not. I also wanted to see if there was a way to know where someone followed me from, whether is was from a Starter Pack, or directly from my Profile, or a Post. At first, I thought that was available, which got me super excited and actually made me spin up a quick project to start exploring more. Unfortunately as I started to dig in I found out that wasn’t the case, but discovered other interesting things that retained my interest/excitement to explore more. After some quick hacking, and a few domains registered(!), I was well on my way to abandoning the projects I was previously working on to explore this new...thing. After a few nights of hacking stuff together, and exploring the OAuth integration, I had the bones for a new project. That project is, Starter Packs . Check it out and let me know what you think. I hope you find some interesting Starter Packs and people, and will follow along for the journey. You can follow the project on Blueskey, @starterpacks.net . I have a bunch more plans for it, but next up is getting OAuth/account management integrated into the site to unlock some basic follow and Starter Pack management actions. To follow along, you can find me at ryanhefner.com , follow me on Bluesky @ryanhefner.com and keep up with the show on allplay.fm and @allplay.fm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics…
How do you apply and reserve your fuel for the things you are working? That’s what I am wrestling with today. Typically, I reserve these early morning sessions for my personal stuff, so I can take advantage of the fresh tank of brain juice to pull from. I feel like with personal projects there’s always more critical thinking and personal hesitations that get in the way of getting things done that it takes that extra boost from the good morning fuel to break through them and keep going. Although, today is unlike most of those days. Instead I am going to be working on some client stuff that has been lingering around a bit too long to see if I can knock that out early and use the rest of the day for personal stuff. Most notably, trying to commit some time to work on a site that is assisting with some relief efforts in Asheville, SC. Over in the Verbs Discord , developers there have been contributing to two different relief effort sites. The first was disastercheckin.com , a site that allows people to text in updates via a phone number, and people who visit the site can do a reverse look-up via the phone number to check on the latest status of their family or friend who have posted. It was a way to allow for people to post updates when they get signal, and for multiple people to asynchronously check on the status of those people, without having to rely on the cellular networks for people to get some status of their loved ones. Now that FEMA is in the area, the cellular networks seem to be more stabilized and people are able to communicate better now, so the effort in the Discord has transitioned to helping get clean water to the area, and assisting in the effort of managing the distribution of and requests for that water. For some reason, I can’t seem to find the site for that right now, but I will update the notes once I do. I have always been a big fan of collaborative efforts around a local cause and this has started to inspire me to follow through on an idea that I have had incubating for a while now. More on that later, along with a link, but for now I need to get back to work and knock out this client work so I can make a real difference elsewhere. — ✌️ 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…
A quick, long one about trying to maintain momentum as challenges and inconsistencies present themselves. 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…
Since today is International Podcast Day , I figured it was only fitting to try to get an episode out today. Thankfully I have something very topical to announce today as well, a new podcast! Last week I streamed and posted the first episode of, Jam Sessions: Public Edition , or just, Jam Sessions. A few episodes back I had announced Jam Sessions: Private Edition , the podcast that I plan on hosting on Ripple.fm . The point of that show was to have more intimate conversations that may include details or information that myself or the guest may only feel comfortable sharing with a smaller audience. But, once I started thinking about the private edition, I started to think about how much fun it would be to also have a public edition, so I reached out to Daniel Coulbourne —who I had already connected with back in May about basically doing something similar, but I dropped off and never got it together—and we were able to coordinate a time for the first public Jam Sessions episode and make it happen! Daniel went deep on all things Verbs . For more information, you should check out the full show notes: https://www.jamsessions.fm/episodes/001-daniel-coulbourne-verbs-event-sourcing Unfortunately, I had some audio issues on my side, but I was able to resolve them around the 13:30 mark of the stream. Hopefully you can deal with the subpar audio and pick up all the knowledge that Daniel was dropping on event sourcing and how Verbs differs. You can check out the episode here: Streams YouTube Twitter Episodes Apple Podcasts Spotify Overcast For all things Jam Sessions, you can find future episodes—and streams, eventually—at jamsessions.fm . #InternationalPodcastDay 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…
During my run this morning I was thinking about all the different projects I have up in the air, and how some of those can help to provide a foundation, or utility, to the other projects that I am working on, but at the same time can feel like a waste of time to work on in the moment. Then, out of no where, I started to think about the construction of a spiral staircase. At the start of the project, you have the choice to either build up, or build down. Building up seems like a world of endless possibilities and freedom—very positive. Or, you can build down, trying to tackle some of the hairier issues people face in the world, simplifying the overly complicated, or unifying the scattered or incomplete information in the world. Every decision offers a choice, and every choice has a starting point. So, back to spiral staircases, whether you decide to build up or build down, you also have the opportunity to build a very tight spiral staircase that does its job, getting you to the next level or two in a nice confined space. Or, you could build out, going wide and building a staircase that takes you on a journey. A grand structure that is circling your idea, while not confining it. The wider the structure, the more materials and time it’s going to take to build, and the longer it will take you to complete the initial spiral. Each type, either tight or wide, provide their own set of pros and cons. The tighter the staircase, the quicker it is to build, and the faster you can circle around the idea and get to where you want to go. You can go up several flights, with multiple rotations around the center post for each one, to ascend to each floor. It’s an efficient structure, but once you get past the first couple of floors, and then decide you might need to broaden your scope, or the size of the staircase, your initial structure won’t be able to support going very wide without some additional supports being put in place to carry the load. Depending how high you went when the idea was tight, the longer span those supports are going to descend. And, depending on how wide you want to widen the scope, the more supports that will have to be put in place to help this top-heavy structure that is now spiraling out. On the inverse, deciding to go with a very wide structure, making long, wide swooping loops as you ascend—or descend—to where you are going can be slow to build, requires a lot of material, and you may never complete a single loop. And, depending on whether you choose to tighten or wide the circle as your ideas and feedback push and pull you to new places, it can be harder to quickly tighten that circle once you have decided on the "new" direction to go. Although, unlike the tight structure that can be hard to support expansion later on, your wide idea that is circling this ever pulsing vortex can expand and contract more freely, with a structure to support it, but may never reach its clear center, and is hard to get their quickly. Along the way, regardless of whether you are going wide or keeping it tight, you have the option to build platforms or landings along the way, that can fork off from that core idea. These can add structure and stability to the initial idea, but also offer a starting point for a structure or journey of their own. Depending on your staircase, the placement of these landings have a different affect as you are walking up the stairs. A very tight staircase could probably only support one–maybe two–along your path to the first floor. But, too many on a very tight structure would no longer be a real staircase. Where, if you were building a very wide staircase, you could potentially have several platforms or landings forking off along your progression of a single rotation. When I think about these landings I equate these to being the side stuff that you build along the way to support your efforts, both now and into the future (ie. packages, services, tools, etc.). They support the core idea, but also have the opportunity to spiral out to be their own thing. Depending on the decisions you make and where your projects take you can drastically change the scope and shape of these structures. When I start to think about where these can go, my mind instantly drifts to the abstract worlds of Dr. Seuss and how a very tight and tall staircase that later decides to spiral out wider and taller could start to bend and sag over it’s poorly supported structure. Or, the very wide and expansive staircase that slowly then quickly spirals to its conclusive center can come to a sharp point. I feel like I have been going wide, and building a lot of platforms and structures that I try to convince myself are in support of a grander vision of the future, but not sure if I will run out of materials, or effort, to get those ideas to circle in on a sustainable structure I can support in the future. So I ask you, what kind of staircase are you building? 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…
Giving into the flow. I feel like I have been getting frustrated with myself for not fully focusing on a single project. After all, that's the only way to build a successful product. Right? RIGHT??? So, I have succumb to my fleeting thoughts and ideas to go where the water is taking me and not wasting time, nor energy, trying to fight the temptation or push out the motivation because I think I should be working on something, when my brain is clearly telling me different. With that said, I have been working on the new opengraphs.com app that will be replacing LinkCards, and so far so good. I am about to the point of having a completely rewritten app using all new frameworks and underlying schema that will do everything that LinkCards had previously done, but also support some ideas that I have had for it for a while now, so it’s kind of nice to come in clean and green field this thing with fresh cold and incubated ideas. I am pushing to have the first version of the app deployed to the production instances this week, and hopefully have one of my sites using the new endpoints for image generation. There’s definitely still a lot of work before I will let people in and start charging cards, but I really want to get to a point where I can start to stress test this new setup to make sure it’s going to perform the way I think it will. 🤞 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…
With all the conferences happening over the past couple of months, it has really got me thinking about the lack of socializing I have had since moving down to Atlanta. I wouldn't necessarily say it’s a fear of missing out (FOMO), but more a lack of social interaction, or engagement to make the acronym better, LOSE. For 2025, I am trying to create some more margins in my life to allow for more room to both socialize more and create more time to share the personal stuff I am working on. The goal is to do that by offsetting client work with income from personal projects. And, I guess we’ll see how that goes! You can watch Laracon US LIVE on YouTube ! Some conferences I plan on attending next year: MicroConf RenderATL Laracon EU / Laracon US It would also be cool to checkout some more niche conferences like: Local First Conf I am also hoping that rebooting Jam Sessions , and having some conversations on the Jam Sessions podcast on Ripple.FM will help fill in the gaps between conferences. And, if anyone is a current Switchyards member let me know! It would be great to hang out. I will probably be dropping into either the Roswell or Chamblee locations, but it would be great to get around to all of them to check out the vibes. 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…
I did it! I was able to fix LinkCards and stabilize the service. And, to my surprise, it actually looked like some of the traffic was actually legitimate open graph images being generated. Once I was able to stabilize the servers, and finally access the dashboard I noticed that my site pkgstats.com has almost 2 million images generated for it, so I guess that’s what was causing all the issues. One of my sites was taking down the other, kind of, go figure! As I was thinking about how nice the service is—when it is working—it started to make me realize that I should probably try to clean things up a bit, optimize a few things, and maybe slap a price tag on it and see if others would like to use it as well. Except, if I am going to go through all the trouble of re-writing and turning this into a real product the one thing that has always bothered be about it was the name, LinkCards. For one, the .com for LinkCards is currently some kind of malware phishing site, so not a good thing. That, and the name is kind of limiting. So, after a bit of searching for a better name on the registrars I ended up coming across, OpenGraphs. At first I saw the .io, .org, .net, .app domains were all available, which already had me thinking this is a much better name for the service. Then, I realized the holiest of holies was potentially within my hands reach, opengraphs.com . It was available as a BIN (buy it now) on Namecheap. It was a little expensive, but at the same time was probably the cheapest it will ever be. And that got my mind wandering... 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…
I just wanted to give a quick update on a new, private podcast that I am starting on ripple.fm . The show is called Jam Session: Private Edition , and it’s going to be a place to put some recorded discussions that are possibly too private for your traditional public podcast that gets blasted out to all the podcast places. The idea for the show is a bit of a continuation of Jam Sessions , a meetup/mastermind group I used to host when I was back in New York. Jam Sessions was a private and intimate space where people could share what they are working on, or questions they are struggling to answer, and then get feedback or insights from the other members in the group. My hope is that this podcast will provide the same safe, intimate space to have these conversations so we can all learn and grow together. So, with that said, I hope the show sounds interesting. Please, sign up, subscribe, drop me a line, and hopefully we can talk on the show soon. 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…
Trying to keep the spirits high in this otherwise kind of low week, littered with some Summer sickness and a lot of client work. As much as I had hoped to work some more on Transmits , I ended up getting wrapped up in a lot of client work, along with some maintenance work to clean up some spillage from last weeks publishing of the Transmits Podcast . With that said, here’s what I was able to get done/am working on: Fixed an issue on allplay.fm where Transmits episodes were showing up on the site*. I ended up updating the site to consume the RSS feed, instead of the Transistor API , since I was running into rate limiting issues. Now the site builds faster, and I am not getting the episode flow-over. I am currently working on mitigating some issues affecting LinkCards , to see if I can get the service back up and running, since an application denial attack has pretty much rendered it useless. Assuming this work, expect some shiny new `og:image`’s across all my projects popping out soon! (And, hopefully get images rendering again for pkgstats.com ) Assuming things are looking good on those fronts, I have some immediate quick updates I am planning to work on for Transmits over the weekend, and some updates coming to that podcast (and this!) soon. Take care! *It turns out I was passing the show id, except I was sending it camel cased (`showId`), instead of snake cased (`show_id`). Whoops! 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…
As I have been working on building Transmits , I started reading Rob Walling’s ( @robwalling ) book, Start Small, Stay Small . I was originally reading his latest book, The SaaS Playbook , but like he suggests in there, if your business is not at a certain monthly recurring revenue (MRR) you might be better off going back and reading his first book, so I did. While reading it I realized I was breaking the cardinal sin numero uno, no marketing, nor testing the market to see if people would actually pay for what I am building. Granted, this is definitely a scratch my own itch project, and I know I will be using it regardless if I am able to get others to pay for it. But, at the same time, I am definitely investing a good amount of time trying to make what I am building really nice, both for myself and to wow some potential future users into being paying customers. Thinking about what I could do to start building some initial marketing efforts I realized that the quickest thing I could do was repurpose the Transmits-specific episodes from this podcast, and re-package them into a Transmits-only podcast that I could start publishing, and include on the transmits.io site. Reasons why making a Transmits-only podcast makes sense, now and into the future: SEO: By publishing the episodes and including those within a /podcast area of the marketing site, I am hoping that both the show notes and podcast transcriptions will feed the Google/search engine machines and start to get Transmits ranking for a few key terms Backlinks + SEO: Since I will be publishing the podcast, I hoping that the feeds and episodes will help to build up a good amount of backlinks to the site, driving more traffic and helping boost key word rankings Connection: There’s really no better way to understand what someone is trying to do than to listen to them. I am an avid podcast listener and am definitely more motivated to support people that I am listening to, than those who I have no direct connection with (even though that connection is mostly a one-way from my podcast app to my ears, but it still a remarkably personal one, even being one-way). Build Listeners + Subscribers: From the start of thinking about Transmits, I have always envisioned the product having a podcast where I would bring people on to discuss tools for thought, or podcasting, or whatever else might be interesting to discuss that could be tied back to either the underlying tech or goal for the platform, so why not start to get that wheel spinning and try to pick-up a few early subscribers along the way. Flywheels: Since I am already podcasting about Transmits, why not repurpose that content and effort and apply it to kickstart and support future efforts And, finally, it just sounded fun and was a good excuse to tinker on some site stuff! With all that said, and without further ado, I am happy to say that the Transmits: The Podcast is live! Check it out, subscribe, and all that jazz. I have re-packaged some previous episodes from this podcast, and will probably do the same with this episode. And, from this point forward, I am going to have to come up with a nice way to introduce the episode without necessarily having to record a custom intro per pod, or maybe I’ll just drop the intros and get right to the meat, to keep it easy. If you want to get early access to start playing around, please join the mailing list here: https://www.transmits.io 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…
After recording the last episode via Transmits , I mentioned that I needed to test recording on playback on mobile, specifically Mobile Safari (since I am an iPhone user), and Chrome on Android. My goal for Transmits is that I can launch the initial version as a progressive web app (PWA) , so it’s crucial for it to work when added to the home screen on either iOS or Android devices. Well, in classic fashion, once I went to test the app on mobile devices, it totally failed in Mobile Safari, and regular Safari for that matter. It turns out that Safari only supports saving files via the FileSystemSyncAccessHandle , which only works within the context of a Web Worker . So, I rolled up my sleeves and started refactoring the app to include a web worker–surprisingly the first one I have written!–and wire up the file saving to use it. Low and behold, this week’s episode was recorded on my iPhone, via Transmits running as a PWA! Next up, I am working on a spike to get speech to text working for transcription running locally via a Web Assembly (WASM) wrapped version of OpenAI’s Whisper model. Once that is working, then will come defining the data models and start working on building out the cloud sync support. Not gonna lie, I am getting pretty stoked on this app so far, and I hope you will too! If you want to get early access to start playing around, please join the mailing list here: https://www.transmits.io 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…
A milestone has been reached! This is the first episode to be recorded in Transmits !! Obviously, these are early days (the official second recording made in the app was this episode), but recordings are being captured via the web app and stored locally via the File System API in the OPFS (Origin private file system) . The goal is to get this early version of Transmits out so people can start playing with it and capturing their Audio Journals* (*the positioning I am playing with for this initial version of the app. What do you think!?) I think the idea of audio journals is interesting, and it also seems like some other builders in the bootstrapping/indie maker space–both Peter Suhm [ Tweet ] ( Reform and Out of Beta Podcast ) and Brian Casel [ Tweet ] ( Clarity Flow and Bootstrapped Web Podcast )–have started sharing audio/video updates similar to this podcast. If you want to get early access to start playing around, please join the mailing list here: https://www.transmits.io 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…
I have finally settled on the project that I will be documenting on this podcast. I would like to introduce you to, Transmits. transmits.io is domain I have been sitting on for the past 4 years. When I had originally registered it I was working on a React Native prototype of an app that I was exploring, which was essentially an iOS Voice Memos app that was going to be platform agnostic. That prototype still lives on my machine, but work and life got in the way from taking it any further than a very rough example of getting some basic audio recording capturing and reviewing within the app. Since then, I have worked on a bunch of different stuff, both for clients and personally, but this idea of a simple app that lets you quickly record some audio and easily share it with friends—or beyond—has remained constant over that time. Although, the one thing that has changed is my thoughts on what makes the most sense for how to build the app. Over the last 4 years a lot of advancements have been made in the browser space to better support progressive web apps, things like local SQLite instances running in the browser, push notifications on Mobile Safari, and generally more packages and tools that make it easier to build a good PWA experiences that can truly rival native apps. So, with that said, this version of Transmits is going to be built with 100% progressive web app support from the beginning. At this point, I already have basic PWA support for the app. You can turn off wifi and cellular and browse all the pages you had originally viewed while being online. And, I have some basic recording support setup via the Web Audio/MediaStream Recording API’s. Both the marketing site and app are built in React / NextJS , and I am going to explore building the API with NestJS (since this is a stack pairing that I have been wanting to explore). Next on my list to tackle includes: Get local file saving setup via the File System API Setup local-first data handling (probably using electric-sql , or something similar) Audio filters to apply to recordings in real-time via Web Audio API Real-time transcription support via local automatic speech recognition (ASR) model Integrations to make it easy to take recordings captured via Transmits and distribute them (looking at you, transistor.fm !) Some other odds and ends to make the app feel more native, like Push Notifications and what not I was definitely debating which project to really commit to, and this one ticked all the boxes of the type of app and technologies that I wanted to dig into more. Not to mention, if it turns out how I think it will, I will probably be able to drop my Adobe Audition setup and record all of my podcast episodes via this app, with a simple flow for distributing them to Transistor , Substack , Medium , and beyond. I hope this project seems interesting to you, and I look forward to sharing my learnings from building it along the way. 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…
Just a quick one on a mindset that I have been trying to apply to the things that I have been working on, or committing to, in 2024. The concept revolves around two requirements to meet when committing to a project/client/etc. Those two requirements are, the project either has to be interesting, whether that is interesting to work on, an interesting topic, or potentially an interesting technical challenge. Or, alternatively, but not mutually exclusive, would embarking on this project/collaboration/client engagement generate interest (ie. make money/margins) both in the short-term, but also potentially in the long-term or over time. In a perfect world, the project(s) would both be very interesting, while also providing the potential to earn a healthy level of interest over time. At least, that is my goal with the personal projects that I am working on, and plan to work on in the future. Another thought that comes out during this episode is some reflection on the debate of working on multiple things, or going all-in on a single project. I am of the mindset that the people going “all-in” on something are potentially leaving money and some optionality on the table when they abandon an existing user base to pursue a new niche customer market that no longer aligns with the initial product offering. A few questions that I have been debating as I hear people weigh-in on this topic are: Would potentially maintaining that existing product, while exploring a new target customer with an altered, or new product, really impact the success of the new initiative? Would maintaining the existing customers, even if growth is plateaued, allow for you to retain them and the current MRR while supporting the development of the new product? If the new initiative is not a success and you potentially want to re-engage with the previous customers that you abandoned, is there even a pathway back to your previous state? I hope to be able to explore and play with some of these questions as I am building and growing the projects I am working on. And I look forward to sharing those insights and internal debates in future episodes of the show. 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…
Reflecting on Laravel vs. React debate that went down a few weeks back, got me thinking about Context. Context switching. The context that influences the decisions we make. Really, just about context in general. My focus has been to try to minimize the amount of context switching that I am doing, which is already difficult while managing multiple clients and trying to focus on my personal stuff. I get into some of those trade offs, along with a few other things that have been popping up that have been requiring additional context switching, resulting in ultimate flow wreckage. Some references from the show: Inception this one to find the tweet that kicked off the Laravel vs. `react-remix` debate laravel-pwa / laravel-pwa-demo My service that has been getting DDOS’d, Link Cards 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…
The struggle is real-ish. In this episode I get into the tension I have been feeling as I am in my -1 to 0 phase, trying to figure out which project/product I want to place my energy towards (first), and some of the technical stuff I plan on incorporating in the projects I am planning on taking on. Some of those core technology areas include: Event Sourcing Progressive Web Apps (PWAs) Push Notifications Local-first development Embracing the open web WebAssembly (WASM) Performance During the portion of the episode where I focus on local-first development, I make reference to a few podcasts that dig into the topic, the Muse Podcast and localfirst.fm . I will be digging into the actual project that I will be sharing the evolution of on this project, so please subscribe and sign up for the newsletter for updates. 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…
In this episode I reflect on officially hitting publish on this podcast. The steps that lead up to the release, along with all the excitement and anxiety that builds up before pressing that button. From creating the cover art, to settling on the format—or lack there of—to writing descriptions, and deciding whether or not to pay the extra $5/month to Transistor for the AI Transcriptions feature vs. rolling my own (note, I just paid the $5, but may explore some other ideas with custom transcripts on the site, since after playing with the different output options it got the brain gears turnings). Basically, all the stuff that went into launching this. Here are a few additional things that were on that launch list: Audio quality (via Adobe Audition + custom presets to make the audio sound better) Newsletter sign-up form Webhooks to refresh the site when new episodes are published Sitemap `og:image`’s Along with some other outstanding stuff that I will be pushing to the site soon: Welcome email (for newsletter subscribers) Newsletters ( sign up so you will start receiving these once they start going out) Standardize copy/words for how I reference what this is Tweak site metadata and SEO stuff It definitely feels exciting to start seeing it in the various podcatcher sites and apps, and looking forward to talking about all the other stuff I have in the works. Until next time! 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…
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 TransistorFM Nx Contentlayer allplay.transistor.fm Resend 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…
A
All Play w/ Ryan Hefner

tl;dr I am not going to be editing these episodes, so please bare with me. Although, if you want me to reflect on it a bit more, there’s a reason for making the active choice to not edit these episodes. Part of that decision is based on efficiency, as I work through these episodes I am trying to take all the ideas swirling around in my head and pluck a single one that I can try to break down and pick apart within a quick 10 minutes—maybe a little more, or a little less. I could definitely try to get to that same time constraint by recording a bunch of material and whittling it down to fit the space required, but with that approach I feel like you lose all the nuance on the topic, and you don’t get to hear the gears grind through the topic. Also, recording 30 minutes or an hour of material and trying to edit it neatly into a 10 minute episode that sounds fluid and coherent sounds like a miserable task, that I both don’t have the patience, nor the time to take on. So, please bare with me if I happen to misspeak or mispronounce a few things from time-to-time. I hope the core ideas ring through and you are still able to take away something. And, along those lines, I go into my OCD approach to listening to albums and podcasts, and recommend that if you do intend on listening to multiple episodes of this podcast, that you should try to do that from the earliest episode and listen until the current/last episode. Just a recommendation, you do you, but from my experience with other episodes, I will probably be referencing either ideas or projects from the past, or may even come up with some made up word that I reference from an earlier show, so listening to them chronologically will probably reduce the confusion level as those pop up. 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…
CSS and component libraries, where to begin? Over the years I have used a bunch of different flavors including, css-modules , styled-components , CSS + Sass and a few other things. But, over the last 3 years or so, I have been primarily using ChakraUI , which is a component library that offers a really nice way to setup your theme—based on styled-system —as well as control the styles and defaults of the components they offer, along with being able to build and style your own components, using the same system, all accessible via the main theme configuration. But, since I am trying to shed the biases of the past, and explore all the new potentially new, hot stuff that could make my life in code potentially better, I decided to explore some of the new stuff that has been spinning out of the ChakraUI world, as well as some thoughts and questions I have about sticking with that world, or going all-in on Tailwind . References CSS modules styled-components Sass PostCSS ChakraUI styled-system Emotion Panda CSS Ark UI Park UI Tailwind CSS Radix shadcn/ui 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…
On this episodes I dig into getting back into action and picking a stack to base the action on. In the past, I have built my products and prototypes in Laravel , using an SPA—typically built in React —for the majority of stuff, and I go into all the pros, and a few of the cons, I have experienced with that setup along the way. Well, now the year is 2024 and as easy as it would be go back to that trusty old cocktail of sorts, I want to push myself to explore something new. I go into how I have been structuring my latest work utilizing Nx for the monorepo setup, and primarily using React + Next for the majority of the client apps. I love the DX surrounding some of these newer hosting platforms, allowing for instant previews of branches that are in the works, and being able to have as many of those up and running, and viewable, while working on a project. That coupled with the fact that I haven't been working on PHP for the last 4+ years and all the changes that have been going on, in both PHP and Laravel, I feel a little behind the curve in that ecosystem, and honestly I really just like working in Javascript and not having to deal with the context switching between PHP and Javascript. So, with all that said, I am not wasting any more time on the debate and am going to go all-in—at least on this first project—on the all Javascript setup, utilizing Nx to manage the monorepo for the project. React + Next for both the marketing site and app, which will be two separate apps deployed on the same push, utilizing shared libraries within the repo. And, will be trying out NestJS for the API, because—for a number of reasons—I think that is the way to go vs. utilizing API routes via Next to try to accomplish the external API. References Laravel Stripe Lemon Squeezy Paddle Laravel Pulse (the one I couldn't think of) Laravel Reverb Next Vercel Render Netlify Laravel Shift Nx NestJS 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 onTwitter @allplayfm . Help yourself, while supporting the show, by trying some of the services that I use, and highly recommend: Transistor FM Fathom Analytics…
Hey, I’m Ryan Hefner and I’d like to welcome you to the All Play podcast. On this show I will be sharing my experiences as I build products and open-source software, sharing the highs and lows that go into building a solid product, and hopefully leading to a successful launch and growth of customers. In this episode I share a bit of my background, moving from Ohio to New York to work at Fantasy . The roles and responsibilities I learned while working at an agency. My transition into working on product at Vimeo , and how I re-wrote the Vimeo Video Player and eventually grew to become the Director of Engineering at Vimeo, overseeing all things players and video focused. And, how during these career transitions, I have continued to work on products and open-source software. I hope you’ll find this show interesting, and look forward to sharing the ups and downs that go into building, launching, and growing products—and who knows, maybe companies. 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…
Benvenuto su Player FM!
Player FM ricerca sul web podcast di alta qualità che tu possa goderti adesso. È la migliore app di podcast e funziona su Android, iPhone e web. Registrati per sincronizzare le iscrizioni su tutti i tuoi dispositivi.