This application was originally made as a submission for the final project for CS50x 2022. It was designed in VS Code using Python, SQL, HTML, JavaScript, Sass and CSS.

Database Creation

The database for this application was created by integrating radical data that I have compiled myself, with kanji data, vocabulary data and stroke order data pulled from other sources.


The kanji data was obtained from The KANJIDIC project. The KANJIDIC project files are released under a Creative Commons Attribution-ShareAlike Licence (V3.0). See the EDRDG General Dictionary Licence Statement for details. Only jouyou, jinmeiyou and kanji kentei kanji have been included.


Most vocabulary data was obtained directly from JMdict. The data for common vocabulary items was obtained from jisho. Jisho uses JMdict and JMnedict for their vocabulary. These files are released under a Creative Commons Attribution-ShareAlike Licence (V3.0). See the EDRDG General Dictionary Licence Statement for details.

The application to obtain the common data from jisho was made by John Charlton (coolmule0). It can be found here. The application is licensed under the GNU General Public License (V3.0). See the JLPT-N5-N1-Japanese-Vocabulary-Anki LICENSE page for details.

The vocabulary items were sorted into JLPT levels using Jonathan Waller's JLPT resources. This data is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0). See the Creative Commons license page for details.

Last names were obtained from 名字由来net.

First names were obtained from the Meiji Yasuda Seimei 2022 Survey of names for children born in 2022.

Example Sentences

Example sentences are used for vocabulary and grammar pages.
Sentences marked 'YYK' were added by me.
Sentences marked 'Wikibooks' come from the JLPT grammar pages on Wikibooks. They are provided under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0). See the Creative Commons license page for details.
Some example sentences and their translations were taken from Sentences marked 'tatoeba' did not have a sentence author. All other sentences used from tatoeba are marked with their author. The sentences are released under a CC-BY License.

Other Acknowledgments

Besides the creation of the database, there are other parts of this application to which other people's work have been an integral part.

Stroke Order

The stroke order svg data for all kanji was obtained from KanjiVG. KanjiVG is copyright © 2009-2023 Ulrich Apel. The files are released under the Creative Commons Attribution-ShareAlike License (V3.0). See the Creative Commons license page for details. Only svg data for jouyou, jinmeiyou and kanji kentei kanji has been included. Some version of the svg data has been adjusted by me for color blindness. See below for details.

Stroke Color

In order to make the different strokes as easy as possible to see for people with color blindness, I used this article by David Nichols as reference. The color patterns I chose are based on this article by Bang Wong and this page by Paul Tol.

SuperMemo Algorithm

In order to study effectively, the SuperMemo Algorithm SM-2 is used. You can read about it here. Algorithm SM-2, © Copyright SuperMemo World, 1991. See for details.

Text to speech

The text to speech audio is provided by gTTS. gTTS is copyright © 2014-2023 Pierre Nicolas Durette & Contributors and is released under the MIT License. See the license page for details.

Vector Map of Japan

The vector map that was used as a base to create the maps used in the prefecture course is provided by Free Vector Maps, Striped Candy LLC. More specifically, the map used can be found here: Vector Map of Japan with Prefectures - Outline.

Calligraphy Art

The calligraphy used for the various menus was created by my wife. She used a calligraphy brush, ink and paper to write the kanji needed. I only edited them to fit in with the rest of the application.


The lovely people who helped me test this site before release, gave me feedback and suggest missing features, among other things.

Daniel Patterson Instagram/Star.River.Ikebana
Julia Sugawara Netlify/J.M. Sugawara
Mr. Sunshine
Quinlan YouTube/GoNorth Japan
Sam Burnett Instagram/srb____
Stephen Coler Instagram/StephenColer
Stevyn Hokkaido Market

Debugging and picking my brain

The lovely people from the ENB Discord server, who have a code channel that helped me many times when I was stuck or didn't understand how to solve a problem. Their input has been invaluable.


Professor David J. Malan, Doug Lloyd, Brian Yu and the rest of the CS50 staff, who taught me how to create all of this.

Yes, you KANJI!:

Copyright © 2022-2024 Michael Werker.