Much like my KaithemAutomation project, you declare "Tag Points" which are like subscribable variables for your IO, then set up state machines that can affect them via the web UI.
I use TinyExpr for the expressions, and a regex to parse command lines. The shell is explicitly not a real programming language, it just allows logicless commands.
TinyExpr bytecode is fast, and other than that it's just raw C++, so there's no inefficient scripting language.
When used with PlatformIO instead of Arduino, it handles power management automatically, getting down to about 1mA with random spikes, as one might expect from the ESP.
But it does support a limited subset of here docs, and an equivalent to the shar command!
All the UI is generated from JSON schemas, and it's designed so you can add new "apps" to the web UI.
The base library includes an MP3 player app, and a FastLed wrapper.
I also have Trouble Codes, to make it easy to add diagnostics and alerts to the system, websocket based real-time dashboards, theme-ability, and there's a Python client (in the iot_devices library) to control devices.
You can configure multiple WiFi networks, and there's a web based file manager.
The two things I really want to add are LCD based UI, so you can actually create your menus and interfaces in the JSON editor, and some kind of mesh protocol backed by OpenDHT, so you could make a device globally visible. I'd also like to have camera and SD card support.
I think it might be a fun "OS" for an ESP32 smartwatch, although it's mostly for Tasmota style use cases.
Nowhere near ready to actually make a proper post , but usable. Kind of. This is pre alpha work.
Eventually I'm hoping it can make Arduino projects a lot easier, by providing all the boring UI and networking stuff so you can just add your core application logic and IO drivers, and get an end user ready customizable system.