Show HN: Ant – A JavaScript runtime and ecosystem

(antjs.org)

295 points | by theMackabu 17 hours ago

49 comments

  • tekacs 16 hours ago
    I code with AI all day, every day. But I do think that it's worth pointing to this issue (from March).

    The author has said that they've redone it since, but the "from-scratch hand-built" framing specifically – for me – somewhat grates given the original heavy lifting from an existing AGPL codebase.

    https://github.com/cesanta/elk/issues/75

    I want to acknowledge that the original authors don't seem to have minded too much – per that thread – after older versions were dropped.

    For context, the current code doesn't look like it is the same shape, the same structure, etc., etc. – it _has_ been rewritten since (the 'since Feb' rewrite mentioned adjacent is related to this, AFAICT).

    To the author: I absolutely love what you're doing overall. Keep going! Just be careful, folks.

    • magicalist 15 hours ago
      Ok, but this post: https://themackabu.dev/blog/js-in-one-month

      isn't the post of someone who just implemented a js engine (it reads like someone who asked an LLM to write a blog post about the git log of a different LLM which was apparently lifting code from a different js engine...)

      It's a bit hard to understand what's going on here, but definitely hard to trust the project.

      • dminik 5 hours ago
        Apparently prompting LLMs is now "survival mode".
    • theMackabu 16 hours ago
      this was flagging code from all the way back in dec of 2025, back when this project was just some idea and not what it is today.

      around feb thats when basically deleted the existing codebase and designed a much more reliable system from the ground up.

      I knew the existing code was basically pure slop, and it was not the biggest issue then, now nothing goes past me unreviewed and untested

      > To the author: I absolutely love what you're doing overall. Keep going! Just be careful, folks.

      Thank you!

      • nhinck2 12 hours ago
        > now nothing goes past me unreviewed and untested

        So it's not hand-built?

        • reasonableklout 7 hours ago
          OP, you will get a much better reception if you clarify that "hand built" just means you're not using existing libraries. It's a cool project, but it's disappointing to come in expecting to see a rare gem of a 100% human project in 2026 but it's really something else.
        • yard2010 4 hours ago
          Honest question - does using claude code and steering it to type the code I want counts as hand-built? Like doing actual PRs, nit picking, basically treating it as a jr/product/typist while I'm the one making ALL the decisions? Reading every line and approving manually if it's a code that I would write?
          • lionkor 2 hours ago
            No it does not count as hand built. In the same way that a human pressing buttons, such that an automated production line makes a watch, and then at the end a human goes and looks at it and says "yup that's a watch" isn't a hand-made watch.
            • Kiro 1 hour ago
              Nice opinion but it's clearly a spectrum and not binary. Is assembling machine-made components by hand to make a watch hand-made?
              • nhinck3 56 minutes ago
                I don't call my Ikea furniture hand-built.
          • incrudible 3 hours ago
            In the age of LLMs we can assume that any code was generated by an LLM unless noted otherwise, so I think it is fair to not point out the use of LLMs. However, words like hand built should be reserved for the instances where the code was actually written unassisted. Reading all the code means nothing, there is no such thing as code that was written as if you had written it, unless you have written it.
        • Lerc 8 hours ago
          What is?

          I, at the very least, need a keyboard.

          • lthi747 1 hour ago
            Does using non AI code autocompletions and code templates makes your code non hand written? Because I think it’s based on same idea - “prediction of next word”. And sometimes with just few buttons pressed you get surprisely good lines.
  • lucb1e 16 hours ago
    Why call it "Ant" and not "Antjs" or "Ant.js" when there is already Ant from Apache? https://ant.apache.org
    • girvo 14 hours ago
      Ant in JS land is already claimed and huge too lol

      https://ant.design/

      • armanckeser 11 hours ago
        Tangent but what a horrible website at least on my android. Starts as light mode, suddenly shows three streched columns, turns to dark mode and the title is hidden behind the header. After years of being around how can they end up with something like this
        • SebastianKra 5 hours ago
          Whenever I'm bored, I go to the ant-design site to see how long it takes to find the first gross accessibility violation. This time it was the dropdown just above the fold, which wasn't keyboard controllable.
        • KaiMagnus 6 hours ago
          I bounced when I saw the three broken columns but never even saw the dark mode switch. It’s that slow.
        • scabby 10 hours ago
          Completely broken on iOS as well. Feels like AI slop.
          • girvo 9 hours ago
            It's existed for a lot longer than LLM generated code has
            • doodlesdev 9 hours ago
              It's gotten much worse than I used to remember it, though. It used to be pretty bad before too, but it at least had an ok homepage.
              • girvo 8 hours ago
                It was always far too buggy for my liking as-is, though it’s amusing that somehow that’s become worse over time it seems
          • incrudible 3 hours ago
            It is funny that people now instinctively think of AI when encountering slop, as if the slop that the AI produces was not deeply informed by the slop it trained on. Plus, the quality bar on the web has always been low, masking the true capability of LLMs.
      • hnlmorg 13 hours ago
        There’s also Adam Ant. Who was also a household name.

        Some people have also heard of ants of the formicidaen variety.

        • girvo 10 hours ago
          Yes because those are in the same web development/javascript adjacent vertical, of course!
          • hnlmorg 6 hours ago
            Neither is Apache Ant not Anthropic CLI yet they’re cited a lot in this discussion too.
    • steve-atx-7600 15 hours ago
      Yes. You would only name it ant if you wanted to taint the first impression of anyone that’s been coding for a couple decades or more.
      • brabel 5 hours ago
        Or if you have only started in the last few years and never heard of those older projects.
    • benonsocial 13 hours ago
      I thought the same thing as I [half] read the title.
    • latchkey 8 hours ago
      I'm the first user and contributor to Apache Ant outside of Sun Microsystems when James gave it to me, and I could care less that someone else used the same name.
    • bdcravens 8 hours ago
      I assumed it was a framework from Alibaba, coming out of their Ant Group, where Ant Design also came from.
  • m3h 16 hours ago
    The author shared their experience building the first version in a month: https://themackabu.dev/blog/js-in-one-month

    And then the follow up few months later: https://themackabu.dev/blog/ant-part-two

    I'm not sure what the economics of building a new runtime and ecosystem from scratch are but it seems we're already in a phase where individual developers are creating software which previously took a whole team. And its only getting started...

    • hollowturtle 14 hours ago
      > The engine, Ant Silver, is hand-built.
      • vips7L 13 hours ago
        It’s not hand-built. It’s hand prompted.
        • hoppp 12 hours ago
          I don't like it.

          There is no shame in saying it's generated, bun is now completely vibe code also.

          Saying it's hand built when it's not is false advertising

        • bblb 9 hours ago
          Writing code by your own hands is an esoteric hobby. We are past the slop era. This is coding now. If you're 1x, you're not a dev.

          I would assume by now most of the code published on Github is hand-built with LLM prompts and armies of AI agents.

          • opem 4 hours ago
            What is the definition of being an 1x dev?
          • vips7L 49 minutes ago
            This is very much still the slop era.
          • kamov 7 hours ago
            Okay, so would you say LuaJIT is slop, just because it is hand coded?
    • SilverSlash 8 hours ago
      Is that impressive? If an LLM is just spewing out code which it has been trained on extensively then to me it's not that impressive at all. I want to see individual developers creating new software which previously took a whole team. Things not done previously. I am very pro AI btw, but the constant barrage of false hype is really tiresome.
  • glyptic 18 minutes ago
    The design of the website looks very close to: https://cognition.com
  • carimura 16 hours ago
    i was just joking about Anthropic's `ant` CLI not caring about Apache `ant` (maybe one person got it), and now we're talking about Javascript `ant`!
  • colinhb 15 hours ago
    I’m not that deep in the JS ecosystem or runtimes, but I’m a little surprised by some of the claims here about being smaller, having fast starts, sandboxing, performance-competitive, etc.

    Does anyone have a sense of what insights, design choices, big bets, etc, unlock all these advantages against already mature and highly optimised JS stacks?

    • CharlesW 15 hours ago
      This project appears to be an LLM-rewritten Elk (https://github.com/cesanta/elk), as noted elsewhere in the thread. That project was established in 2019.
      • ksec 9 hours ago
        The author also replied elsewhere in the thread that was the initial version but everything has since been deleted and the current version is built from ground up.
    • port11 7 hours ago
      Deno offers practically everything I see here, but is mature, serious, written before LLMs (not sure about now), and has a solid team behind it.

      But okay, it’s not the fastest kid on the block; although “X but faster” isn’t the most compelling argument to adopt a new runtime.

      As to the choices this project made: well, Claude or Codex seems to have chosen to copy large parts of the Elk codebase.

  • tobr 15 hours ago
    What is the serif typeface used on the website? It’s been renamed (I assume) to ant_serif and scrubbed of any other identifiers. It’s very pleasant.
  • egnehots 16 hours ago
    You're stating: "delivers near-V8 speeds"

    But according to zoo.js benchmarks that is far from the case:

    https://zoo.js.org/

    Unless there were major perf gains since 2026-02-10?

    • theMackabu 16 hours ago
      many, the engine has basically gone through a full rewrite since feb, that was still mostly interpt and missing many jit ops.

      nightly will include benchmarks soon as well

  • pikuseru 16 hours ago
    The thing that caught my eye immediately was the sandboxing. I have no idea why Node and npm don’t have sandboxing by default. It would greatly help with some of these worms and supply chain attacks.
    • ptx 14 hours ago
      The "VM-isolated sandbox" is apparently not referring to the JavaScript VM but to a hypervisor, according to the text a bit further down on the page. I wouldn't expect that to be particularly fast or efficient, especially not if you're already running in a VM and have to use nested virtualization (if it's even available).
      • theMackabu 14 hours ago
        its pretty fast tbh, though third-party benches would be great to have!
        • ptx 14 hours ago
          Is it essentially implementing a paravirtualized OS that runs the JS runtime? Presumably you have to allocate the memory for the VM up front, or how does that work?
          • theMackabu 14 hours ago
            on linux its kvm, on darwin its hypervisor.framework, the memory is not upfront, by default 256mb is lazy allocated, and ~35mb are used by both ant + the vm. the kernel is https://nanos.org with patches to get ant+networking running smoothly
    • _shantaram 14 hours ago
      Deno has that! Come join us :P no affiliation, just a happy user.
  • sirjaz 48 minutes ago
    This looks like a great replacement for electron
  • gjmveloso 1 hour ago
    Great start, clean ergonomics and API surface.

    Does `antx` executions are sandboxed by default using `ant:sandbox`?

  • h1696UOuk 5 hours ago
    I get the runtime, the engine, and the colony as a monetization angle. What I don't get is:

    - Another registry (looks like jsr.io)? - Another package manager - Ant Desktop? - Sandboxes? - treatjs (what even is that)?

    I'd love to see a JS runtime that does one thing: run JavaScript. I don't get why everyone is aiming for an all-in-one toolbox. To me this project already seems convoluted.

  • gandreani 15 hours ago
    This is very interesting! The sandboxing and quick startup make this an interesting foundation for a FaaS system.

    Lots of frontend devs (and vibe coders) just want a "deploy my code" service.

  • felooboolooomba 1 hour ago
    Looks really good on the surface. But if you really want to sell it, link to a comprehensive benchmark suit and more comparisons. Because if you don't, people tend to (subconsciously) apply adverse inference.
  • gfat 2 hours ago
    Appreciate the typography and simple design of the site and its registry.
  • syrusakbary 11 hours ago
    It's refreshing to see more self-made JS runtimes.

    I'd love to see if I can integrate it onto Edge.js for full Node.js support ( https://edgejs.org )

  • skybrian 16 hours ago
    Could you use the JSR package registry instead of setting up a new one?
    • gandreani 15 hours ago
      I agree! It seems the author is already making thoughtful decisions on what to implement and what to drop. You kinda have to when it's a project of this scope.

      Implementing, running, maintaining, scaling a module registry is probably not worth the time. Unless there's a clear technical requirement from the runtime. I would think there isn't since npm protocol compatibility is a stated goal/feature.

    • randall 16 hours ago
      +1 to this.
  • digitaltrees 16 hours ago
    Cool project. I am working on a JavaScript dialect for my kids and non technical team members. I’ll target and as a run time.
  • theMackabu 17 hours ago
    LATEST RELEASE REQUIRES A STATIC RELEASE HOTFIX!!

    https://github.com/theMackabu/ant/actions/runs/29167621329.

    im very sorry everyone who tried to install and got a libcares error :(

    • rvz 16 hours ago
      ok?
  • derdi 14 hours ago
    What's the fuzzing story? If this is meant to be a product, hopefully it's being fuzzed 24/7, using multiple state-of-the-art JavaScript fuzzers, against multiple state-of-the-art JavaScript engines?
  • djfobbz 16 hours ago
    I can't get Bun to work under WSL1, which is super annoying. Does Ant support WSL1?
    • seabrookmx 9 hours ago
      Likely not. A lot of debuggers don't work under WSL1 either due to missing syscalls.

      I know some folks love the "purity" of WSL 1 but it's really hard to recommend if you care at all about Linux compatibility.

    • theMackabu 16 hours ago
      unknown, have not tried. but let me know if it does work
    • 7bit 15 hours ago
      Why are you Not using WSL2?
      • freedomben 1 hour ago
        Not OP, but WSL1 is still much more performant in some areas, like lower memory use, startup times, quicker windows file access. I haven't used WSL1 in quite some time but I believe it's also still fully supported so use what's better for your use case
  • Geee 1 hour ago
    Does it support WebGPU?
  • EvilGoose 16 hours ago
    This looks excellent. The sandboxing really stands out to me, and I think ant.land might have potential, since it has a lot of great features other registries lack.
  • hoistbypetard 12 hours ago
    Seems odd not to acknowledge and differentiate yourself from [apache ant](https://ant.apache.org).

    Failure to do so certainly makes me think the new project isn't very serious.

    • stickfigure 8 hours ago
      Also Ant Design. The word is too heavily overloaded, even in the JS ecosystem.
  • tujux 8 hours ago
    Would really like to hear the motivation behind why you're building this :)
  • luciana1u 14 hours ago
    a JS runtime called Ant. we have gone from Node to Deno to Bun to Ant — the naming convention is now just a countdown to the smallest living organism
  • jeremyjh 14 hours ago
    I don’t really see how you appeal to JavaScript developers with “small binaries”. What is a 50mb runtime you down once next to a 200mb node_modules ?
    • franciscop 11 hours ago
      Not everyone has 200mb node_modules. Many of us, indie JS makers making those libraries, care in fact about the size of our projects, runtimes, installed libraries, etc. I'd even argue it's more mainstream usage (e.g. even me, when I'm at work) where that is more shipping features than spending time in crafting nice tiny libraries/package. So I'd say JS authors caring about the small binaries is very understandable.
    • weli 14 hours ago
      At least with bun you can compile with bytecode enabled. That, tree shaking and other optimizations our production app entire docker image is like 120mb...
  • dvh 17 hours ago
    What's the benefits over v8?
    • theMackabu 17 hours ago
      its ~8mb including the entire runtime and node-compat work. pretty simple to embed anywhere as well
      • ptx 14 hours ago
        And what are the tradesoffs?

        How is it so much smaller than V8 while also apparently including a package manager, a web server, a TypeScript compiler and a hypervisor?

        • theMackabu 7 hours ago
          > How is it so much smaller than V8 while also apparently including a package manager, a web server, a TypeScript compiler and a hypervisor?

          Much less complex tiers of jit, no unicode ICU, and no startup js snapshot

  • Kwpolska 15 hours ago
    The author has supposedly created a company (https://sf.tools/), with a broken /jobs page, and yet is developing the project under their personal GitHub account. Does not look trustworthy.
    • theMackabu 14 hours ago
      this page is literally a inside joke, theres a reason /jobs doesn't work (im not hiring)
    • quadrature 15 hours ago
      > Does not look trustworthy

      what are you implying specifically ?

    • avaer 13 hours ago
      Even assuming the worst interpretation, I don't understand how his translates to the trustworthiness of an open source project.
    • bel8 14 hours ago
      I don't understand the correlation.
  • stephenlf 15 hours ago
    Slick project. Very cool.
  • relug 13 hours ago
    if this is trying to competing with v8/llvm thats compiler stuff u gotta be benching and comparing assembly not "hono boot" lol
  • randall 16 hours ago
    wow! i’ve been using deno for a long time, and one of my fav features is compiling a binary. i didn’t see anything about that, but might have missed something… do you all plan to support this?
    • theMackabu 16 hours ago
      yes! I will be making a roadmap like a comment here suggested, should help
  • curtisblaine 4 hours ago
    I see benchmarks for cold start, why there are no benchmarks for runtime performance Vs Node, Deno and Bun? (and quickjs et al.)?
  • Reubend 16 hours ago
    Can this engine be embedded into other programs?
  • steele 11 hours ago
    Coming soon: LLM harness of the day called make
  • hexsprite 15 hours ago
    i might try porting this to rust ;)
  • gaurang404 16 hours ago
    Damnn, gonna try this for sure
  • sylware 16 hours ago
    Cannot access the web site: whatwg cartel web engine only.

    Is antjs coded in plain and simple C?

    • rererereferred 12 hours ago
      Seems like so: https://github.com/theMackabu/ant

      Odd choice for a vibecoded project.

      • lelanthran 6 hours ago
        > Odd choice for a vibecoded project.

        Not really, there's some advantages if the viber is experienced in C.

        1. When the LLM needs to figure out what functions exist, it reads only headers, not the actual implementation. IME the agent uses a fraction of tokens compared to vibing out a Java or C# project.

        2. There's only a handful of common footguns in C (signed overflow, use-after-free, dereferencing NULL, etc) all of which are localised, compared to C++ which has all those C footguns plus non-localised footguns that can't be easily detected without knowing the entire program at once.

        • sylware 2 hours ago
          Thx for the github.com link, I can have a look at it.
  • Imustaskforhelp 17 hours ago
    I have actually known* about Ant for some time from your previous submissions and its really interesting and I wish the project luck!

    Do you think that Ant could be used to create a small index.html/css/js project into an desktop app minimally.

    I currently found deno desktop which is pretty recent to be the easiest way of doing this for one of my projects (https://epub.mirror.forum) but I found there to be some issues within deno-desktop in terms of some features not working on the desktop app but I overall really like the idea of converting these files into desktop apps and I am wondering if ant could be suitable for that, so I am curious to hear what you think :-D

    • theMackabu 17 hours ago
      just got the thing for you actually! literally just finished a stable version last night, https://www.npmjs.com/package/ant-desktop. WIP still, chromium only renderer backend but webview and other backends coming soon as well. no local ant install needed as libant is bundled, when CI finishes ill have windows/linux builds too
      • cognitiveinline 1 hour ago
        How big are these binaries? the big electron complaint is the large binaries. if these are under 10mb, you have a winner.
      • Imustaskforhelp 17 hours ago
        Oh great! it seems, that great thinkers think alike :-D

        Good to see that you are already working on it though, Good luck and I will hopefully try to keep a keen eye on the project for my use-cases when I need something more flexible than rust iced applications but also having a small footprint. It's good to see more competition within this space so good luck with that!

    • douxx 17 hours ago
      Ant desktop is currently in development, from what I recall http://ants.land/ant-desktop
      • Imustaskforhelp 16 hours ago
        Hmm, the ants.land website in general isn't resolving for my desktop but it is resolving for my laptop, a bit strange.

        It states: Server Not Found, Zen can’t connect to the server at ants.land What can you do about it? Try connecting on a different device. Check your modem or router. Disconnect and reconnect to Wi-Fi.

        yet my laptop which also uses zen which is also connected to the same Wi-Fi resolves the page so I am not sure.

        • douxx 16 hours ago
          Weird, maybe your DNS settings on your desktop or an extension blocking it?
        • theMackabu 16 hours ago
          thats very weird, its hosted on cloudflare workers atm. might be blocked by your isp? ive seen that happen to .land
          • Imustaskforhelp 16 hours ago
            Oh I think that I might be getting it now but I had an custom nextdns profile set up on my browser using nextdns with some more aggressive setups using typosquatting protection etc.

            It seems that changing the dns setting made it resolve and afterwards even going back to the same profile is now (resolving it again?) [Could it be that the domain is now cached not needing to go to the dns provider] but I guess that I wouldn't blame you guys about it so much and just wanted to inform y'all of it :-D

            > ive seen that happen to .land

            interesting, is there any reason behind DNS/(ISP?) providers blocking .land domains?

            • theMackabu 16 hours ago
              > interesting, is there any reason behind DNS/(ISP?) providers blocking .land domains?

              tbh have not seen any reason behind it, just saw my ants.land get blocked a office firewall once while demoing

  • esafak 17 hours ago
    I hope you get some collaborators, to increase the bus factor. You might want to write a roadmap to focus efforts.
  • bellowsgulch 16 hours ago
    > Something you could distribute without dragging along hundreds of megabytes of V8 or Node.

    Holy crap, V8 is that big now? Very interested in this for embedding purposes.

  • simonw 16 hours ago
    [dead]
  • versecafe 14 hours ago
    [dead]
  • jonahx 16 hours ago
    [dead]
  • vladsiu 10 hours ago
    [dead]
  • 123sereusername 15 hours ago
    [dead]
  • CrzyLngPwd 16 hours ago
    [flagged]
  • deanc 15 hours ago
    And who are you? Why should we trust you and your runtime?