Cascading binding sheets. Reactive UI without the complexity of SPA frameworks. Use any backend you like; bind to the HTML you already produced.