Ryan Hefner

Software Developer and Eternal Tinkerer
—
All Play
Now
Updated
September 30th, 2025
via Atlanta, GA
Time flies when you’re not sure exactly sure what to work on, and you want to do all the things, and everything sounds like a great idea! Since it has been 2.5+ years since my last /now page, I am going to have to tackle this one chronologically with a few of the highlights over that time.
New (old-ish) Package: next-meta
It’s kind of funny how ideas come to mind, and how quickly they can start to materialize, and before you know it you’re writing, yet, another NPM package for React/Next so you can use it across all your personal—and client—sites.
Well, if hinesight is 20/20, I definitey had some blinders on when I first came
up with this idea, but ultimately it worked out fine. What I didn't realize
at the onset of this project was that there was a similar project, next-seo
,
that ultimately allowed for a similar easy way to specify and compose metadata
into your sites to add Open Graph, Twitter Card, and more tags to your pages.
I could have saved myself some time from writing and publishing the package had
I discovered the other package earlier, but I prefer certain aspects of
next-meta
compared to the other, so I plan on continuing to support and evolve
it as necessary. You should try it out on your site and let me know what you
think.
Podcast, All the Things
Back in May of 2024, I finally pulled off the bandaid and committed to recording and publishing a podcast that I have been wanting to do for yeeeaaaaarrrrrssss... That podcast is called, All Play, and you can find the site here: allplay.fm!
I wanted a way to share what I was working on, but also have a way of fleshing out some of the thoughts and ideas I have while working through stuff and trying to hone my skills and craft. By being able to talk through those, it has allowed me to better assess things earlier in the process, and also hopefully help others who are butting up against similar things.
Another goal of the show was to keep it simple, and part of that meant that I should be able to record episodes whenever an idea struck, or an opportunity presented itself, which required that the show be a solo show. Because of that, I have been trying to work on my storytelling skills and figure out ways to make the episodes entertaining and informative, but I feel like I have a lot of work to do on that front. So, bear with me while I continue to try to figure out this podcast thing.
Also, on the podcast front, since I was getting solo episodes out on a pretty regular cadence, I decided to reboot one of my old meetup projects and explore what it would be like as a podcast. So, later that year I also started hosting jamsessions.fm, an interview show (although I would like to explore some bigger, panel episodes) where I can riff with fellow builders about technology, design, product, or whatever is top-of-mind.
I haven’t been as committed to that podcast, but I do continue to do it as relevant topics popup and people are available to come together.
Transmits — False Start
During the Summer of 2024, and leading into the Fall, I was trying to build out a product that I have wanted to build for a while, and coincidentally aligned with the process and work involved in making the podcast. I was going deep into the front-end tech, building a local-first audio recorder that also included offline AI transcription and a bunch of other cool features that I was going to add to it, but I was also trying to build the API and infrastructure to support those recordings, as well as othere configurations and formats.
Ultimately, I realized that I was trying to do too much on both ends of the project which was resulting in me getting to pulled in both direction, with no clear path to bringing the two together.
For now, I am sidelining that project and plan to explore it later, but I ended up getting pulled into another project that stole my attention for a bit.
Starter Packs – Find your tribe. Grow your tribe.
Leading up to the 2024 Election, the internet was kind of a wild place and people were trying to find a safe place to reside online. Bluesky ended up being that safe haven to some, and there was a big movement pulling people from X/Twitter and other social platforms over to the blue butterfly in the sky.
I joined in on the migration and was particularly excited by one feature that Bluesky offered that helped make migrating easier and made it easy to quickly find friends and like-minded groups on the platform and those were, Starter Packs.
Since the Bluesky API was open and free to play with, and the fact that the only way to discovere Starter Packs was either nested under a tab on a user’s profile or if they were shared in the feed, I explored what it would take to build a site and service that aggregated as many Starter Packs as I could to allow for people to more easily discover them and connect with their people on the platform.
I was instantly sucked in, both by the tech that it was allowing me to explore, and the excitement of the activity on the platform that I was trying to keep up with and capture. Not to mention the amount of site that the site was getting right from the start.
At some point the traffic started to slow down, but I was still busy trying to stabilize the site and deploying various techniques to try to squalsh the ballooning server costs required to keep the service up. At a certain point I was able to come up with a server configuration and balanced the site requirements between the front-end, API, and firehose ingester to get to a state that doesn't require too much babysitting to keep the site up.
So far, the service is mostly stable and still gets a good amount of traffic, but I had to take a bit of a break from it—for now—to explore some other stuff that can be more lucrative and creates the space to be able to maintain some of these other excursions. Although, with that said, I am thoroughly interested in exploring the ATProtocol more and am looking for ways to incorporate, or build on it, for future projects.
Commune Software — Out with the old, in with the Commune
For the past 14 years or so, I have been consulting and incubating the various projects and products I work on under Rock Kick Co. LLC. But, at the beginning of 2025, both due to no longer living in New York any more and looking to mix things up a bit, I shut down that LLC and started a new company to use going forward, Commune Software LLC.
Rock Kick served its purpose, but I think the new name and direction better aligns with how I want to think about and approach software, and I pretty stoked with the logotype I came up with for it. So, to a new year, a new company, and new roads ahead to explore and share experiences on.
Skylounge — Connect in the friendly skies.
Coming off of Starter Packs, I was still super excited about Bluesky and ATProtocol, as well as exploring what other features or primitives I could explore migrating to this new, thriving network. Being both interested in audio, and exploring what it takes to make meaning communities and connections online, I decided to timebox a project over the month of May to see what I could build.
The result was Skylounge, an X/Twitter Spaces alternative targeted at Bluesky and the open/indie web. The idea was to create an audio chat space where people could get together to connect and discuss, with deep hooks into Bluesky and other web technoligies to take the conversations that were happening in closed environments like Twitter Spaces, or Clubhouse, which are restricted to their respective native apps, and explore what an open alternative to those would be that would be freely accessible and discoverable beyond those closed experiences.
I actually ended up getting pretty far on the app, but ultimately used up my time boxed alotment and put the project down. Depending on how things go with OpenGraphs—overview coming soon—I will be picking this one back up again, and plan to both integrate OpenGraphs into it, while also showcasing it as a case study for OpenGraphs, while also getting the initial beta version available for early users who haved signed up for early access.
OpenGraphs — Open Graph Images, Plus!
We’ve finally caught up to the present time. Since July I have been working on OpenGraphs, a rewrite, re-imagining of previous service I wrote 6 years ago called, LinkCards. That original service served me and my other sites pretty well, generating more than 3.8M+ images for PkgStats alone, along with all my other sites I worked on over that time.
Although it was working fine, it did ultimately end up running into some scaling issues, and since the codebase and setup was so old, it was hard to come back to and resolve those issues. Also, since writing that service, I have come across some other scenarios that I wish it would support better, so in comes OpenGraphs.
OpenGraphs is the evolution of that service, applying the things that worked, along with adding a layer and features that expand the scope and capabilities of the service and how you can use it for your sites and apps.
And, unlike LinkCards, I am actually making a meaningful effort to market and sell this service to customers, which is why I came out of the gate with an array of browser extensions for Chrome, Firefox, Edge, and more browsers to come. Along with other Free Tools available on the site for debugging and previewing social share images.
I have also integrated early versions of the service into this site, and other sites I own, as I expand out the app and management capabilities. So, if you are looking for a better way to generate and manage the Open Graph/Twitter Cards data and images for your site, join the early access list and I’ll be reaching out soon.
Also, kind of full circle, but the next-meta
package is going to find its way
into a suite of open-source offerings that will be available for utility and
integrating with OpenGraphs. It’s funny how those things can turn out.
Site updates
- Add podcasts to /about page
- Write
next-meta
and integrate it into site and pages - Add projects:
Transmits
,Starter Packs
,Skylounge
, andOpenGraphs
- Update
og:image
generation to use initial release of OpenGraphs image generation service - Add Webmentions + Pingbacks support via webmention.io
- IndieWeb-ified the site with
h-card
andrel-me
/rel-author
Personal goals
- Save weekends for kids: ✅
- Daily
trailroad1 run (weekdays) ✅ Daily Peloton session (at least weekdays, ideally all days)2
Footnotes
-
I am still a shill for the trails, but I have been extending the distance I have been running and am now averaging about 5.4 miles per run, so instead of the 20 minute commute time getting to and from the trail, I have opted to just run right from the house and run for those minutes instead of drive. ↩
-
Peloton sessions were fun, but I need the time outside and in the sun to recharge and approach both work and life feeling fresh and energized. I am sure the Peloton sessions might kick back up as the weather changes, but I plan on running outside as long as the weather—and my legs—permit. ↩
What is this page?
This “Now” page was inspired by Derek Sivers. Find more, or submit your own, at nownownow.com →
Subscribe to the
—All Play newsletter
Get updates when I publish new episodes, and post about other fun stuff that I’m into.