Antfly Rewrites Its Search Database in Pure Zig, Ditching Go for Zero Dependencies

A search-and-inference database from scratch in pure Zig

Antfly v0.2 reimplements its document, full-text, vector, and graph indexing engine in Zig, eliminating all external dependencies. The rewrite prioritizes portability, C interop, speed, and testability, with VOPR simulation testing and TLA+ verification built in from day one. The goal: a database that can be embedded anywhere, from a laptop to a data warehouse, while maintaining reliability and performance.

Writing an LSM, a B+tree, Raft, and HTTP/3 from scratch is a terrible trade for a couple of shiny new features, but a great trade for being able to fly instead of walk.
  1. thefogman

    I know I should be saying congrats on the new engine, but selfishly I want to hear more about how you did it.

    So, the simulator only works if it knows what "correct" looks like and what kinds of failures to throw at the code, right? Who decided those two things? Was it the same agent that wrote the code? Were those human-written, or did they fall out of the formal specs?

    You had three things that could each say "this is right", the end-to-end tests, the formal model, and how the old Go version behaved. When they disagreed, which one did you trust? Did the test ever turn out to be the thing that was wrong?

    When the simulator caught something before release, was it usually the code that was wrong, or the definition of correct?

    Feels like there's some really useful insights about best practices for coding with agents. I wonder if the Bun team used a similar approach if they still would have switched.

  2. dovin

    Yeah open question what "perfect" search would even be, like would that just end up being indistinguishable from a kind of magical omniscience? And then there's "can I literally just find that one freaking slideshow from a while ago with that one client... or is it in Google Drive...?" And I really don't want the solution to be that we just plug everything into Claude

  3. kingcauchy

    We rewrote Antfly, which I introduced to the world a little bit back https://news.ycombinator.com/item?id=47414291, from Go to Zig.

    Thought it is interesting to juxtapose to the Bun rewrite from Anthropic and wanted to talk about why we went the other way! Would love to talk about our process or the technology!

    Benchmarks against are linked in the article but here they are again for posterity https://antfly.io/releases/v0.2

More from this day

2026-09-18