I wanted to build something real in Zig, and I was annoyed that Postman needed an account and an internet connection just to send a GET request. So I figured I'd make something I would actually use.
It kind of snowballed from there. 50,000+ lines later, it does requests, test assertions, collections, environments, CI/CD reports, import/export, and has a browser-based Web UI (`volt ui`). All in a single binary with zero external dependencies.
Some numbers:
- Binary size: ~4 MB (Postman: ~500 MB)
- Startup: 42ms (Postman: 3-8 seconds)
- RAM idle: ~5 MB (Postman: 300-800 MB)
- Dependencies: 0
- Account required: No
It uses plain-text .volt files that live in your git repo. Your API tests
are just files, versioned with your code.For CI, you copy one binary and run `volt test`. No npm, no Docker, no runtime.
Why Zig? Honestly, I wanted an excuse to write a lot of Zig. But the explicit allocators, comptime, and cross-compilation from one machine made it practical to ship Linux/macOS/Windows from a single codebase with no external packages.
There's a CLI, a TUI with tabs and search, and a Web UI. It's not perfect but I use it daily and it hasn't crashed on me yet.
Site: https://api-volt.com Repo: https://github.com/volt-api/volt Benchmarks: https://github.com/volt-api/volt/blob/main/BENCHMARKS.md
Happy to answer questions about the Zig implementation, that's the part I'm most excited to talk about honestly.