The Blog
Sometimes we write stuff.
You can read it here now, or later with the RSS feed,
or Subscribe to our (almost weekly) newsletter.
-
Good Enough Is Reorganizing
Hello reader, Matthew here. For those of you who’ve been on this journey with us since the early days, you might know the story of Good Enough’s inception. It was started by Shawn and Barry as a modest effort to realize some fun product ideas, with the lofty goal of seeing if we could make the web a little more interesting while making at least enough money to cover costs. They put together a small team (that’s when I joined), and we set out on a stormy year of prototyping and building and bad ideas.
Fast forward to today, and after much trial-and-error, a zine, a printer experiment, and many illustrations that became stickers, we’re thankful to have found some modest product successes in Jelly and Pika. What we’ve learned along the way is that, to properly care for all our products as they continue to grow, more individual focus is needed.
Internally, our team has been mostly split up for a while now, as different team members gravitated to different products. Starting next week, we’ll be making it more official and reorganizing Good Enough into separate entities:
-
We’re Shutting Down Yay.Boo and Ponder
Update 12/03/2025: Yay.Boo is staying alive! 🙌 Keep your eyes peeled to Yay.Boo for updates.
We have built a lot of good products here at Good Enough. Whether you’re sharing an inbox with your team or avoiding social media with a blog, we’ve got you covered. Unfortunately, there are some products that, while very nice, have not had our attention for a long time. Two of those products are Yay.Boo and Ponder.
Ponder, our take on small forum software, was one of the first things we built as a collective. Even today, it works really well for a small group of polite folks to talk about a shared interest. Unfortunately, not many small groups found Ponder, and our team hasn’t had the bandwidth to continue improving the software.
Yay.Boo is a delightful tool with which to quickly throw some HTML online. On top of that, it has always been a playground to push the envelopes on just what a product homepage could look like. Unlike Ponder, Yay.Boo is even getting a decent amount of use.
-
· Barry Hess · TIL
TIL: Rails, CloundFront CDN, and imgproxy
In September, I worked on improving Pika’s image performance. I’ve had a long career now (25 years 😭) doing mostly web-programming tasks, yet somehow I’ve never set up a CDN myself. I suppose the "management years" right as my prior organization was getting bigger contributed to missing out on that experience. In any case, the work was overdue on Pika and it was time to tackle it.
Through a bit of help from online articles and online friends, I’ve gotten it mostly figured out. Here is Pika’s setup.
-
Prettier Email Headers
As we’re building Jelly, we have found ourselves looking at lots of raw emails. In particular, we’ve spent a lot of time with email headers. If you’ve ever had cause to do the same, you know it can lead to lots of scanning and squinting.
There’s got to be a better way! And here it is: Prettier Email Headers. [Ed: This project was shut down in October of 2025.]
-
How LRUG uses Jelly to remove confusion and simplify organisation
The London Ruby User Group is one of the longest-running technology user groups in the world, having held a monthly meeting almost every single month since late 2006. It’s no small feat to have kept a local community running for so long, especially since everyone involved is a volunteer.
Jelly is the foundational tool that helps LRUG’s organisers keep things running smoothly.
The beating heart of LRUG is the mailing list, and the team regularly puts out a call for members to give presentations at the monthly LRUG meet-up. Those submissions are sent to an email address which forwards directly into Jelly.

-
You Need Customers to Succeed in Small Business
For your small business to survive, you need customers. Not just to buy once. You need them to come back, tell their friends, and trust you over time. And yet, too many small businesses make it weirdly hard to talk to them.
Well, duh, right?
I agree, yet I see small businesses fumbling this over and over. All the attention when discussing business is about giant corporations. Whether they’re selling servers or vehicles or every product under the sun, millions of dollars pass through their doors every day. Yet it is folly to apply the methodologies of giant companies to our small businesses. It sounds obvious, but I constantly see small businesses making it hard for customers to get in touch. If a customer does get through the “contact us” gauntlet, that small business often uses needlessly complicated enterprise software to talk with customers.
-
James is Good Enough
We put a lot of ourselves into our work, and it occurs to us that you, dear reader, might not know much about us. So we’re descending deeper, ever deeper, into the Q&A column introduce ourselves, one-at-a-time. Desperate to keep things interesting, James tried to spice up the interview format...
… OK ChatGPT, I want you to read my personal website and the Good Enough website, particularly the "<person> is Good Enough" posts, and the posts I've written there.https://lazyatom.com
https://interblah.net
https://goodenough.us
https://goodenough.us/blogOnce you've done that, I want you to conduct a question-by-question interview with me, to form the basis of a "James is Good Enough" post. Ask me one question at a time, and then use my answer to evolve the interview. We should aim for about 8 questions in total.
Don't be boring. Use the existing posts as inspiration, but I want the post about me to be unique. I'd be cool if it went in a strange tangent.
Absolutely! Let’s kick off this interview with a question that sets the tone:Q1: If your inner monologue were a programming language, what would it be, and why?
-
Barry is Good Enough
We put a lot of ourselves into our work, and it occurs to us that you, dear reader, might not know much about us. So we’re continuing our Q&A column to introduce ourselves, one-at-a-time. Today, we’re meeting the biggest Pika fan, Barry Hess…
Who are you? (Who, who, who, who?)
My name is Barry Hess. I grew up in a rural part of Minnesota where the population of the entire county is less than 10,000 people. After getting a college degree in Computer Science, I moved to a metropolis of 25,000 people in southern Minnesota. I live here with my wife and three daughters, though our children are actively growing and slowly moving out into the world to create their own lives. 😭I’ve been coding off and on for nearly thirty years now, though there was a bit of a dalliance in management for a while.
-
There's no “A” or “I” in “Jelly”
The second half of 2024 was definitely an inflection point in the world of software. Large Language Models (LLMs) and generative AI started to permeate products everywhere, from chatbots to operating systems, and at times it felt like everyone was taking part in a race to integrate some AI feature or other into their product.
This seems to have been particularly true in the world of customer support. Whole businesses seem to have pivoted, turning AI into their central feature as if their very lives depended on it. Some taglines from well-known companies leave no doubt:

-
· Barry Hess · TIL
TIL: Tiptap Excerpt Extension with Rails
While building Pika’s Stream of posts layout, we had need to add the capability to manage excerpts in the Pika editor. These excerpts would be used to show a small portion of your post in a post stream while offering a “continue reading” link for readers to click to read the rest of your post. To add this capability we had to dig into extending the base open source library for our editor, Tiptap.