Yet Another REST Client?


Postman, RapidAPI, Insomnia, Hoppscotch, Httpie, Bruno, , and now Yaak? Why do we need another REST Client? I’ve seen variations of this question many times since launch, so I thought it’d be a great topic to kick off the blog.

๐Ÿ’ซ The tools can still be better

Let me start by introducing myself. My name is Greg and I launched Insomnia in 2014 (under the initial name Bodybuilder ๐Ÿ˜…) because I needed to interact with the APIs I was building at work and found existing tools to be bloated and hard to use.

With the help of the Chrome Web Store (now defunct), my little side project gained a few thousand organic users in the first year, which was enough to convince me to pursue it full time. I added a paid plan, released it as open-source, and eventually grew revenue to $20k/month in 2019 as a solo founder. Objectively, it was a huge success…

but I was totally burnt out ๐Ÿ˜ฎโ€๐Ÿ’จ

After five years of grinding, I accepted an acquisition offer because I was drowning in support tickets (mostly related to technical debt) and open-source discussions (mostly saying “no” to new features) and couldn’t see myself sticking with it for much longer. I’d dug myself into an unsustainable hole and an acquisition was an easy escape.

The combination of burnout and a 9-5 job wasn’t for me. I needed a break and wanted to explore new creative ideas, so I made the tough decision to cut my acquisition term short and return to self employment. About six months after this transition I discovered Railway, fell in love, and joined as an early engineer. I was building cool stuff again, but just like before I found myself in need of an API client.

Insomnia was still my app of choice at the time but it was steadily drifting from my initial vision. It transformed from a simple API client to a do-it-all tool for designing, debugging, and testing APIs at big-company scale. The once-simple app was now full of features I’d never use, just cluttering the experience. It was time for me to find a new tool.

I tried them all, but every tool left me wanting more. It was 2014 all over again.

๐Ÿ‘จโ€๐Ÿ’ป An API client for me

Some time later I found myself driving back from a 20-hour road trip alone–due to vehicle troubles–with an empty podcast queue. I spent the trip reflecting on difficult questions; could I build a better app? Was open-source worth it? Could I have avoided burnout? Is it worth trying again?

The thought disappeared after settling back into my daily routine, until a coworker shared Tauri–a cross-platform framework for building desktop apps with web technology and Rust. I was excited to try it but couldn’t think of anything to build… I’m sure you can guess what happened next.

I spent a day making a very bare bones proof-of-concept, and Yaak was born.

Initial prototype to test sending a single request

I kept working on it, getting more excited as things took shape, until I was spending upwards of 30 hours per week outside my day job. Before work, after work, during lunch, on weekends. I would lay in bed for hours at night writing thoughts in my journal. * *Calling it an obsession would be an understatement.** I knew exactly what to build and sprinted towards the finish.

First release shared with friends

๐Ÿšข Deciding to ship

After a month of work I sent an early release to friends and coworkers while continuing to tinker in my spare time. I was happy to finally have a tool I enjoyed using but still wasn’t considering a public release, until a handful of Insomnia’s actions changed my mind.

The first was adding a persistent GitHub stars widget, taking up valuable real-estate for no user benefit. It was a small thing, but it made clear a shift toward valuing growth above user experience. I was frustrated but there was nothing I could do.

More recently, Insomnia forced users to create an account to use the app. This one really hit hard because one of the reasons I started Insomnia was because other apps in the space did exactly this.

Users can tell when they’re not valued, and it feels like shit. This was the first time I felt like the acquisition was a mistake.

Tweet showing my initial reaction

The app I poured 7 years of my life into was now trading its user loyalty for meaningless GitHub stars. The community was outraged [1] [2] and it was my fault.

That’s when the switch flipped in my head. It was time to ship Yaak as a roundabout way of making things right, so I put in another month of work to get a release ready for the public, and announced it.

๐Ÿ‘€ What the future holds

My goal for the launch was to get enough traction to see if it resonated, and that definitely happened. The launch was modest, only bringing in a few hundred active users, but people have been submitting to the roadmap and even doing weird things like cloning the app and making themes. The signal is high. I’m doing something right, but need to get it in front of more people.

App stats since Twitter announcement

If there’s one thing I’ve learned over the years, it’s that success takes time and is 95% luck. All of Insomnia’s growth can be attributed to a handful of lucky breaks, so I’m sticking with a simple strategy for now.

  • Build out the Roadmap using community feedback
  • Focus on upcoming core features like Websocket and plugin system
  • Continue sharing my story in posts like this

I’m not sure where Yaak is headed, but I’m excited to find out. Worst case, I have the exact tool I want to use, and that’s a win in my book.

Building great products is a collaborative process, so please take Yaak for a spin and submit your thoughts. Or, if there are any topics you’d like to see covered on this blog, let me know on Twitter/X. I’m always excited to share!

See you soon ๐Ÿ‘‹