Acknowledgements

Manda is built on the shoulders of open-source projects and data. The libraries, datasets, and runtime services listed below are redistributed or accessed by the app.

Runtime libraries & data

CC-CEDICTCC BY-SA 3.0

CC-CEDICT contributors / MDBG

Chinese–English dictionary dataset that powers all word lookups.

© 1991–present Unicode, Inc.

Reading-frequency data used to pick the most likely pinyin for a polyphonic character: kHanyuPinlu corpus counts, with kMandarin for rarer characters. CC-CEDICT lists a character’s readings but not how common each one is.

© 2014 David Chanin

Character stroke-order animation used on word detail pages.

Make Me a Hanzi / ArphicCC BY-SA 4.0 (Arphic Public License)

Arphic Technology Co., Ltd. / Make Me a Hanzi contributors

Stroke-path data used by Hanzi Writer, and the source of character component decomposition data (char-components.json) shown on Word Detail pages.

© 2018 fengkx

WebAssembly port of the Jieba Chinese word segmenter, used to split text into words.

opencc-jsMIT / Apache 2.0

© 2020–2021 The nk2028 Project

Converts between Simplified and Traditional Chinese character forms.

© Facebook, Inc. and its affiliates

UI library used to build the entire application.

© React Training LLC 2015–2019 / Remix Software Inc. 2020–2021 / Shopify Inc. 2022–2023

Client-side routing between pages.

© 2021 Claudéric Demers

Drag-and-drop toolkit used for reordering dashboard widgets.

Tesseract.jsApache 2.0

© 2018 Jerome Wu and Tesseract.js contributors

Fallback OCR engine running in a browser Web Worker, used when PaddleOCR is unavailable or needs a punctuation pass. Its Chinese language data is downloaded on demand from the Tesseract.js data package.

© PaddlePaddle Authors

Browser OCR SDK and locally served PP-OCRv6 Chinese detection and recognition models used by the primary Upload Image flow. Image recognition runs on-device.

© Microsoft Corporation

WebAssembly inference runtime bundled with the OCR assets to run the PaddleOCR models in the browser.

© 2022 John Factotum

Parses uploaded .epub files entirely in the browser (native DOMParser, no server), powering the Import Text page's Upload EPUB option (table of contents and chapter text extraction).

@zip.js/zip.jsBSD-3-Clause

© 2023 Gildas Lormeau

Zero-dependency ZIP reader that unzips .epub files for foliate-js to parse.

© 2016 Gabor L Ugray

Stroke-based Chinese character recognition used in the dictionary handwriting pad.

© 2026 Yanis Zafirópulos

HSK 1–7-9 word lists (readings, definitions, classifiers) that power the HSK pages, Learning Path, and HSK badges.

TatoebaCC BY 2.0 FR

© Tatoeba contributors

Bundled Simplified and Traditional Chinese example-sentence corpora (~48,000 / ~39,000 sentences), used on Word Detail pages, Cloze sessions, and Anki export.

© 2020 Supabase

Client library for account sign-in, cloud sync, word comments, bug reports/feature suggestions, and moderation.

posthog-jsMIT / Apache 2.0

© 2020 PostHog / Hiberly, Inc.

Product-analytics client used to capture anonymous usage events.

© 2017 sql.js authors

WebAssembly build of SQLite, used to assemble the .anki2 database for Anki deck export.

© 2026 Arjun Barrett

Zips the SQLite database and media manifest into a genuine .apkg file for Anki export.

ZodMIT

© 2025 Colin McDonnell

Schema validation used to safely parse attacker-controllable JSON on the Import/Export page before writing to storage.

© 2011–present Christopher Jeffrey and Marked contributors

Markdown parser used to render Manda blog posts.

© Joseph Liu

Profanity-filtering library used to screen public submissions and display names.

Tauri and Tauri pluginsApache 2.0 or MIT

Tauri Programme within The Commons Conservancy

Framework and opener plugin that package Manda as native desktop and Android apps, check the native app version, and open native links.

© thedaviddelta & contributors

Privacy-respecting frontend for Google Translate, queried at runtime to auto-translate example sentences and reader text into English.

MyMemoryFree API

© Translated S.r.l.

Translation memory API used as a silent fallback when Lingva Translate is unavailable.

© Google Inc. / Adobe (Source Han Sans/Serif contributors)

Simplified and Traditional Chinese typefaces, selectable as a font option throughout the app and served via Google Fonts.

© ZCOOL Project Authors

Decorative Simplified Chinese typefaces, selectable as a font option, served via Google Fonts.

Ma Shan ZhengSIL OFL 1.1

© Ma Shan Zheng Project Authors

Cursive brush-script typeface, selectable as a font option, served via Google Fonts.

LXGW WenKai TCSIL OFL 1.1

© lxgw (落霞孤鹜)

Traditional Chinese calligraphy-style typeface, selectable as a font option, served via Google Fonts.

Runtime services

© Cloudflare, Inc.

Bot-protection service loaded on the Contact page; its token is verified by the contact submission service before a message is accepted.

Build tools

These tools are used during development and are not included in the distributed application.

ViteMIT

© 2019–present Yuxi (Evan) You and Vite contributors

Build tool and development server.

© Tailwind Labs, Inc.

Utility-first CSS framework used for all styling.

TypeScriptApache 2.0

© Microsoft Corporation

Typed superset of JavaScript used throughout the codebase.