I Built a Simple Japanese Vocabulary Tool for Myself — Kotoba
Recently, I have been focusing on Japanese vocabulary learning.
I tried many popular vocabulary learning apps and tools, but I still wanted something simpler, faster, and more focused on memorizing words.
So I decided to build one myself.
After about one week of development, I finished the first version of Kotoba.
https://kotoba.wangpeifeng.com/

Why I Built This Project
I have been learning Japanese for a while.
During my study process, I found that what I needed most was:
- Start learning quickly
- Reduce distractions
- Keep learning records over time
- Review unfamiliar words at any time
So I decided to build a tool that fits my own learning habits.
Data Preparation
The first step was preparing the vocabulary data.
Kotoba’s base vocabulary data comes from this JLPT vocabulary website:
It provides complete N5 to N1 vocabulary lists and is a common reference for Japanese learners.
Based on this data, I used Python to clean and standardize the vocabulary dataset. I also used the OpenAI API to supplement and improve the data, including:
- Chinese translations
- English translations
- Part-of-speech labels
- Unified data structure
Finally, I prepared a dataset suitable for learning and display.
Technical Implementation
The project uses the frontend stack I am most familiar with:
- Next.js
- TypeScript
- Tailwind CSS
- LocalStorage
The project is deployed on:
- Vercel
This is a frontend-only application.
There is no account system, no database, and no backend service.
All learning data is stored locally in the browser, so users can open the website and start using it directly. No registration or login is required.
Current Features
The following features are currently available.
JLPT N5 to N1 Vocabulary Learning
Kotoba supports vocabulary learning by JLPT level:
- N5
- N4
- N3
- N2
- N1
Users can also choose how many words to learn each time.
Daily Challenge
Kotoba provides:
A daily 100-word challenge
This helps maintain a stable learning rhythm and daily learning habit.
Favorites
Important words can be added to Favorites for later review.
Mistake List
Words that were not remembered during learning are automatically added to the Mistake List.
This makes it easier to review and reinforce difficult words later.
Learning Records
Kotoba records:
- Total learned words
- Learning streak
- Daily challenge completion status
This helps track learning progress.
Data Backup
Although there is no account system, Kotoba supports:
- Export learning data
- Import learning data
So even when changing devices, learning records can be moved easily.
Why There Is No Account System
This is an intentional choice.
My goal is to build a tool where users can:
Open the website and start learning immediately.
For the current stage, local storage is enough.
It also means:
- Faster
- Lighter
- Lower maintenance cost
Future Plans
I will continue learning Japanese for a long time, so this project will also be maintained and updated over time.
Next, I plan to keep improving:
- Vocabulary learning experience
- Review mechanism
- Learning statistics
- Vocabulary data quality
There is no plan to build a native app in the short term.
For now, Kotoba will continue as a web version.
However, Kotoba already supports PWA(Progressive Web App). If you plan to use it regularly, I recommend installing the website on your phone or desktop for a more app-like experience, including:
- Full-screen launch
- Standalone app window
- Faster access
- Easier daily learning
Installation guide:
How to install a Progressive Web App (PWA)
https://web.dev/learn/pwa/installation
After installation, Kotoba will appear on your desktop or home screen like a normal app. You do not need to open it through the browser every time.
Try Kotoba
If you are also learning Japanese, feel free to try Kotoba.
If you find any bugs, have suggestions, or want to suggest new features or vocabulary content, you can email me:
I also created a Discord server. You are welcome to join:
Technical Information
- Framework: Next.js
- Language: TypeScript
- Styling: Tailwind CSS
- Deployment: Vercel
- Data Source: https://www.tanos.co.uk/jlpt/
- Translation & Processing: Python + OpenAI API
Keep learning. Keep improving.
Kotoba — A lightweight JLPT vocabulary trainer.
N5 から N1 まで、毎日少しずつ。