I’ve iterated on this a few times for for jquery optimization as well as some quick color and layout. Making sure that all buttons are locked while data is being retrieved was an important consideration.
Some notable functionality:
- The app tracks which cards have already been reviewed so that you do not get duplicates (this is statically tracked in the database).
- You can bring all cards back into rotation at any point.
- The app tracks when you say you remembered or forgot a card, and removes mastered cards from the rotation permanently.
Overall, this is not an ideally deployable or production-level workflow; however, I am very impressed at the accessibility. GoogleScript and the in-browser editor mean that this is a very accessible way to code and test quick tools for personal use or just to prototype. The webapp itself also deploys to a static link that is accessible anywhere via the web.