8 ms·
Show HN: Voiden – a free, offline, Git-native API Client
Hey HN! Aldin here, a helping hand to Voiden (https://voiden.md https://voiden.md)
Voiden is a free, offline, Git-native API client. Your API definitions, docs, and tests all live together.
It came out of years of frustration: cloud sync lock-in, paywalled basics, bloated UIs, and lag on even simple requests. So the team built the opposite: an offline tool with no login, no telemetry, no lock-in. Just markdown and hotkeys.
It behaves like code: local files, git branches, no cloud nonsense. Terminal is built-in, so you can commit, diff, and push changes right from the app.
Docs stay close to your requests, so that API spec and what the API actually does never drift apart. No more scattered Postman, docs, and test files everywhere. A single source of truth.
A minimalist GET request looks something like this:
GET
https://dummyjson.com/posts
Just hit /endpoint, paste the URL, and run it with Cmd/Ctrl + Enter.
Not OSS (yet), but 100% local and free.
Optional plugins will be coming down the line, but the core stays free.
We'd love feedback from folks tired of overcomplicated and bloated API tooling.
- rohitghumare 1y agoSomething I was looking for.
- kiselitza 1y agoSweet, let us know how it feels. Happy to hear the feedback
- nikolasdimi 1y agocool!
- rapnie 1y ago> Not OSS (yet) Does the "yet" infer that you do intend to open source the baseline product, and then have paid plugins?
- pvg 1y agoIt would probably imply it
- rapnie 1y agoBeing open source is a feature, and I have often seen marketing imply this and when pressed returning a "we are considering it", while remaining proprietary. I have also seen "at this early stage the core is still minimal", and then staying like that for the free version.
- kiselitza 1y agoThat's correct. The intention IS to open source. Voiden evolved from an internal tool where the team bundled a lot of features into the core product. Currently separating certain things into plugins. By the time that is done, and some community adoption/engagement is happening, the tool will be open-sourced. As per the plugins, that's right. Some of the plugins can/will be monetized - but that's the discretion of the plugin developers. We won't be charging for any plugins that we build, unless they have an operational cost for us.
- phoronixrly 1y agoI'd like to put an emphasis that the biggest part of 'When Did API Tooling Become a Circus' is the idea that you can close source, lock down, and enshittify dev tools.
- kiselitza 1y agoOh, 100%. And I'm all for FOSS and an adapter architecture approach (no lock-ins of any kind). Team is aware of it, CTO wants it, so opening the core is happening. I've got no reason not to believe them. Ofc, can't expect a stranger to believe me either. The fact that you can build your own plugins on top of the core, even before open-sourcing it, should be a sign that it's about giving you control, not locking you in on anything. But yeah, actually making it OSS will make that trust grow much easier.
- leguy 1y agoI hold no judgement here, as someone who has only ever built software for profit but if the intention is to make it OSS, why not start that way? For many, OSS is a core feature, and as you know, many devs have been burned by postman, insomnia, etc.
- kiselitza 1y agoTo the best of my understanding, it is exactly what I wrote in the parent comment. It's the fact that the core lacks bits developed in the internal tool but not yet unglued from what will go in the plugins section. It's not unheard of. For instance, I got another team and devtool I work with, non-related to the API niche, and they are going open source mid-next week. Some teams want to build the core their way, some want to see if it will catch traction before committing to support an entire community and contributions, some have got something else going on, some actually ARE shady and talk OSS for clout, etc.
- _nhh 1y agoif its offline, how do you clone a repo? :thinking:
- kiselitza 1y agoA repo, as in the project that contains the API specs and definitions, which you and your team are working on? Through terminal `git pull` Or you're asking me something else?
- GlacierFox 1y agoThis actually looks great. Can't wait to try it out when I get home.
- kiselitza 1y agoMuch appreciated :) Let me know how it feels, the goods and the bads, every bit of feedback is very welcome.
- ale42 1y agoSetup executable is pretty big, is it an Electron app?
- kiselitza 1y agoYep, it's an Electron app. Looking to optimize it as well.
- iand675 1y agoI mean this nicely, I don't really feel like anything on the landing page besides one paragraph is actually helpful to readers understanding what problem you're trying to solve. I think it'd be useful to focus on this more: > Voiden turns your API definitions and docs into dynamic, purpose-built interfaces — no fixed UI, no rigid templates. Everything is composed in one place and rendered down to Markdown, tailored to the API it serves.
- nikolasdimi 1y agotrue
- kiselitza 1y agoHmm, I appreciate this, for real. We'll have some more discussions on how to optimize the landing page. Curious, how do you feel about the tagline stuff? Happy to learn anything else you'd be willing to add here. We're all for making it crystal clear, no fluff, just making devs lives easier, which also means not wasting their time to understand whether they need it or not.
- qcic 1y agoNot GP, but the tagline above the fold doesn’t tell anything related to the actual value prop. Modular, extensions etc are implementation details. Git-native? I had an “idea” of what that meant, but had to scroll down to confirm.
- andybak 1y agoI'm still not sure what an "API client" is in this context.
- lawgimenez 1y agoOr git-native means.
- 1y ago
- utrack 1y agoIs there any way to subscribe to be notified when the Linux package becomes available?
- kiselitza 1y agoThe easiest way I can think of is for you to join the Discord server. Top right corner of the website (I'm aware that's not the best icon for it - addressed it to the team). Shouldn't take long until Linux is up there, tho. I know the team started managing the build process.
- kiselitza 1y agoBeta Linux version is now on the website. Feel free to go check it out :)
- BewareTheYiga 1y agoI'm curious to give this a spin and see how it compares against Bruno (https://www.usebruno.com https://www.usebruno.com) --> not affiliated
- kiselitza 1y agoAnd we're happy to hear your feedback about it :)
- the_arun 1y agoWhat do you mean by offline? Don't we need to be online if we need to make an API call?
- santiagobasulto 1y agoNot my product, but I think "offline" means no-cloud. You keep track of your API calls / definitions in your local filesystem/Git server without storing it in someone else's server.
- giancarlostoro 1y agoI wonder if this is the time to start pitching "Offcloud" or even "Cloud-free" or even "No-cloud" as opposed to "offline" as a feature ;) It's nice to have the option to not need an entire online apparatus to make your software function.
- kiselitza 1y agoHuhh, I think that may not be the worst idea. Feels like there’s room for a better shared language around this shift from everything-as-a-service towards owning your stack. Maybe even bringing back localhost is not the worst approach. Hmmm… just thinking out loud.
- quinncom 1y agoSnaS – software, not a service.
- giancarlostoro 1y agoThat sounds snazzy!
- qcic 1y agoNo. You can very much call your project that is running locally without any internet connection.
- 1y ago
- gschier 1y agoAs the creator of another free/offline/git-native API client Yaak (https://yaak.app https://yaak.app) I just want to say this looks awesome! It's refreshing to see a new API client that isn't just a reimplementation of Postman's interface.
- giancarlostoro 1y agoWait you also made Insomnia too, that's pretty cool. Good on you to keep doing what you enjoy.
- gschier 1y agoYep, and thanks! For some reason companies keep thinking API clients are big business and ruin them with attempts to maximize profits.
- stronglikedan 1y agoWell, I've been using Insomnia up until today! Didn't know about the drama. At least I have a few alternatives to try now thanks to this post.
- kiselitza 1y agoHey, I know you! I used to use Insomnia before all the lock-in mess while I was still a dev. Thanks for the kind words, the team will appreciate it. I hope you keep doing what you like!
- gschier 1y agoHah, that's awesome to hear! That lock-in mess was a sad time for me. Let's take some of that marketshare away from Big Co
- deleted 1y ago[deleted]
- googoloid 1y agoThis looks pretty exciting, the documentation aspect of api-client-in-md has potential! When do you think you'll have a linux client available? I'm hoping it will be available via flatpak :)
- netghost 1y agoIt seems really neat, but it's unclear what problem you're solving. Is the goal of the project to let people write documentation for APIs, explore APIs, or something else? Here are a few suggestions: 1. Start with a clear story of why you built this. Not lock in etc, but what were you or your team trying to do? That will help me understand whether I too try to do this thing. 2. Now you can tell me about all your frustrations, and I as a fellow misery drenched individual will say "Yes! I too have suffered the lack of cloud sync lock-in!" 3. Let me see it! Is there a way to embed the actual editor in the browser? Barring that putting a heading over the video, or a caption telling us what you're doing. When I click around to explore, let me click on those screenshots so I can see what you've built. All in all, this looks really neat, but the challenge with building something divergent is that you need to invest more effort in telling the story.
- kiselitza 1y agoI've been reading this one and then the post itself a couple of times. Appreciate the suggestions and the time you took to write them down. Just not sure if those would help here (not saying they 100% wouldn't). I am all for storytelling on some platforms, but HN is IMHO a no-bs, no fluff, keep-it-short and to-the-point space. If you're a dev, and you excessively ran APIs or governed them, you most likely remembered the pains mentioned later in the post the second you came to "API client" bit. The frustration bit should tell you why it's not just another one of those tools but rather addresses those pains. And the example is showcasing the minimum effort needed to execute an endpoint. If I were to rewrite it again, I don't think I'd change much, if anything.
- netghost 1y ago> If you're a dev, and you excessively ran APIs or governed them… I am a dev, and it took me a while to realize this was the pain point you were solving. Mayhaps I'm the wrong dev, and that's just fine, regardless this looks pretty neat.
- kiselitza 1y agoOr maybe I'm the wrong storyteller for you :D We did get a couple of pieces of feedback re- the landing page not being clear. I'm wondering if you checked the website before or after reading my copy? Would you say that may have impacted this "time to realisation" span?
- zimbatm 1y agoOne thing I miss the most when writing Markdown is this formula experience you get in Excel. Jot something down, get the result. Then link it to another block. There are tools like Jupyter notebooks that have all the functionalities, but their file format isn't very readable or diffable using standard terminal tools. A while back I wrote https://github.com/zimbatm/mdsh https://github.com/zimbatm/mdsh to explore the space. Voiden.md looks like a fancier version of that.
- kiselitza 1y agoYou could technically add mdsh to the Voiden terminal, and now the whole thing is fully markdown haha. Curious, what did you learn from exploring it?
- zimbatm 1y agoThat I wasn't very good at Rust :-D My assumption was that a tool like this will make it easier to keep the README.md in sync while the project evolves. Think of a `--help` section. That assumption holds true to me. You can see it in action for example here: https://github.com/numtide/treefmt-nix?tab=readme-ov-file#supported-programs https://github.com/numtide/treefmt-nix?tab=readme-ov-file#su... The best part is that it makes it easy to keep the README.md in sync when the project evolves. Just add it to the CI
- cssanchez 1y agoThis looks great. Regarding the taglines and copy being confusing for some, I understood it, but I have some suggestions: Instead of saying what it is, say what it does (for the user). For example instead of 'Offline-first API Client'..., try "Document your API, test it, and version it using Git 100% locally and free in a modern GUI. Voiden even includes a terminal so you can execute any command or custom workflow without ever leaving the app. (OSS release coming soon)". Remember, show, dontt tell.
- kiselitza 1y agoMuch appreciate the suggestions! :)
- jkcxn 1y agoThis seems like a really good idea. I like that it's just markdown files and how seemless it is with an existing project. I have a few minor suggestions 1. I would really like a way to run the endpoint by clicking something in addition to command+enter (it wasn't obvious that I could open the sidebar and then click play but I see that now) 2. It would be good to include the evaluated request body and headers in the result sidebar 3. Duplicate file in the file tree context menu - I saw it in the tab context menu but that seems unintuitive 4. Maybe allow the user to set variables inside the markdown that can be imported to other files, for example a customerId variable that different requests could use which isn't part of the environment 5. Dragging text around appears like it will be moved but when releasing the mouse nothing happens And finally 1 question I have: is this using an underlying text editor? It looks pretty robust but it doesn't look like VSCode, maybe something else? I am wondering if it's available to use for my own project
- kiselitza 1y agoMuch appreciate the feedback! Took it to the team already. I waited to get a confirmation for your question before answering, so here it is: it's built on top of tiptap + codemirror.
- popalchemist 1y agoIs the app itself not FOSS?
- kiselitza 1y agoAtm just an F, catching up with the rest of the letters. :)
- remram 1y agoLooks to be similar to Hurl https://hurl.dev/ https://hurl.dev/ https://github.com/Orange-OpenSource/hurl https://github.com/Orange-OpenSource/hurl Apache-2.0 Not sure, it's hard to parse your website. Too many empty taglines like "docs that do more" and "git-native", and the 5px font in your screenshots does not help. This screams "no programmers only designers here". Honestly it's a red flag for a programming tool.
- kiselitza 1y agoYou almost had me until the "5px font" line, then it just went into waffle territory. As for the Hurl comparison: that’s like saying Hurl is the same as Bruno, Yaak, and the rest of the crew - if aiming there, sure. Voiden isn’t a themed CLI, so visually it’s not even in the same category. And functionally, the whole point is having docs, tests, and the spec all in one place. That's something CLI tools don’t really aim to solve. Some overlap in request-sending, sure, but very different purposes.
- remram 1y agoIt's text-based no? So more like Hurl than Yaak? Or is it more like a notebook? Yes I would say presenting your software with tiny full-screen screenshots of your IDE where you can barely see the code, rather than code snippets, is very telling. I can right click them and "open image in new tab", but that is the only way to get a sense of the program from the "features" page, other than the GIF on the landing page. Compare with the Hurl landing page, I immediately know what this does and how it's used: https://hurl.dev/ https://hurl.dev/
- Fire-Dragon-DoL 1y agoOhhh this is something I've been looking for a while, given how broken the UX of some competitors in the space is
- deleted 1y ago[deleted]