Hakkutsu (発掘, "excavation/discovery") is a Chrome browser extension that transforms any webpage into a Japanese learning environment. It detects Japanese text, provides instant analysis with tokenization, dictionary definitions, furigana, and JLPT levels, and lets you export vocabulary to Anki with one click.
- 🔤 Japanese Text Detection — Automatically identifies Japanese text on any webpage
- 📖 Deep Analysis — Tokenization, readings, POS tags, dictionary definitions, example sentences
- 🏷️ JLPT Levels — Instant N5–N1 classification for every word
- 📺 YouTube Subtitles — Extract and analyze Japanese subtitles from videos
- 🖼️ OCR Support — Extract Japanese text from images and manga panels
- 📇 Anki Export — One-click flashcard creation via AnkiConnect
- 🔐 Cloud Sync — Save vocabulary and settings with Firebase
- 🤖 AI Difficulty Scoring — Transformer-based sentence difficulty classification (Phase 2)
Hakkutsu/
├── extension/ # Chrome Extension (Plasmo + React + TypeScript)
├── backend/ # API Server (FastAPI + Python)
├── ml/ # ML Pipeline (PyTorch + Transformers) — Phase 2
└── shared/ # Shared type definitions
- Node.js 18+
- pnpm 8+
- Python 3.11+
- Chrome browser
cd extension
pnpm install
pnpm devThen load the extension in Chrome:
- Navigate to
chrome://extensions - Enable "Developer mode"
- Click "Load unpacked"
- Select
extension/build/chrome-mv3-dev
cd backend
python -m venv .venv
.venv/Scripts/activate # Windows
pip install -r requirements.txt
python -m app.mainThe API will be available at http://localhost:8000/docs.
| Component | Technology |
|---|---|
| Extension | Plasmo, React, TypeScript |
| Backend | FastAPI, Python, Sudachi |
| Database | Firebase Firestore |
| Auth | Firebase Authentication |
| NLP | SudachiPy, JMdict |
| OCR | MangaOCR / PaddleOCR |
| ML | PyTorch, Hugging Face Transformers |
| Flashcards | AnkiConnect |
| Hosting | Render |
This project is licensed under the MIT License — see the LICENSE file for details.
- JMdict by the Electronic Dictionary Research and Development Group
- SudachiPy by Works Applications
- Plasmo browser extension framework
- AnkiConnect by FooSoft Productions