Episodios

  • 011 — Transmits Goes Mobile
    Jul 24 2024

    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

    Más Menos
    10 m
  • 010 — Recording from Transmits
    Jul 11 2024

    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

    Más Menos
    9 m
  • 009 — Introducing, Transmits
    Jun 26 2024

    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

    Más Menos
    13 m
  • 008 — A Focus on Interest
    Jun 10 2024

    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

    Más Menos
    8 m
  • 007 — Context is King
    May 31 2024

    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

    Más Menos
    12 m
  • 006 — Embracing the Thrash
    May 17 2024

    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

    Más Menos
    12 m
  • 005 — Pressing Publish
    May 9 2024

    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

    Más Menos
    13 m
  • 004 — Building allplay.fm
    May 6 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

    • 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

    Más Menos
    12 m