6 ms·
Show HN: Yaak – An open source, Git-friendly desktop API client
Hi HN! I'm Greg and I've been working on Yaak for just over a year. I usually describe it as a Postman alternative since most developers are familiar with that, but it's targeted more toward users that just want an API client (no mocking, testing, spec design, etc).
Having also created Insomnia for a similar purpose, I never thought I'd build another API client again. But, after selling Insomnia in 2019 and watching it expand into the broader feature set of Postman, I was left wanting a simpler tool again. Yaak was my answer to that.
It's hard to describe how it's better than the 100 other API clients, since its main benefit is design, but there are a few stand-out features:
- Optionally sync data to a local directory as plain-text, for use with Git/etc
- Build and install plugins for authentication, template functions, or generic actions
- Support for REST, GraphQL, WebSocket, server sent events, and gRPC
Yaak requires a license for commercial use but this only applies when using the prebuilt binaries. If building from source, a license is not required.
It's available for Mac, Windows, and Linux and the source is at https://github.com/mountain-loop/yaak https://github.com/mountain-loop/yaak
I'd love to hear you think!
- DrBenCarson 2y agoThis got much less attention than I would have expected. Yaak is awesome, please please please keep it local-friendly
- gschier 2y agoYa, the gamble of HN I guess. Thanks for saying so! It will be local friendly for as long as I'm working on it, and I'm in it for the long haul this time.
- DrBenCarson 2y agoGlad to see this picked up :) Any chance there’s room for assertions in your vision for Yaak? Running API tests is important for some teams which might force them to stick with Postman / Bruno IMO the local focus also makes this better—can run tests directly in pipeline without calling out to some SaaS solution
- dhruvkb 2y agoWould love to see a comparison with Bruno[1]. [1]: https://usebruno.com https://usebruno.com
- gschier 2y agoI've been meaning to put some comparisons together! Bruno is also a good local-first client but leans more toward Postman's market. The main advantage Bruno has is the ability to run tests, and a CLI to do so. Yaak supports more protocols (eg. gRPC and WebSocket), has plugins, and more powerful templating for doing things like generating UUIDs (also extendable via plugins).
- kamalhm 2y agowould you consider adding pre-request and post-request script in yaak also?
- gschier 2y agoIt's definitely under consideration. Yaak has Request Chaining [1] to solve some of the use-cases that scripting is typically for, though, so there isn't a ton of demand for it. [1] https://feedback.yaak.app/help/articles/7017237-request-chaining https://feedback.yaak.app/help/articles/7017237-request-chai...
- literallyroy 2y agoHere’s my own take [1] when I was on the hunt for a good HTTP client a month or so ago. [1]: https://royathan.com/blog/the-api-client-hunt/ https://royathan.com/blog/the-api-client-hunt/
- gschier 2y agoHah, and you chose Yaak!
- douglasq 2y agoThanks for putting this article together. It was exactly what I was needing to decide on which HTTP client to pick. Btw, you could think of adding a way to let your users interact with your blog. I tried search for a comment box or upvote/thumbs-up so I could send my thanks for your efforts on writing it, but could not find it, so I resorted to HN comments. Anyway, it's appreciated!
- codecraze 2y agoCongratulations ! Will test this out tomorrow :)
- gschier 2y agoAwesome! Let me know what you think.
- czhu12 2y agoI use yaak! Great piece of software for just not having to memorize curl syntax, wrestle postman What’s the end goal though? Planning to sell a licensed version? I’d be happy to pay for a model where I can own it for life but only get updates for a year.
- gschier 2y agoThis is how it works now, though I need to make it more clear. If you subscribe to the annual plan (or the monthly plan for 12 months) and cancel, you get a perpetual license, meaning you can continue using the current version indefinitely. The end goal is generate a sustainable income for as long as possible, so I can enjoy life with my family.
- sunnybeetroot 2y agoThis is excellent Greg thanks for sharing! One thing I do find missing from a lot of these API clients is synced environment variable entries between environments. For example if I create a `dev` environment that contains a `base_url` environment variable, it's expected that when I create a `prod` environment, it will also have a `base_url` environment variable. Then in the future if I add more environment variables to my `dev` environment, I need to duplicate the work of adding an environment variable entry to `prod. I can't be the only one that experiences this pain :P The UX of this could be handled in any number of ways: - When you create a new environment, ask if you want to duplicate an existing environment's variable names (with empty values) - If you add a new environment variable, ask if you want to add the environment variable name to another environment - Option to enable syncing between all environments i.e. deleting a variable row in one environment deletes it for the rest etc I was about to post this as a github issue for traction but given Issues are turned off thought this may be the next best place. Regardless, Yaak is excellent!
- gschier 2y agoThe feedback board is linked in the readme! I do agree with your points and have been passively thinking of an overhaul to how environments work. It's one of the most important features and has so much potential (like activating multiple at once)
- sunnybeetroot 2y agoAhh I’m a silly sausage then, thank you! I’m very glad you’re so responsive. Whilst postman is excellent, it’s become so big and enterprisey that it doesn’t feel like requests are heard let alone would be considered given the breadth of customers they deal with.
- gschier 2y agoYa, I feel like their need for growth is forcing them into it. I'm glad I only have to earn enough income for 1 person, not 1000.
- opem 2y agoYaak is so underrated!
- martin_a 2y agoHow can we be sure that Yaak won't be sold and enshittified two years from now? Maybe I'm nitpicky, but I love sticking to software for years, had to ditch Insomnia after an auto-update killed my collections and wanted me to sign up for a cloud service. Could happen with this (yes, any software for that matter), too, because you'll sell it in a year from now.
- gschier 2y agoI agree, there's no way to know for sure. But I feel like I'm the least likely person to do this with Yaak since I learned from experience already.
- drpossum 2y agoYou can't. Ever. So you just need to live with uncertainty.
- Artoooooor 2y agoFor Insomnia I had to disable auto-update...and also cancelled my paid subscription the day after the enshittification.
- unchar1 2y ago> Yaak is still open source under the MIT license. You can view, modify, and run the source code for both personal and commercial use. Licensing applies only to the prebuilt binaries. That's a pretty interesting pricing strategy. I think REHL is the only other project I saw with this type of pricing.
- gschier 2y agoI remember seeing another one while coming up with this, but now I can't remember what it was. It's definitely rare.
- DandyDev 2y ago"Is still open source" Does this mean that you anticipate Yaak not to be open source anymore at some point?
- gschier 2y agoYaak used to not require a commercial use license (original plan was to do cloud sync), so "still" refers to the fact that the commercial use license now exists, but the open source nature hasn't changed. I'll update the wording there, thanks!
- mzajc 2y agoSince the binary and source release come under different terms, are there any technical differences between them? For example, some projects (like Visual Studio Code) will telemetry in the binary release, but do not enable it by default in the source.
- gschier 2y agoNo difference. You can see the build pipeline in the GitHub repository which builds directly from HEAD
- 2y ago
- dban 2y ago> But, after selling Insomnia in 2019 and watching it expand into the broader feature set of Postman, I was left wanting a simpler tool again. Yaak was my answer to that I'd love to read about your experience building two distinct but similar products in the same space years apart
- gschier 2y agoI'd say the only real differences are that (1) I know what I'm building from the start and (2) I can avoid the fundamental technical mistakes. It's actually been way harder to gain traction this time, I think because APIs are no longer sexy and there are so many good tools out there.
- denvermullets 2y agofantastic. i was about to make my own after being frustated with bruno's change in billing and just lack of quality. having gone from postman -> insomnia -> back to postman -> bruno - id like to just have something simple that _just works_ without making it a pain. looking forward to giving this a spin.
- gschier 2y agoThanks! Let me know if there's anything missing :)
- yoyohello13 2y agohttps://hurl.dev/index.html https://hurl.dev/index.html Probably the only tool that won't get SASSified into oblivion. CLI only is like plot armor for enshitification.
- yoyohello13 2y agoThe Software tool lifecycle: 1. Dev makes a cool lightweight productive tool 2. Tool becomes popular 3. Company buys tool 4. Company adds a bunch of shit nobody needs making the product bloated and annoying to use. 5. Dev makes a cool lightweight productive tool
- deleted 2y ago[deleted]
- rochak 2y agoVery few for-profit projects have stayed as good (or improved) post their change to for-profit. If money becomes the sole driving factor for growth, no one can prevent enshittification. It is what it is...
- tv10 2y agoI love your landing page & overall design of the home page. So clean. Love the color scheme as well.
- JadoJodo 2y ago> The interface is clean and much nicer to use than bloated alternatives like Insomnia and Postman. As I recall, both _used_ to be the same way.
- gschier 2y agoYes indeed. This is why I stared over with Yaak
- Gys 2y agoDownloaded it, looks great. I am building a desktop app as well (very different functionality) and I wonder how do you do license management?
- gschier 2y agoJust a basic server. Licenses are attached to paying users. The app checks the license against the server periodically to unsure it's still valid. It's not that complicated since I don't care about piracy.
- yoeven 2y agoLooks great!! I would love to move to this as my go-to API client but my fear is it stops getting maintained overtime like httpie.io but at least this is open source so a great win!
- saikatsg 2y agoCool stuff, how does it compare with httpYac? > https://httpyac.github.io/ https://httpyac.github.io/
- gschier 2y agoNot sure, I haven't used it!
- desertkun 2y agoAh! I was so happy I can put postman to rest. What I didn't like is the landing page did not clearly communicate I am installing a non-free product with a trial, so I uninstalled it. I am only letting you know that this trick might affect retention.
- desertkun 2y agoDid you consider JetBrains licensing model? I don't like renting software, I'd rather buy it upfront, but JetBrains with their fallback licenses really got me – you get your perpetual fallback license for a particular version of product. And guess what, I keep paying them anyway, because of confidence I can fallback, but they keep innovating with new updates.
- samonurofil 2y ago[dead]
- danstewart_ 2y agoI’ve been using Yaak for a few weeks now and it’s great. I bounce around API clients a lot because the UX just never feels right, they always get in the way or start to feel clunky sooner or later. With Yaak it feels natural, it’s clean and simple and is a joy to use. I’m looking forward to seeing it grow and improve further. I just hope as its feature set grows it can hold on to that simplicity. Hopefully the plugin system can be used to bridge any gaps without overloading the main app.
- gschier 2y agoYes, that's the goal for the plugin system. The overall interface should not noticeably change from here on out.
- Atotalnoob 2y agoWhat about a license for devs to use when it’s commercial, but their company won’t buy it? Kind of like how Quokka has a “personal pro” license. https://quokkajs.com/pro/ https://quokkajs.com/pro/
- gschier 2y agoThat's the idea behind individual license. It's a non-transferable license that's cheaper than business.
- ianred 2y agoWas looking for a simple API fiddler, and you presented one! Thank you, will jump on it ASAP to play.
- BilalBudhani 2y agoYaak is great, I have been using it since the launch Greg. I'm kind of curious why you picked Tauri over Electron for this one? I know one big benefit is smaller binaries but I'd love to know your thoughts behind this decision.
- foo42 2y agoThought this was about the language learning app https://yakk.app/ https://yakk.app/ for a brief moment looming at the URL!
- anon115 2y agowhat tech did you use to make it desktop app? ----I'm looking to use Avalonia UI soon, ive used Wails tho.
- gschier 2y agoIt's using Tauri, so Rust and ReactJS