That's cool. I often write tiny blurbs of kotlin just to test out a simple algorithm. I often do this on kotlin playground because doing so inside a scratch file or test is somehow more cumbersome and slow. This ran and compiled something in 98ms on my smartphone, cool stuff.
This is just one piece of a much bigger ecosystem. The real goal is to solve the portability problem.
MiniSwift, MiniSharp, and MiniKotlin are all parts of another project I’m building called Kavak.
The idea is simple: people should be able to keep using the language and platform they already know, while still being able to target other platforms with the same application.
The browser playground is mostly a way to make the compiler instantly accessible. You can open it anywhere, experiment, debug, and see how everything works without installing anything. But it’s only one part of the bigger picture.
Cool idea. I like the UI and that it compiles locally. But I don't really get what this is for.
I use Kotlin Playground sometimes, but it allows me to switch Kotlin versions and compile targets, which is useful to try out new features.
It's on my todo list to support compiling dart code through the wasm bundle to wasm directly. Right now it's running the dart arm simulator on the web because it supports hot reload.
I'm wondering if there are any cool use-cases that motivate having the compiler itself run in wasm. I did it mostly for fun and besides building tooling for compiler developers themselves or IDEs, I can't come up with much.
There was one guy that wanted a sandboxed environment for agents as he couldn't find anything else. A few other people used the dart live project to build playgrounds for their own packages.
Who's the target audience for minikotlin? I'm just curious.
> hands off to two of its own IRs before writing WASM-GC by hand
So it's not "one pass" lol. Do you know what a pass is?
Not that it matters - this AI is claiming "one pass" as though that's a good thing, but it's usually not. One-pass compilers can't typecheck forward references.
The example program they give as a "specimen" doesn't compile unless you specify the generic type of the "lanes" variable explicitly. And the compiler doesn't tell you where the error is. But it does build and run once you change it to "listOf<Lane>".
(The program builds as-is in the Kotlin Playground, at least for the JVM platform; the other platforms don't seem to have kotlinx.coroutines available.)
First of all, I was genuinely surprised to see this project make it so high on Hacker News. I actually didn’t know it had been posted here. I spent the entire day improving MiniKotlin’s test coverage, and only noticed what was happening when I checked the traffic on my server later that night.
I appreciate all feedback, both positive and negative. Criticism is part of building software, and I’m perfectly fine with that. What is a little discouraging, though, is seeing comments calling the project "AI-generated", "slop", or "useless" without first looking at how it actually works.
MiniKotlin currently passes 4,873 out of the 7,469 official Kotlin compiler tests. Whether people ultimately find the project useful or not is completely fair to debate, but I hope it can at least be judged on its technical merits.
I went through similar discussions when I released MiniSwift. At some point I realized that arguing about whether a project was "made by AI" or not is a bottomless pit, and honestly not a very productive conversation.
English isn’t my native language, and unfortunately it’s not something I’m particularly confident with. Because of that, I rely on AI tools for translation and polishing my writing.
I’ve been working as a software developer for about 25 years, including web development and JavaScript for most of that time. As for the website, yes, Claude helped polish the design. I’ve never tried to hide that. I spent a significant amount of time building and refining it myself, and then used AI as a design assistant to improve the final presentation.
Using AI to polish a website doesn’t mean the compiler itself was generated by AI. I think that’s an important distinction.
Honestly, I wish more of the discussion had been about the technical side of the project. MiniKotlin has been under development for nearly three years, and I’d be much happier answering questions about the compiler architecture, parser, semantic analysis, IR pipeline, or WASM backend than debating whether a landing page "looks like Claude."
Thanks for taking the time to look at the project.
18 comments
[ 0.21 ms ] story [ 31.3 ms ] threadIs the expectation that people write kotlin in their browser? How do people work this into their development workflow? Is this just a neat demo?
This is just one piece of a much bigger ecosystem. The real goal is to solve the portability problem.
MiniSwift, MiniSharp, and MiniKotlin are all parts of another project I’m building called Kavak.
The idea is simple: people should be able to keep using the language and platform they already know, while still being able to target other platforms with the same application.
The browser playground is mostly a way to make the compiler instantly accessible. You can open it anywhere, experiment, debug, and see how everything works without installing anything. But it’s only one part of the bigger picture.
- repo: https://github.com/modulovalue/dart-live
- demo: https://modulovalue.com/dart-live/
It's on my todo list to support compiling dart code through the wasm bundle to wasm directly. Right now it's running the dart arm simulator on the web because it supports hot reload.
I'm wondering if there are any cool use-cases that motivate having the compiler itself run in wasm. I did it mostly for fun and besides building tooling for compiler developers themselves or IDEs, I can't come up with much.
There was one guy that wanted a sandboxed environment for agents as he couldn't find anything else. A few other people used the dart live project to build playgrounds for their own packages.
Who's the target audience for minikotlin? I'm just curious.
In any case, cool project, thanks for sharing!
The official Kotlin playground uses WASM, for example (JVM drop down-> choose "WASM")
https://play.kotlinlang.org
> hands off to two of its own IRs before writing WASM-GC by hand
So it's not "one pass" lol. Do you know what a pass is?
Not that it matters - this AI is claiming "one pass" as though that's a good thing, but it's usually not. One-pass compilers can't typecheck forward references.
also check out his similar work, https://miniswift.run/ which has the same issues.
(The program builds as-is in the Kotlin Playground, at least for the JVM platform; the other platforms don't seem to have kotlinx.coroutines available.)
I appreciate all feedback, both positive and negative. Criticism is part of building software, and I’m perfectly fine with that. What is a little discouraging, though, is seeing comments calling the project "AI-generated", "slop", or "useless" without first looking at how it actually works.
MiniKotlin currently passes 4,873 out of the 7,469 official Kotlin compiler tests. Whether people ultimately find the project useful or not is completely fair to debate, but I hope it can at least be judged on its technical merits.
I went through similar discussions when I released MiniSwift. At some point I realized that arguing about whether a project was "made by AI" or not is a bottomless pit, and honestly not a very productive conversation.
English isn’t my native language, and unfortunately it’s not something I’m particularly confident with. Because of that, I rely on AI tools for translation and polishing my writing.
I’ve been working as a software developer for about 25 years, including web development and JavaScript for most of that time. As for the website, yes, Claude helped polish the design. I’ve never tried to hide that. I spent a significant amount of time building and refining it myself, and then used AI as a design assistant to improve the final presentation.
Using AI to polish a website doesn’t mean the compiler itself was generated by AI. I think that’s an important distinction.
Honestly, I wish more of the discussion had been about the technical side of the project. MiniKotlin has been under development for nearly three years, and I’d be much happier answering questions about the compiler architecture, parser, semantic analysis, IR pipeline, or WASM backend than debating whether a landing page "looks like Claude."
Thanks for taking the time to look at the project.
Nitpick: it's Wasm, not WASM.
Wasm is a contraction of “WebAssembly”, not an acronym, hence not using all-caps. https://webassembly.github.io/spec/core/intro/introduction.h...