You can check out Anki[1]. Apart from the initial setup, you won't have to worry about taking care of the web server.

I create separate decks for different fields and then only if necessary do I create subdecks. I also tag all the cards that I create and make sure to spend a lot of time to ensure that it's made and tagged properly. So, whenever I learn something new and I believe at that point of time that it's worth remembering, I create a card for that.

[1]: http://ankiweb.net/

I love anki, and I love this use of it, but how do you quickly make cards? Especially on mobile?

I'm also a fan of Anki, I never create cards on mobile (though review them almost exclusively there), but from desktop you can check out https://github.com/MFreidank/AnkiVim and https://metacpan.org/pod/Anki::Import. Raw cards are just text, and you can create them with any editor. https://github.com/corollari/ankiTab is also awesome for reviewing.

If you want more theory about Anki / Spaced repetition, https://www.gwern.net/Spaced-repetition is the ultimate resource on topic