I've been working on a free Chinese language learning tool for awhile now. The main insight is that Chinese characters are used together to form words, and that this allows for a way of quickly getting information about related words and characters. By learning words and characters in a chain in this way, I've found it easier not to get lost in the long list of characters.<p>In addition, I've found it helpful to break down characters into their components to find pronunciation clues, which can sometimes be hidden in components of components.<p>The math feature uses a similar tree traversal mechanism to allow expressions like 酒-氵+各 = 酪 or 亻+寸+广+仌+⺆ = 腐.<p>As it's 2025, it also has some AI features. Notably:
* allowlisted users can get Chinese or English text explanations that span more than just a word, but that integrate with the other features, like flashcard creation and in-browser text-to-speech.
* files and images (using the browser's `capture` mechanism to operate cameras) can also be processed similarly.
* example sentences were generated and cached using AI<p>The site is a PWA built with vanilla JS (because I like pain), with Cytoscape and D3 for various rendering tasks.<p>The backend was built with Firebase, with Genkit + Gemini 2.0 providing the AI integration.<p>Feel free to check it out:
<a href="https://hanzigraph.com" rel="nofollow">https://hanzigraph.com</a>