<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Henry Fellerhoff</title><description>A blog from an NYC-based software engineer and musician.</description><link>https://www.henryfellerhoff.com/</link><language>en-us</language><item><title>A new chapter at the Recurse Center</title><link>https://www.henryfellerhoff.com/blog/a-new-chapter-at-the-recurse-center/</link><guid isPermaLink="true">https://www.henryfellerhoff.com/blog/a-new-chapter-at-the-recurse-center/</guid><description>I just left my job of roughly 3 1/2 years last Friday to go be a massive nerd at the Recurse Center (a self-directed programming retreat in downtown Brooklyn) and I could not be more excited about it.</description><pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I just left my job of roughly 3 1/2 years last Friday to go be a massive nerd at the Recurse Center (a self-directed programming retreat in downtown Brooklyn) and &lt;em&gt;I could not be more excited about it&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It is such a privilege to be able to quit my job and take three whole months to make this happen. I’ve been financially preparing to make a break like this happen for a while, but that hasn’t stopped me from taking moments over the last few days to be eternally grateful for the fact that I can actually make this a reality.&lt;/p&gt;
&lt;p&gt;Since it’ll be a reality tomorrow, let’s get into it!&lt;/p&gt;
&lt;h2&gt;Why Recurse, and why now?&lt;/h2&gt;
&lt;p&gt;I had been at a level of “burnout-lite” at my job for a while, and it hit a point over the last few months where I had to do something about it. I looked into a lot of the opportunities I was being suggested by recruiters, but none of them seemed like the type of opportunity that would meaningfully change how I was feeling. Because of this (and despite the prevailing sentiments about an unstable economy) I broadened my search to other options and the possibility of quitting my job outright.&lt;/p&gt;
&lt;p&gt;I had been aware of Recurse for about a year and a half before applying this past August, learning about it first through a family friend and then through seeing it mentioned on numerous cool people’s websites. It seemed like a truly unique and special place that warranted a closer look. I talked with a handful of former Recursers at different tech events around NYC, and the vast majority of them brought up (unprompted) that it was one of the best decisions they ever made. There was such a love and passion for the space that made me start to think “hey, maybe this is what I was looking for all this time!”&lt;/p&gt;
&lt;p&gt;More specifically, I was drawn to Recurse for a few reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The Recurse Center filters more on the intention, passion, and openness of the people attending (see their &lt;a href=&quot;https://www.recurse.com/manual#sub-sec-self-directives&quot;&gt;self-directives&lt;/a&gt;) than simple years of experience or “job description” factors, which attracts a wide variety of very different people who are all wonderful to be around and have deeply varied passions and skills. The handful of people I’ve met so far (even before starting) have been so open and knowledgeable that briefly talking with them has already helped to bring back some of my passion for programming.&lt;/li&gt;
&lt;li&gt;I’ve been wanting to explore job opportunities outside of the venture-backed startup ecosystem for a while now, and this seemed like the best place to learn (at least anecdotally) about many people’s experiences, from freelancers to startup founders to big tech workers to everyone who falls outside of those buckets. Even if I land back in the early stage startup world, I want it to be a decision I’m making and not just the default from my past experiences.&lt;/li&gt;
&lt;li&gt;I’ve found myself deeply unmotivated to work on personal projects outside of work, and it’s something that I value having very deeply. Plus, there are lots of things I’ve found interesting and valuable to learn about, but I haven’t been able to bring myself to set the time aside to learn them. I’ve been mentally organizing and trying to prioritize them all for weeks, and I can’t wait to sign myself up for way too much by trying to work on all of them at the same time.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;What do I want to work on?&lt;/h2&gt;
&lt;p&gt;Like I imagine most people at Recurse, this is a rabbit hole. Here are a few of the broad strokes:&lt;/p&gt;
&lt;h3&gt;Working on existing projects&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://www.henryfellerhoff.com/projects#serial&quot;&gt;Serial&lt;/a&gt;, an RSS reader that was primarily designed for organizing and watching videos.&lt;/strong&gt; There’s a lot of work to be done here (and ~20 or so people that use it every day) so it would be great to keep working on this. I think it’s the most personally useful of the projects I’ve made, and I’ve been using it for two-ish years now in roughly the state it is today.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://www.henryfellerhoff.com/projects#openipa&quot;&gt;OpenIPA&lt;/a&gt;, a foreign language to IPA web app.&lt;/strong&gt; I’ve already found one Recurser interested in pairing on this, and it’s something I’ve meant to get around to updating for &lt;em&gt;so, so long&lt;/em&gt;. I’m very excited to talk with people who know far more than me about languages and linguistics on this and to get it to the best place I can.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I might experiment with some other projects like &lt;a href=&quot;https://www.henryfellerhoff.com/projects#tone-sandbox&quot;&gt;Tone Sandbox&lt;/a&gt;, &lt;a href=&quot;https://www.henryfellerhoff.com/projects#listen-together&quot;&gt;Listen Together&lt;/a&gt;, or &lt;a href=&quot;https://overtone.fyi&quot;&gt;overtone.fyi&lt;/a&gt; depending on interest from other musicly-interested Recursers, but those are a little less definite right now.&lt;/p&gt;
&lt;h3&gt;Learning new things&lt;/h3&gt;
&lt;p&gt;Here are a few of the big things I’d like to learn over the next few months:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A new programming language&lt;/strong&gt;. Rust is all the rage at Recurse, but my current frontrunner is Elixir for it’s deeply cool and useful concurrency model. In the end, it’ll all come down to what I can meaningfully shoehorn into a project – I’m not ruling out going all in on a dark horse like &lt;a href=&quot;https://gleam.run/&quot;&gt;Gleam&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A better ability to architect performant and (possibly distributed) backends and database schemas.&lt;/strong&gt; This desire is mainly born out of my RSS reader project, where I’m leaving a lot of performance on the table. I’m definitely a frontend-leaning full stack engineer, and having more knowledge that I’m setting up systems to be as effective and future-proof as possible would be such a leap forward.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Some more “of this moment in time” focus areas&lt;/h3&gt;
&lt;p&gt;We’re living through a pretty &lt;em&gt;interesting&lt;/em&gt; time in history right now, and I’d love to do my part to contribute what I can to making it a better time for people to live in. Here are a few related themes I’ve been thinking about when working on projects over the next few months:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;How do you build software that works for “the village” or community?&lt;/strong&gt; More concretely: we typically build software to be self-hosted by one person or hosted once by single company. What does it look like to architect software for a few tens to a few hundreds of people, all hosted and maintained by someone they know and trust? The closest analogue I have to this is the Fediverse, but I’d be very open to learning other people’s visions for what this could look like.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How do you, either personally or in your immediate community, “escape the algorithm”?&lt;/strong&gt; The most direct attempt at this I’ve made is through my RSS reader project, but I’m somewhat at a loss for ideas outside of that specific protocol. There are a lot of walled gardens out there, and I want to become more familiar with different approaches to try and scale them or knock them down in order to “de-enshittify” the web.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Things that are just for fun&lt;/h3&gt;
&lt;p&gt;Since this is also supposed to be a retreat, I’d like to focus at least in part on some things that are truly just for fun. Here are a few of my initial ideas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learn how to work with eink screens&lt;/li&gt;
&lt;li&gt;Make a &lt;a href=&quot;https://www.decentsamples.com/product/decent-sampler-plugin/&quot;&gt;Decent Sampler&lt;/a&gt; plugin&lt;/li&gt;
&lt;li&gt;Build a hyper-specific or truly useless small social media platform&lt;/li&gt;
&lt;li&gt;Create a non-standard interface for a project, inspired in part by the people over at &lt;a href=&quot;https://folk.computer/&quot;&gt;Folk Computer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;A moment of vulnerability&lt;/h2&gt;
&lt;p&gt;This is the first time in a long time that I’ve been truly excited to wake up on a Monday and start programming. Somewhat serendipitously, I turn 26 tomorrow on the first day of Recurse. As I enter the back half of my twenties, it feels so nice to feel like I haven’t betrayed how I have been feeling, and to take action on my best bet towards building the life I want to have. I want to be working on things that I feel proud to tell people about, and now I feel like I’m on the way there.&lt;/p&gt;
&lt;p&gt;Here’s to the next three months!&lt;/p&gt;</content:encoded></item><item><title>Halfway through the Recurse Center</title><link>https://www.henryfellerhoff.com/blog/halfway-through-the-recurse-center/</link><guid isPermaLink="true">https://www.henryfellerhoff.com/blog/halfway-through-the-recurse-center/</guid><description>The last six weeks have gone by in a flash - here&apos;s what I&apos;ve been working on!</description><pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;At the end of last year, I quit my job to attend the &lt;a href=&quot;https://www.recurse.com/scout/click?t=ed4215091495f11e0d2c90e916c176b9&quot;&gt;Recurse Center&lt;/a&gt;, a “writer’s retreat for programmers” in Downtown Brooklyn. I’m halfway through my batch now, with six weeks down and six weeks to go. I came into Recurse with a &lt;a href=&quot;https://www.henryfellerhoff.com/blog/a-new-chapter-at-the-recurse-center&quot;&gt;&lt;em&gt;lot&lt;/em&gt; of ideas&lt;/a&gt;, some of which I spent time on and many of which I didn’t (but that’s part of the joy!)&lt;/p&gt;
&lt;h2&gt;How’s it going so far?&lt;/h2&gt;
&lt;p&gt;So far, things are great! I would highly recommend this experience to anyone who empathizes with any of the reasons that I chose to attend.&lt;/p&gt;
&lt;p&gt;More specifically, I had a few overarching goals my time at the Recurse Center:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Meet a lot of cool, talented, and diverse people in the NYC tech scene.&lt;/strong&gt; This has absolutely happened, and continues to happen every day. I’ve had conversations with people spanning hardware, software, web applications, machine learning, weird (cool) performance art installations, and everything in between. I feel like I’ve met more people in the last six weeks than I have in the last three years of living in New York.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cure my “burnout-lite” and become excited about software engineering again.&lt;/strong&gt; I’ve made a lot of progress here! I spent much of my first six weeks working on small, one-off projects (details below), and another chunk working on &lt;a href=&quot;https://www.henryfellerhoff.com/projects#serial&quot;&gt;Serial&lt;/a&gt;. I’m in a much better headspace now, and that continues to improve with each passing week.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Explore job opportunities and career trajectories, both inside and outside the startup ecosystem.&lt;/strong&gt; I’ve been in the startup ecosystem for my entire career so far, and I wanted to be able to either return with the confidence that it was the right fit for me or spend some time at a different kind of company to gain some perspective and learn what works best for me. This is a work in progress, but I’m going to be spending a lot more time on this going forward.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What I worked on&lt;/h2&gt;
&lt;p&gt;The most consistent thing I worked on was &lt;a href=&quot;https://www.henryfellerhoff.com/projects#serial&quot;&gt;Serial&lt;/a&gt;, my RSS reader. I reworked and vastly improved the importing experience, and made progress on improvements to the data flow and data fetching performance.&lt;/p&gt;
&lt;p&gt;This was not groundbreaking progress or the true overhauls that I had envisioned, but I’m also not unhappy with it. There’s a big emphasis at Recurse of working on things that you want to work on and not that you just feel obligated to work on, and the amount of time I’ve worked on Serial reflects that. It’s a project that I’ll keep coming back to (as I use it every day still), so I’m not too worried about it falling into obscurity.&lt;/p&gt;
&lt;p&gt;In addition to Serial, I worked on a &lt;em&gt;lot&lt;/em&gt; of one-off projects in my first six weeks. Here’s a collection of them:&lt;/p&gt;
&lt;h2&gt;The projects&lt;/h2&gt;
&lt;h3&gt;A collaborative drawing app&lt;/h3&gt;
&lt;p&gt;that &lt;em&gt;technically&lt;/em&gt; uses Phoenix LiveView, but leverages very few of the features that you would traditionally use it for.&lt;/p&gt;
&lt;figure&gt; &lt;img src=&quot;https://www.henryfellerhoff.com/images/blog/halfway-through-the-recurse-center/groupzine.png&quot; alt=&quot;Two selected drawings from my group drawing app&quot; /&gt; &lt;figcaption&gt; &lt;p&gt;Here are a few of the drawings people made!&lt;/p&gt; &lt;/figcaption&gt; &lt;/figure&gt;
&lt;hr /&gt;
&lt;h3&gt;A browser extension for a “terrible ideas day”&lt;/h3&gt;
&lt;p&gt;which takes the idea of a dark mode extension to its logical conclusion. In this case, you have to navigate a pitch black screen with a flashlight, using a crank to refill the battery when it runs out.&lt;/p&gt;
&lt;div&gt; &lt;iframe width=&quot;1600&quot; height=&quot;900&quot; src=&quot;https://www.youtube.com/embed/PJQnmJWoPws&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;  &lt;/div&gt; 
&lt;hr /&gt;
&lt;h3&gt;A beyblades-inspired two person party game&lt;/h3&gt;
&lt;p&gt;using the unique spinner inputs on the RCade&lt;/p&gt;
&lt;blockquote&gt; &lt;p&gt;
me and @henryfellerhoff.com made beyblades&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://bsky.app/profile/did:plc:y6iqtflqi5zcggtxi66nw2ep/post/3m7h6ryrwvs2e?ref_src=embed&quot;&gt;[image or embed]&lt;/a&gt; &lt;/p&gt;— cysabi (&lt;a href=&quot;https://bsky.app/profile/did:plc:y6iqtflqi5zcggtxi66nw2ep?ref_src=embed&quot;&gt;@cysabi.github.io&lt;/a&gt;) &lt;a href=&quot;https://bsky.app/profile/did:plc:y6iqtflqi5zcggtxi66nw2ep/post/3m7h6ryrwvs2e?ref_src=embed&quot;&gt;December 7, 2025 at 11:25 PM&lt;/a&gt; &lt;/blockquote&gt; 
&lt;hr /&gt;
&lt;h3&gt;A port of my Theremin app&lt;/h3&gt;
&lt;p&gt;which the RCade’s poor Raspberry Pi is trying to keep up with running, as it leverages a hand recognition model that’s really meant for a computer with a GPU. Depending on how you look at it, this also doubles as a whale song emulator!&lt;/p&gt;
&lt;p&gt;You can find the original version &lt;a href=&quot;https://www.tonesandbox.com/theremin&quot;&gt;here&lt;/a&gt;, which will run much better on your (presumably) not GPU-less computer.&lt;/p&gt;
&lt;div&gt; &lt;iframe width=&quot;1600&quot; height=&quot;900&quot; src=&quot;https://www.youtube.com/embed/V7wXzOsX6mI&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;  &lt;/div&gt; 
&lt;hr /&gt;
&lt;h3&gt;A music game lovingly called Bad Orchestra&lt;/h3&gt;
&lt;p&gt;which poorly emulates a variety of instruments, and allows you to duet with someone to your heart’s content.&lt;/p&gt;
&lt;p&gt;Here’s a demonstration, which lends itself more to Bad Jazz:&lt;/p&gt;
&lt;div&gt; &lt;iframe width=&quot;1600&quot; height=&quot;900&quot; src=&quot;https://www.youtube.com/embed/PU5kTFb4dws&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;  &lt;/div&gt; 
&lt;hr /&gt;
&lt;h3&gt;Everything else&lt;/h3&gt;
&lt;p&gt;I wrote a program to read MPE data off of a fun synthesizer I bought a few years ago, using my very tenuous understanding of Rust.&lt;/p&gt;
&lt;p&gt;Relatedly, I spent a bit of time gaining a basic level of understanding of Rust and Elixir, working through a good portion of &lt;a href=&quot;https://rust-book.cs.brown.edu/&quot;&gt;the Rust book&lt;/a&gt; and a good amount of entry-level Elixir exercises. I wouldn’t call myself truly proficient in either of those languages, but I could now limp my way through a new project with them in a pinch.&lt;/p&gt;
&lt;h2&gt;The next six weeks&lt;/h2&gt;
&lt;p&gt;My goals are primarily the same for the next six weeks, but I have a few small tweaks and additions. I want to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Be a little more heads down, working deeper on a smaller number of projects.&lt;/strong&gt; There’s a common experience at RC where you’re first six weeks are either more social or more heads down, and the last six weeks are the opposite. I don’t need the pendulum to swing &lt;em&gt;entirely&lt;/em&gt; to productivity, but I’d love to come out with at least one substantial new or improved project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Refresh my job-seeking materials and search.&lt;/strong&gt; This will be a process (and doesn’t need to be totally wrapped up in the next six weeks), but I want to take advantage of RC’s in-build recruiting support and see if their partner companies are a fit for me. In addition, I want to be able to better articulate what I’m searching for in a little more depth than “something related to web technologies and I’ll know it when I see it”.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Wrapping up&lt;/h2&gt;
&lt;p&gt;My first six weeks at the Recurse Center have been a delight. My only criticism is that they’re moving too fast, but that’s always the best problem to have.&lt;/p&gt;
&lt;p&gt;Talk to you in six weeks!&lt;/p&gt;</content:encoded></item><item><title>Matching your tools to the problem</title><link>https://www.henryfellerhoff.com/blog/matching-your-tools-to-the-problem/</link><guid isPermaLink="true">https://www.henryfellerhoff.com/blog/matching-your-tools-to-the-problem/</guid><description>I built an art website for my sister using PagesCMS, Astro, and Coolify, and it’s the best combination of tech I’ve found to empower her to update her own site while maintaining good DX for the developer (me).</description><pubDate>Fri, 06 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - I built an art website for my sister using &lt;a href=&quot;https://pagescms.org/&quot;&gt;PagesCMS&lt;/a&gt;, &lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt;, and &lt;a href=&quot;https://coolify.io/&quot;&gt;Coolify&lt;/a&gt;, and it’s the best combination of tech I’ve found to empower her to update her own site while maintaining good DX for the developer (me).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I built an &lt;a href=&quot;https://www.maevefellerhoff.com/&quot;&gt;art website&lt;/a&gt; for my sister this past Sunday.&lt;/p&gt;
&lt;figure&gt; &lt;img src=&quot;https://www.henryfellerhoff.com/images/blog/matching-your-tools-to-the-job/maeve-site.png&quot; alt=&quot;A screenshot of maevefellerhoff.com, open to the &apos;Ceramics&apos; section&quot; /&gt; &lt;figcaption&gt; &lt;p&gt;Some art from the site – it’s cool, right?&lt;/p&gt; &lt;/figcaption&gt; &lt;/figure&gt;
&lt;p&gt;The easy choices for this website were &lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt; and &lt;a href=&quot;https://coolify.io/&quot;&gt;Coolify&lt;/a&gt;. Astro is the one web framework that I have had essentially zero problems with (this site is an Astro site), and it consistently does exactly the amount that makes your life easier and nothing more. All of its nice-to-have features are opt-in, and only add complexity if you use them. It has escape hatches for easy client-side interactivity as you need them, but is fully statically generated by default.&lt;/p&gt;
&lt;p&gt;Coolify is a tool to host projects on your own VPS, with the niceties (aka, git-based deployment) of a hosting platform like &lt;a href=&quot;https://vercel.com/&quot;&gt;Vercel&lt;/a&gt; or &lt;a href=&quot;https://www.netlify.com/&quot;&gt;Netlify&lt;/a&gt;. As I already run Coolify on a VPS (and have trialed it with much more intensive applications), it was trivial for me to spin up my sister’s site through it. This is the least necessary part of this whole “stack”, and I’m not married to Coolify longterm. To me, there is no need to be caught up on the details of where to host a low traffic static site more than the goal of “I don’t want to pay Squarespace &lt;a href=&quot;https://www.squarespace.com/pricing&quot;&gt;&lt;em&gt;$192 a year on their cheapest plan&lt;/em&gt;&lt;/a&gt;”.&lt;/p&gt;
&lt;figure&gt; &lt;img src=&quot;https://www.henryfellerhoff.com/images/blog/matching-your-tools-to-the-job/squarespace-pricing.png&quot; alt=&quot;A screenshot of Squarespace&apos;s pricing page&quot; /&gt; &lt;figcaption&gt; &lt;p&gt;Squarespace pricing as of February 6th, 2026&lt;/p&gt; &lt;/figcaption&gt; &lt;/figure&gt;
&lt;p&gt;&lt;em&gt;Brief aside –&lt;/em&gt; there are valid reasons to use a website builder, and it’s fine if you do. It is, however, slightly absurd to me for someone to need to pay hundreds of dollars a year for a static site when they are essentially free for anyone who is somewhat technical. Over the longer term, it should absolutely be &lt;a href=&quot;https://pjg1.site/indieweb-easy.html&quot;&gt;easier for everyone to create a site of their own&lt;/a&gt; without a programmer to help. I also understand that there is labor that goes into maintaining a “free” personal site for someone, but in the same way that someone is happy to cook for their family, I have no desire to send my sister off to a general-purpose website builder. As long as I can make it trivial for her to update the site content herself, I’m happy to manage any larger-scale changes that need to happen. I would love to work towards a world where &lt;a href=&quot;https://www.henryfellerhoff.com/blog/so-you-want-to-write-on-the-internet#before-we-get-started&quot;&gt;friends can help friends build and maintain their websites&lt;/a&gt;, and have more skill sharing as a whole.&lt;/p&gt;
&lt;p&gt;It is surprisingly difficult to track down the tools for this “skill sharing” dynamic that feel right for the job. Long-standing solutions like Wordpress exist, but that feels far too complex for a project like this. For a static site like hers, a git-based (and ideally self-hostable) CMS was a requirement; if whatever CMS I was using ceased to exist, her site should still exist as a fully-independent project that could be hosted anywhere and easily migrated to a new solution. It’s also just the way that I like to work, which is an equally relevant constaint for a project like this.&lt;/p&gt;
&lt;p&gt;After taking a thorough tour of the &lt;em&gt;loosely&lt;/em&gt; up-to-date &lt;a href=&quot;https://jamstack.org/headless-cms/&quot;&gt;Jamstack Headless CMS&lt;/a&gt; list, I identified a couple of possible candidates. &lt;a href=&quot;https://tina.io/&quot;&gt;Tina CMS&lt;/a&gt; seems like it could be useful for a somewhat larger project, but I found their self-hosting documentation lacking and wasn’t willing to wade through figuring it out. I took another look at &lt;a href=&quot;https://decapcms.org/&quot;&gt;Decap CMS&lt;/a&gt; (which I always want to be a viable option), but the fact that the only clear documentation was to set it up through Netlify was a non-starter for me. It’s also worth noting that their product and marketing copy look identical to years ago when they were still called Netlify CMS, which does not inspire confidence.&lt;/p&gt;
&lt;p&gt;Out of the available options, I settled on &lt;a href=&quot;https://pagescms.org/&quot;&gt;PagesCMS&lt;/a&gt; for a couple of reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The UI is incredibly minimal. There are only the knobs and settings that are necessary, and I can tailor what is editable for my sister’s needs with an easy to understand &lt;code&gt;.pages.yml&lt;/code&gt; config file.&lt;/li&gt;
&lt;li&gt;I can invite her as an editor without her needing a GitHub account. This immediately lowers the barrier to entry compared to other options.&lt;/li&gt;
&lt;li&gt;It’s a flat-file based solution where content is stored directly in Markdown files. This greatly increases the site’s portability if the CMS stops being maintained, and integrates perfectly with Astro’s &lt;a href=&quot;https://docs.astro.build/en/guides/content-collections/&quot;&gt;content collections&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Self-hosting PagesCMS was fairly trivial by following &lt;a href=&quot;https://github.com/pages-cms/pages-cms?tab=readme-ov-file#install-and-deploy&quot;&gt;their docs&lt;/a&gt; – outside of a brief hiccup with an environment variable that I didn’t mark as multiline in Coolify (make sure to do that), things went very smoothly. It’s worth noting that self-hosting is not necessary, as you can simply use their hosted version for free. This is the beauty of a git-based CMS – if their hosted option goes down tomorrow, you still have all your content and replace their infrastructure with your own.&lt;/p&gt;
&lt;p&gt;At the end of this all, I have an incredibly simple and easy to use UI to hand to my sister to update her site. Here’s what it looks like for her:&lt;/p&gt;
&lt;figure&gt; &lt;img src=&quot;https://www.henryfellerhoff.com/images/blog/matching-your-tools-to-the-job/cms-screenshot.png&quot; alt=&quot;The PagesCMS editor, open to my sister&apos;s site&quot; /&gt; &lt;figcaption&gt; &lt;p&gt;I would love live preview support at some point, but it’s really not that
significant – with a git-based deploy integration, it only takes ~5 minutes to
see content reflect live.&lt;/p&gt; &lt;/figcaption&gt; &lt;/figure&gt;
&lt;p&gt;At the end of all of this, I feel like I’ve picked the right tools for the job. We live in a period of (what feels like) either framework over-engineering or a contrary desire to return to “the old way of doing things”, so it’s nice to find a secret third option in the middle. I haven’t signed myself up for the long tail of minor copy updates that keeps someone from maintaining a simple site long-term, but I’m also lacking the dread that comes from the realization that you now need to maintain an overly-complicated set of technologies for an indeterminate time into the future.&lt;/p&gt;</content:encoded></item><item><title>So you want to write on the internet – where should you go?</title><link>https://www.henryfellerhoff.com/blog/so-you-want-to-write-on-the-internet/</link><guid isPermaLink="true">https://www.henryfellerhoff.com/blog/so-you-want-to-write-on-the-internet/</guid><description>I&apos;ve had a handful of friends and family interested in having a place to put writing on the internet lately. This is my collection of websites, services, and methods for making a writing-first website that I can confidently recommend to the people that I care about.</description><pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I’ve had a handful of friends and family interested in having a place to put writing on the internet lately. This is my collection of websites, services, and methods for making a writing-first website that I can confidently recommend to the people that I care about.&lt;/p&gt;
&lt;h3&gt;Who this list is for:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;People who feel their current platform’s politics (e.g. Substack) don’t reflect their worldview, and want to support a separate platform&lt;/li&gt;
&lt;li&gt;People who are tired of publishing sites being shut down, becoming unaffordable, and/or trying to scale past a simple writing site&lt;/li&gt;
&lt;li&gt;People who “just want to write” and be able to point their friends and colleagues to that writing&lt;/li&gt;
&lt;li&gt;People who want to be a bit of a hipster in their platform choices and support independent developers, small companies, or non-profits&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Who this list is not for:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;People who want an overview of the current “startup publishing ecosystem”&lt;/li&gt;
&lt;li&gt;People looking to make websites that are not primarily text-based&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This list is sorted roughly in order of complexity to use. Not every one of those values will be present in the options below, but I’ll try my best to call that out as we go along.&lt;/p&gt;
&lt;h2&gt;Before we get started&lt;/h2&gt;
&lt;p&gt;There is a lot of complexity in software engineering today, but making a website is meaningfully easier than it ever has been. You can still create an HTML file from scratch and put it somewhere on the internet – congrats, you have a website! If you consider yourself a programmer, there are frameworks like &lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt; that are refreshingly simple for those coming from a giant web framework background and let you create websites that are nothing more than a set of fancy Markdown files. Static site generators like &lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; and &lt;a href=&quot;https://gohugo.io/&quot;&gt;Hugo&lt;/a&gt; have been around for forever, and have a wealth of themes and resources available for you to learn. Updating a site like this can be as easy as adding a new file, writing your post, and hitting a button or running one command.&lt;/p&gt;
&lt;p&gt;If mentioning code makes your eyes glaze over, I have one more plea to leave you with: I see websites as a kind of craft, and making them for friends and family feels meaningfully different to me than making a Big Scaleable Web Application for a job with a salary. I would love to see a world where we’re exchanging time and skills more with the people we care about – if you have a friend who knits and they need a website, why don’t you trade them a simple polished website for a nice knit hat? There are some things that don’t need to be mediated through a big service, and personal websites are probably the simplest and most approachable things to create and host on the internet.&lt;/p&gt;
&lt;p&gt;All that being said, sometimes you want a website and you want it &lt;em&gt;now&lt;/em&gt;. Here are the options for you:&lt;/p&gt;
&lt;h2&gt;The options&lt;/h2&gt;
&lt;h3&gt;&lt;a href=&quot;https://bearblog.dev/&quot;&gt;Bear Blog&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Best for: simple blogs, free theming, easy to use&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is a simple blogging platform with a primary goal of longevity. Herman (who runs the service) seems like a delight from the things of his I’ve written – you can read more in &lt;a href=&quot;https://herman.bearblog.dev/manifesto/&quot;&gt;The Bear Manifesto&lt;/a&gt;. If you want an idea of what to expect, the &lt;a href=&quot;https://docs.bearblog.dev/&quot;&gt;docs&lt;/a&gt; should give a nice overview without you needing to make an account. It has a variety of themes to choose from, and allows customization for the most important aspects of your site (plus, you can get your hands dirty and write some CSS if you want too). You can pay $6/mo or $49/year to connect a custom domain and access many other features.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This might not be for you if:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Markdown formatting scares you (I promise it’s accessible to learn though)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;a href=&quot;https://mataroa.blog/&quot;&gt;Mataroa&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Best for: minimalist blogs, flexible and accessible data export options&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Much of the benefits of Bear Blog apply here – Mataroa is a minimal platform with a creator (Theodore) who cares a lot, and is especially strong on allowing you to export data if you need. There are extensive materials available on the platform’s &lt;a href=&quot;https://mataroa.blog/about/methodology/&quot;&gt;methodology&lt;/a&gt;. You can pay $9/year (yes, not a month) for access to a custom domain and post by email. If you’re looking for a site that walks the line between minimalist and brutalist, this is a great option. It’s also worth noting that this is the cheapest cost for a custom domain on this list.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This might not be for you if:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Markdown formatting scares you&lt;/li&gt;
&lt;li&gt;You want to customize your blog theme, or you aren’t a fan of (lovingly) brutalist design&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;a href=&quot;https://pika.page/&quot;&gt;Pika&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Best for: nice writing editor, nice themes, easy customization, cute mascot&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pika is a blogging service that’s as polished as you want a blogging platform to be – it’s got a great post editor, nice themes, and is made by a &lt;a href=&quot;https://goodenough.us/&quot;&gt;small software company&lt;/a&gt; who cares about what they make a lot. You can write 50 posts for free, and they have data exporting if you decide Pika is not for you. They are very up front with pricing, and you can unlock every essential “polished” blog feature (unlimited posts, custom domains, newsletter subscribers, removing branding) for either $6/mo or $60/year. In my mind, this is the goldilocks option for a non-programmer of approachable, free to start, and run by good people – as long as you’re okay with the 50 post limit for free accounts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This might not be for you if:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You want to write unlimited posts for free&lt;/li&gt;
&lt;li&gt;You hate small, mountain-dwelling mammals&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;a href=&quot;https://www.tinylogger.com/&quot;&gt;Tiny Logger&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Best for: developing a writing practice, minimal and polished reading and writing experiences&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I know about Tiny Logger through watching &lt;a href=&quot;https://maximpekarsky.com/&quot;&gt;Max&lt;/a&gt; (the creator) use it at the &lt;a href=&quot;https://www.recurse.com/scout/click?t=ed4215091495f11e0d2c90e916c176b9&quot;&gt;Recurse Center&lt;/a&gt;. It’s a clean, polished, and free blogging app, and seems most geared toward the writing process as opposed to the published output (although the output is nice too). Some notable features are daily writing tracking, a “no judgement” mode for first drafts, setting a word goal for a piece, and tracking a piece as it goes from Idea → Draft → Published. I’m not sure how much the site costs to run, but there’s a full JSON data export available in case it becomes too expensive to run and has to become paid in the future.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This might not be for you if:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You’re not a fan of using Google to sign in&lt;/li&gt;
&lt;li&gt;You want granular styling/theming support&lt;/li&gt;
&lt;li&gt;You want a custom domain&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;a href=&quot;https://write.as/&quot;&gt;write.as&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Best for: nice writing editor, minimal experience, fediverse support, self-hosting a platform for friends&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Write.as is great for a specific type of person who wants a minimal writing experience and posts that are native to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Fediverse&quot;&gt;Fediverse&lt;/a&gt;. It’s made by a &lt;a href=&quot;https://musing.studio/about&quot;&gt;small product studio&lt;/a&gt; who seems thoughtful and well-meaning, and is available to self-host for those that are technically inclined. Free registrations are closed as of January 2025, so you’d be signing up at their $9/mo Pro tier (which is likely a little steep compared to the other available options).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This might not be for you if:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You want a free option&lt;/li&gt;
&lt;li&gt;You want theming options&lt;/li&gt;
&lt;li&gt;You don’t care about the Fediverse&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;a href=&quot;https://buttondown.com/&quot;&gt;Buttondown&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Best for: newsletters, polished interfaces, paid subscriptions, API access&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Buttondown is probably the pre-eminent option for those who want a newsletter service that is big enough to be polished and small enough to avoid the big platform trap of being loved for a year or two and then hated once it is &lt;a href=&quot;https://en.wikipedia.org/wiki/Enshittification&quot;&gt;enshittified&lt;/a&gt;. It’s free for your first 100 subscribers, and seems fairly priced past that point ($9/mo for 1k subscribers, $79/mo for 10k subscribers). They don’t take fees from paid subscribers, and explicitly call out their goal to be a small, independent business with longevity at the forefront (plus, they have a great track record with &lt;a href=&quot;https://buttondown.com/open-source&quot;&gt;supporting open source&lt;/a&gt;). I haven’t personally used Buttondown, but it’s been around for long enough and (anecdotally) universally loved enough that I feel comfortable recommending it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This might not be for you if:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A newsletter is a nice feature to have, but not your primary goal&lt;/li&gt;
&lt;li&gt;You want lots of site customization options&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;a href=&quot;https://ghost.org/&quot;&gt;Ghost&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Best for: small publishing orgs, people looking for something battle tested, you want to make money from writing in some way&lt;/p&gt;
&lt;p&gt;Ghost is the crown jewel of polished publishing platforms. They’re a &lt;a href=&quot;https://ghost.org/about/&quot;&gt;non-profit&lt;/a&gt;, and power publications doing great work like &lt;a href=&quot;https://404media.co&quot;&gt;404 Media&lt;/a&gt; and &lt;a href=&quot;https://hellgatenyc.com/&quot;&gt;Hell Gate&lt;/a&gt;. Websites through them start at $15/mo (on an annual plan), which is a little steep for those looking for a simple blog but can be a steal for websites with aspirations of becoming a “real publication”. Ghost is open source and can be run yourself, but you’ll need significant technical knowledge and &lt;a href=&quot;https://docs.ghost.org/hosting&quot;&gt;it may end up being more expensive to run&lt;/a&gt;, especially if this is the only service you’re looking to run yourself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This might not be for you if:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You’re looking for a minimal writing solution&lt;/li&gt;
&lt;li&gt;You want a service that’s inexpensive/free&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;That’s it!&lt;/h2&gt;
&lt;p&gt;If you end up taking my recommendations on any of these services (or if any of my information is out of date), &lt;a href=&quot;mailto:mail@henryfellerhoff.com&quot;&gt;shoot me an email&lt;/a&gt; and let me know!&lt;/p&gt;</content:encoded></item></channel></rss>