Create an opening trainer by randomly selecting a frequent opening position and ask the user to make the most played move in the position.
https://openingtrainer.netlify.app/
My chess board component
https://github.com/hyperbotauthor/vue-chessground
that is built upon
https://github.com/ornicar/chessground
https://github.com/niklasf/chessops
The project is a Nuxt.js application. Uses Single page / Jamstack rendering.