Duolingo progress visualizer with a daily-updated profile card, weekly chart, and stats explorer. Built with Python, GitHub Actions, and a static web UI.
Forked from https://github.com/lauslim12/japanese-duolingo-visualizer.
- Fork this repository.
- Log in to Duolingo in your browser and copy your JWT cookie value.
- Add repository secrets in Settings -> Secrets and variables -> Actions:
DUOLINGO_USERNAMEDUOLINGO_JWTGIT_AUTHOR_NAMEGIT_AUTHOR_EMAIL- Optional:
DUOLINGO_PASSWORD
- Enable GitHub Pages:
- Settings -> Pages -> Source = GitHub Actions
The workflow deploys the static site automatically on each commit and updates the data files plus web/card.svg.
git clone <your-fork>
cd DuoStats
uv python install
uv sync --all-extras
source .venv/bin/activate
cp .env.example .envEdit .env and set:
DUOLINGO_USERNAME=your_username
DUOLINGO_JWT=your_jwt
DUOSTATS_LANGUAGE_LEVELS=English:130,Japanese:12Run the sync and serve the site:
bash scripts/local-sync.sh
cd web
python -m http.server 8000- Static page:
/web/index.html - SVG card:
/web/card.svg
MIT License.