This weekend, I caught myself in one of those moments where I’m just staring at a design for close to an hour. I’m essentially doing the human-equivalent of “beach-balling”. I have so many thoughts spinning around in my head that go way beyond the design itself and carry far into the future, calculating all the various outcomes of the design. It put me at a bit of a standstill until my wife, Jen, asked what was up.
Jen is a freelancer—and a Cushion user—so I figured I’d take this opportunity to do some “user testing” by asking for her thoughts. We ended up chatting for a good while about freelancing in general and what she’d love in a freelancing tool like Cushion, with me pulling out my phone every few seconds to jot down notes. The beauty of user testing is that it’s not always about the idea or suggestion that they give you, but rather the few words they say that triggers an idea of your own. Sure, if everyone’s saying something’s broken, you should probably fix it, but if they say “I know how I feel about a project when I finish, but I have no way of capturing that and remembering for next time.” That’s gold to me.
Honestly, I had a hard time falling asleep that night. My mind was racing with ideas, but the reassuring part was that they all involved what I currently have with Cushion—not what I could have if I started fresh. Throughout this process of exploring a modern Cushion, I forgot an unspoken guiding principle that I actually wrote about five years ago—everything in increments. Remembering this post existed, I went back and re-read it. While this post is mostly about rolling out the initial launch of Cushion, it actually provided a ton of guidance for my current situation five years later. Here I was, gearing up to build a completely fresh version that would almost certainly consume all of my time for months if not years, while I already have a really solid app that I could shape in the right direction week-to-week. It made me think—just like an old house you’re looking to renovate, this app has good bones.
I realized there’s still a path to where I want to go that doesn’t involve flattening everything and starting from scratch. Of course, the experience of working in a completely fresh codebase was a useful exercise, but I’m kidding myself if I think I could get this version up-to-speed by only using nights and weekends. It demands much more time, which I don’t have or want to give up. While I recognize that the scope of the app’s features should be determined by my capacity as an individual, the time that I can devote should also be a determining factor. I’ve tried Cushion as a full-time job before. I prefer it on the side—always there and without pressure.
As much as I’d like to pause time and see where a completely new Cushion could go, I still love what I currently have. I can see a much more manageable and enjoyable path forward if I stay the course and tweak it little by little. This gets me back on the track of consistently updating Cushion, providing existing users with new things to try out, and dispelling the perception that anything with Cushion has stalled. There’s so much value in the work that I put into Cushion over the past six years. It’s so easy to forget that, but I’m glad I can still recognize it.