Memrise.com (primarily for learning the vocabulary of another language) combines spaced repetition with mnemonics. When learning a particular piece of vocabulary it will offer up an ordered list of suggested mnemonics based on their popularity in other sets. Extremely effective for its use case.