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.
I use the AnkiDroid app on my phone. And it's a pain to quickly make cards on the phone. You will get better and faster at creating cloze deletions after creating a few cards on a phone.
That's why I only use AnkiDroid on phone to revise (and seldom create cards) if accessing a laptop is a bigger pain.
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/