The only one I have online is jlpt.se. I'm a bit conscious about sharing it with people who know code, since it's a bit of a rats nest. The ui is clean, the logic is not..
One of the big things I was missing in other tools was actual input. I've also haven't had any luck with srs, I prefer learning in an ordered list, then shuffling the order.
I implemented an "unstrict" input method. If I input a letter contained in the word it's an accepted answer. This is a very conscious decision. It's really hard to get a nice tempo with a strict input.
The Kanji part is the only part useful according to me. I simply can't learn vocabulary through regular rote memorization. I'm going into the second "phase" of learning, which is reading. Feels like banging my head into a wall most of the time, but eventually I will break through.