Playground
Declare functions and classes in native.h, write them in native.cpp, and call them from main.js. crossbind generates the JavaScript bindings from the header; nothing else to write.
How it works
Run sends native.h and native.cpp to the playground compiler, which builds them with crossbind build for the browser. The module comes back with its loader and runs in a sandboxed frame on this page, where main.js receives it as Module.
Limits
Each network gets a few compiles a day; signing in with GitHub raises your own limit. Code that compiled before comes back from the cache without counting. A compile stops after 45 seconds and 2 GB of memory.
What happens to your code
Your sources are compiled in a sandbox without network access and deleted afterwards. The result, with the build log, is cached for up to a week under a hash of the sources, so the same code compiles once. Signing in stores your GitHub user id and name, and how much you compile; no email. Privacy has the details and how to delete your account.