Tabia: A free alternative to paywalled opening trainers
When it comes to chess openings I tend to forget some lines in crucial situations mid game. To cure my problem I used a site called chessreps.com for drills and practice. After wanting to explore more lines I came across the paywall behind it, which left me with one option: To build the open-source version myself and finally its here: Tabia.
What it is: Tabia at its core is a browser-local, no account, no server chess opening driller where nothing leaves your machine built with chess.js + Stockfish-in-WASM.
Let's look at an example: the Caro-Kann:
The only comfortable defense I reach for when I want something solid against 1.e4, also the one I hate and keep forgetting. Once in Tabia I click my beloved Caro-Kann, hit Study, and go into Learn mode right away: Intuitively enough it just walks me through the line I select (The classical in the example below) one move at a time: 1.e4 c6 2.d4 d5 3.Nc3 dxe4 4.Nxe4, and then the whole point, 4...Bf5 getting the light squared bishop outside the pawn chain before I shut it in with ...e6. 
Then I switch to Drill. Now im in control. I have to think about my next move myself. Get one wrong and a red light appears, so try again and again. Play the line "accurately" for the given line and the game continues. That's the part that sticks (for me at least): spaced repetition, so a line I nail won't come back for a while, but the one I keep botching shows up again the next day until it's muscle memory.
After a few minutes of not so intensive work I've already drilled the Classical, the Advance and the Exchange with a live eval bar (Stockfish) sitting right around equal, precisely where a Caro should be around then.
I'm a part time developer, and I'm a big believer in open source, so i think its safe to say chess prep especially shouldn't be locked behind a paywall. Evidently Tabia is MIT-licensed and free forever: no account, no "pro" tier, nothing to upgrade. Your data lives in your browser and never touches a server, because there isn't one.
And because it's open like Lichess, it's not just mine. You can build and drill your own opening lines right in the app, and if you're a developer, the whole thing is on GitHub fork it, send a pull request, add a feature. If just like playing chess and want to see more openings u can add it in a few clicks in the app itself with custom tags.
If it saves you from blanking on your prep mid-game the way I used to, it's done its job. And if you want to throw a star on the repo, that's what keeps me motivated to keep building it.
Try it out at: https://daxaur.github.io/tabia/
Or contribute here: https://github.com/daxaur/tabia
Tabia is built for the open source enjoyers, chess lovers and most importantly everyone.