Each request to the web server only retains the last generated HTML, the path, and any URL parameters passed to it. It is forgetful by design.
On page access, it instructs the LLM to generate the next page based on this information and a description of your desired app. The latency is much higher, but you can quickly iterate on ideas.
Obviously, this is more of a thought experiment, but I find it pretty interesting to play around with. Vibe-coded in a couple of hours. Any feedback welcome!