I'm in the middle of creating a JS port for embedded systems (yes, I know about Espruino. It made some fundamental decisions about object implementation that I find unacceptable) and it would be nice to be able to lean into something like this to avoid implementing huge chunks of the more advanced language bits.
Side note: I'm the person who did the first Nintendo DS port of Gambit so its interesting to see how all this comes full circle.
What I'm working on relies on a full JS implementation. Performance is a critical feature so I need to implement as little as possible. I basically implemented a very small VM that controls JS code using exceptions. What I've done lets you run JS code with a 3-4x perf hit, but you get full stepping and debugging abilities in user-land. I'm going to release it in a few weeks!
It sounds like it's not quite what you're looking for though. You're project sounds cool!
Outlet and Outlet-Machine look like what you're describing but the docs on those say they are deprecated/frozen and the last commits are 1-2 years ago.
Your code probably isn't what I'm looking for right now. But single stepping and debugging in user-land is exactly what embedded systems need.
I'll keep an eye out for your stuff.
I reworked the same technique to make it a debugger instead of continuations.
I'm also working on the idea of live evaluation. Most devs are used to writing code and refreshing the page. There are tools that help with live evaluation, but they all suck. I am working on something that will give you a better connection with your code, and fully support the idea of incrementally coding up an app.
I'm not focusing on specific Lisp/Scheme features, but more about the philosophy behind them. Any project I do I try to expose the good stuff that I learned from Scheme.