Dedicated demo for single site wordpress installation

I am trying to create a demo to my website. I want the demo to be dedicated per user, so one user cannot see changes made by another user.

I want the user to be able to test the wordpress admin area, including plugins installation, so i guess multisite is not an option here.

I looked for plugins to do that, but the only ones I found are quite old, and it seems that they are not maintained or supported. So i understand i need to do custom programming here, and I have two options on my mind, but I am not sure which is the best:

option 1: When a user click the "Admin Demo" button, my plugin will create a dedicated cloned wordpress installation on a sub-domain. I know how to do it with code, but the customer need to wait some 2 minutes before the demo website is ready for use.

option 2: Make sure there are always 3 demo sites that are not in use. so the customer can immediately login to an available demo, while the plugin create a new demo for the next user (and run a cron to delete/clean old demo sites).

Is there any input you can give me on that, or maybe refer me to some good documentation/tutorial/project that can help me out here?

Thanks a lot,

Chen