5) zkanji: https://github.com/z1dev/zkanji! It's got a dictionary from which you can directly add words into its study decks when looking them up, and it has handwriting recognition plus let's you easily find similar looking kanji (with shared components etc), which is great when tesseract ocr fails, or when the text is so blurry/compressed you can't really even see it clearly (the online Japanese war history archives really love to compress their scans).