KanjiIQ Documentation¶
Learn Japanese in 51 Languages¶
KanjiIQ is a full-stack Japanese learning platform with JLPT-aligned flashcards, supporting 51 languages through intelligent locale detection. Built with Flutter, Dart Frog, and deployed on Kubernetes.
Architecture¶
Multi-container pod design with Flutter Web frontend, Dart Frog REST API, and PostgreSQL — all orchestrated by Kubernetes.
51 Languages¶
Intelligent locale-based language selection that automatically shows region-relevant languages to users across 30 pre-configured locales.
Tech Stack¶
Flutter and Dart Frog share the same language, enabling code reuse between frontend and backend. Self-hosted on Hetzner with k3s.
Cloud Native¶
Standard Kubernetes APIs with no vendor lock-in. Ready to migrate to AWS EKS, GCP GKE, or any CNCF-conformant cluster.
Quick Facts¶
| Languages | 51 (UI + flashcard content) |
| JLPT Levels | N5, N4, N3, N2, N1 |
| Frontend | Flutter Web (also iOS/Android ready) |
| Backend | Dart Frog REST API |
| Database | PostgreSQL 15 |
| Orchestration | Kubernetes (k3s) |
| Ingress | Traefik with automatic TLS |
| CI/CD | Forgejo Actions |
| Hosting | Hetzner dedicated server |
Who is this documentation for?¶
- Developers contributing to the KanjiIQ codebase
- DevOps engineers deploying or scaling the platform
- Architects evaluating the system design and cloud-native readiness
- Language enthusiasts interested in how 51-language support works under the hood