Very good idea.
You created a structure for your main mechanic and got a lot of it. I would recommend you to test other loops always with your core mechanics.
Your game turned out very good, congratulations.