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.
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.
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.
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.
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?
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
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.
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.
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...
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.
I thought I was the only person who remembered Apache Ant... I know we're running out of names but that was a really influential piece of infrastructure.
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?
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.
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.
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.
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.
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).
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?
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
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.
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?
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.
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.
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...
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.
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?
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.
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
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
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!
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.
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?
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.
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.
Apparently prompting LLMs is now "survival mode".
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!
> now nothing goes past me unreviewed and untested
So it's not hand-built?
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.
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?
What is?
I, at the very least, need a keyboard.
Why call it "Ant" and not "Antjs" or "Ant.js" when there is already Ant from Apache? https://ant.apache.org
Ant in JS land is already claimed and huge too lol
https://ant.design/
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
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.
I bounced when I saw the three broken columns but never even saw the dark mode switch. It’s that slow.
Completely broken on iOS as well. Feels like AI slop.
It's existed for a lot longer than LLM generated code has
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.
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
There’s also Adam Ant. Who was also a household name.
Some people have also heard of ants of the formicidaen variety.
Yes because those are in the same web development/javascript adjacent vertical, of course!
Neither is Apache Ant not Anthropic CLI yet they’re cited a lot in this discussion too.
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.
Or if you have only started in the last few years and never heard of those older projects.
I thought the same thing as I [half] read the title.
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.
Could or couldn't?
I assumed it was a framework from Alibaba, coming out of their Ant Group, where Ant Design also came from.
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...
> The engine, Ant Silver, is hand-built.
It’s not hand-built. It’s hand prompted.
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
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.
What is the definition of being an 1x dev?
Okay, so would you say LuaJIT is slop, just because it is hand coded?
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.
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`!
I thought I was the only person who remembered Apache Ant... I know we're running out of names but that was a really influential piece of infrastructure.
I dont know a single soul who uses the Anthropic `ant` cli....
Isn't `claude` anthropic's CLI? :D
Anthropic develops at least two command line interfaces (CLI’s):
• (ant) https://github.com/anthropics/anthropic-cli
• (claude) https://github.com/anthropics/claude-code
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?
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.
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.
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.
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.
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?
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
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.
It's Bureau Serif from Smuss Type Kiosk: https://typekiosk.smuss.studio/bureau-serif
He forgot to scrub the vendor ID field.
This seems to be tbe authors modus operandi. Steal.
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.
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).
its pretty fast tbh, though third-party benches would be great to have!
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?
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
Deno has that! Come join us :P no affiliation, just a happy user.
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.
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 )
would be cool to see!
Could you use the JSR package registry instead of setting up a new one?
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.
+1 to this.
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.
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 :(
ok?
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?
I can't get Bun to work under WSL1, which is super annoying. Does Ant support WSL1?
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.
unknown, have not tried. but let me know if it does work
Why are you Not using WSL2?
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.
I see benchmarks for cold start, why there are no benchmarks for runtime performance Vs Node, Deno and Bun? (and quickjs et al.)?
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.
Also Ant Design. The word is too heavily overloaded, even in the JS ecosystem.
Would really like to hear the motivation behind why you're building this :)
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
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 ?
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.
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...
this is coming soon!
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.
this page is literally a inside joke, theres a reason /jobs doesn't work (im not hiring)
> Does not look trustworthy
what are you implying specifically ?
Even assuming the worst interpretation, I don't understand how his translates to the trustworthiness of an open source project.
I don't understand the correlation.
What's the benefits over v8?
its ~8mb including the entire runtime and node-compat work. pretty simple to embed anywhere as well
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?
> 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
if this is trying to competing with v8/llvm thats compiler stuff u gotta be benching and comparing assembly not "hono boot" lol
Slick project. Very cool.
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?
yes! I will be making a roadmap like a comment here suggested, should help
Can this engine be embedded into other programs?
i might try porting this to rust ;)
Damnn, gonna try this for sure
Cannot access the web site: whatwg cartel web engine only.
Is antjs coded in plain and simple C?
Seems like so: https://github.com/theMackabu/ant
Odd choice for a vibecoded project.
> 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.
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
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
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!
:D
Ant desktop is currently in development, from what I recall http://ants.land/ant-desktop
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.
Weird, maybe your DNS settings on your desktop or an extension blocking it?
thats very weird, its hosted on cloudflare workers atm. might be blocked by your isp? ive seen that happen to .land
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?
> 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
Coming soon: LLM harness of the day called make
Would not touch thios with someone else's (code/business).
I hope you get some collaborators, to increase the bus factor. You might want to write a roadmap to focus efforts.
good idea!
> 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.
https://zoo.js.org/
V8 21M, Score 47285, ES6 98%
Ant 4.3M, >>> Score 69 <<<, ES6 50%
And who are you? Why should we trust you and your runtime?