Show HN: Ant – A JavaScript runtime and ecosystem

(antjs.org)

269 points | by theMackabu 14 hours ago ago

115 comments

  • tekacs 13 hours ago 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 12 hours ago 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 2 hours ago ago

        Apparently prompting LLMs is now "survival mode".

    • theMackabu 13 hours ago 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 9 hours ago ago

        > now nothing goes past me unreviewed and untested

        So it's not hand-built?

        • reasonableklout 4 hours ago 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 42 minutes ago 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?

        • Lerc 5 hours ago ago

          What is?

          I, at the very least, need a keyboard.

  • lucb1e 13 hours ago ago

    Why call it "Ant" and not "Antjs" or "Ant.js" when there is already Ant from Apache? https://ant.apache.org

    • girvo 11 hours ago ago

      Ant in JS land is already claimed and huge too lol

      https://ant.design/

      • armanckeser 8 hours ago 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 an hour ago 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 2 hours ago ago

          I bounced when I saw the three broken columns but never even saw the dark mode switch. It’s that slow.

        • scabby 7 hours ago ago

          Completely broken on iOS as well. Feels like AI slop.

          • girvo 6 hours ago ago

            It's existed for a lot longer than LLM generated code has

            • doodlesdev 5 hours ago 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 5 hours ago 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

      • hnlmorg 10 hours ago ago

        There’s also Adam Ant. Who was also a household name.

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

        • girvo 7 hours ago ago

          Yes because those are in the same web development/javascript adjacent vertical, of course!

          • hnlmorg 3 hours ago ago

            Neither is Apache Ant not Anthropic CLI yet they’re cited a lot in this discussion too.

    • steve-atx-7600 11 hours ago 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 2 hours ago ago

        Or if you have only started in the last few years and never heard of those older projects.

    • benonsocial 10 hours ago ago

      I thought the same thing as I [half] read the title.

    • latchkey 4 hours ago 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 5 hours ago ago

      I assumed it was a framework from Alibaba, coming out of their Ant Group, where Ant Design also came from.

  • m3h 12 hours ago 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 11 hours ago ago

      > The engine, Ant Silver, is hand-built.

      • vips7L 10 hours ago ago

        It’s not hand-built. It’s hand prompted.

        • hoppp 8 hours ago 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 6 hours ago 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 31 minutes ago ago

            What is the definition of being an 1x dev?

          • kamov 3 hours ago ago

            Okay, so would you say LuaJIT is slop, just because it is hand coded?

    • SilverSlash 5 hours ago 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.

  • carimura 13 hours ago 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 12 hours ago 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 11 hours ago 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 6 hours ago 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 4 hours ago 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.

  • h1696UOuk 2 hours ago 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.

  • egnehots 13 hours ago 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 13 hours ago 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

  • tobr 12 hours ago 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.

  • pikuseru 13 hours ago 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 11 hours ago 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 11 hours ago ago

        its pretty fast tbh, though third-party benches would be great to have!

        • ptx 10 hours ago 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 10 hours ago 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 10 hours ago ago

      Deno has that! Come join us :P no affiliation, just a happy user.

  • gandreani 12 hours ago 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.

  • syrusakbary 8 hours ago 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 13 hours ago ago

    Could you use the JSR package registry instead of setting up a new one?

    • gandreani 12 hours ago 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 13 hours ago ago

      +1 to this.

  • digitaltrees 13 hours ago 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 13 hours ago 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 13 hours ago ago

      ok?

  • derdi 11 hours ago 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 13 hours ago ago

    I can't get Bun to work under WSL1, which is super annoying. Does Ant support WSL1?

    • seabrookmx 6 hours ago 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 13 hours ago ago

      unknown, have not tried. but let me know if it does work

    • 7bit 11 hours ago ago

      Why are you Not using WSL2?

  • curtisblaine an hour ago ago

    I see benchmarks for cold start, why there are no benchmarks for runtime performance Vs Node, Deno and Bun? (and quickjs et al.)?

  • EvilGoose 12 hours ago 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 9 hours ago 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 5 hours ago ago

      Also Ant Design. The word is too heavily overloaded, even in the JS ecosystem.

  • tujux 5 hours ago ago

    Would really like to hear the motivation behind why you're building this :)

  • luciana1u 11 hours ago 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 11 hours ago 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 7 hours ago 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 11 hours ago 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...

  • Kwpolska 12 hours ago 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 11 hours ago ago

      this page is literally a inside joke, theres a reason /jobs doesn't work (im not hiring)

    • quadrature 11 hours ago ago

      > Does not look trustworthy

      what are you implying specifically ?

    • avaer 10 hours ago ago

      Even assuming the worst interpretation, I don't understand how his translates to the trustworthiness of an open source project.

    • bel8 11 hours ago ago

      I don't understand the correlation.

  • dvh 13 hours ago ago

    What's the benefits over v8?

    • theMackabu 13 hours ago ago

      its ~8mb including the entire runtime and node-compat work. pretty simple to embed anywhere as well

      • ptx 11 hours ago 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 4 hours ago 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

  • relug 9 hours ago ago

    if this is trying to competing with v8/llvm thats compiler stuff u gotta be benching and comparing assembly not "hono boot" lol

  • stephenlf 12 hours ago ago

    Slick project. Very cool.

  • randall 13 hours ago 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 13 hours ago ago

      yes! I will be making a roadmap like a comment here suggested, should help

  • Reubend 13 hours ago ago

    Can this engine be embedded into other programs?

  • hexsprite 12 hours ago ago

    i might try porting this to rust ;)

  • gaurang404 13 hours ago ago

    Damnn, gonna try this for sure

  • sylware 12 hours ago ago

    Cannot access the web site: whatwg cartel web engine only.

    Is antjs coded in plain and simple C?

    • rererereferred 9 hours ago ago

      Seems like so: https://github.com/theMackabu/ant

      Odd choice for a vibecoded project.

      • lelanthran 3 hours ago 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.

  • Imustaskforhelp 13 hours ago 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 13 hours ago 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

      • Imustaskforhelp 13 hours ago 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 13 hours ago ago

      Ant desktop is currently in development, from what I recall http://ants.land/ant-desktop

      • Imustaskforhelp 13 hours ago 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 13 hours ago ago

          Weird, maybe your DNS settings on your desktop or an extension blocking it?

        • theMackabu 13 hours ago ago

          thats very weird, its hosted on cloudflare workers atm. might be blocked by your isp? ive seen that happen to .land

          • Imustaskforhelp 13 hours ago 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 13 hours ago 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

  • steele 8 hours ago ago

    Coming soon: LLM harness of the day called make

  • CrzyLngPwd 12 hours ago ago

    Would not touch thios with someone else's (code/business).

  • esafak 13 hours ago ago

    I hope you get some collaborators, to increase the bus factor. You might want to write a roadmap to focus efforts.

  • bellowsgulch 13 hours ago 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.

  • deanc 12 hours ago ago

    And who are you? Why should we trust you and your runtime?