- Architecture: one-pass compiler (no AST), register VM, NaN-boxed values
- Performance: my initial goal was to beat Duktape, but ended up matching/surpassing QuickJS in a few areas
- Compatibility: 100% pass rate across 50k tests from test262 (excludes sloppy mode, legacy and proposal stage features)
- TypeScript: the engine can run TS projects natively, including imports, and is able to run the TS compiler itself
It compiles to a ~2MB executable. It’s about 10x faster than Duktape + supports all modern JS features and runs TypeScript files natively.
---
It was built with a mix of several open-weight models and harnesses, with Claude Code as reviewer. I estimate 300+ hours of work, plus agents running nearly 24/7 for 12 weeks. 2000+ commits, all read (but not fully reviewed) by me. About €300 spent in total.
I didn’t expect to avtually complete it. Getting to 3% pass rate felt amazing, reaching 99% felt unreal. It would take several years to achieve this alone, I think the near future is looking very interesting for software engineering in general.
As the README warns, this is not production-ready code. While the full test262 suite passes, third-party libraries load, I still find simple issues here and there that are not covered by tests - for example, the console methods were breaking emoji characters until yesterday.
It’s released with the BUSL license for unrestricted use in open source and small scale commercial projects.
Would love to hear your thoughts on the implementation and development process.
ricardobeat•39m ago
Another motivation I forgot to cover is that I wanted a more modern engine to run on the ESP32 platform, though I’m not there yet.
Happy to answer any questions here.