Motitory · an independent product studio in Japan
Tools for life between Korean and Japanese.
Apps and free tools from a Korean developer living in Japan. Kana and Hangul, Japanese era years, both countries' public holidays: the things you run into moving between the two languages, sorted out right in your browser.
Popular Korean–Japanese tools
Japanese forms and dates, kana and Hangul: the tools people look for between the two languages.
- Japanese era converterReiwa, Heisei, Shōwa and other Japanese era years to Western years and back, with the zodiac year and an age table. Older eras convert by year.
- Business day calculatorBusiness days between dates and N business days ahead, skipping weekends and Korean or Japanese public holidays.
- Korean romanization converterHangul to Latin letters under the Revised Romanization of Korean, with a katakana reading for Japanese speakers.
- Hiragana & katakana chart with audioThe full kana chart: basic, voiced and combined sounds in hiragana and katakana, with romaji. Tap to hear each one.
- Full-width / half-width converterConvert full-width letters, digits, symbols, spaces and katakana to half-width, or back, for Japanese forms.
- Korean keyboard converterTurns text typed on a QWERTY layout by mistake (dkssud) into Korean (안녕), and Hangul into the keys that type it.
- Hangul chart (Korean alphabet) with audioEvery basic consonant and vowel combination, tense consonants, complex vowels and final sounds. Tap to hear each syllable.
- Date format by countryOne date and time written the way each country writes it, plus ISO 8601, RFC 2822 and the Japanese era.

Calendar · Alpha
Your calendar stays yours.
Others see only busy.
Per event and per group, choose private, busy-only or details; the app finds the time two people share.
Learn more

Japanese grammar · 1.0 soon
Start from "why this one".
The difference between patterns that translate alike, shown in context. Records stay on the device; sign-in is optional.
Learn more
Korean grammar · in development
Korean, for Japanese speakers.
KotoSense's sister app: telling apart Korean expressions that become one in Japanese.
Learn moreHow we decide
What we weigh before adding anything new.
Know only what's needed
We skip the server when we can. When an app does need one, it gets only what the feature uses, and you decide who sees what. Anything you chose not to share isn't just hidden on screen. The server never sends it.
Show what the result means
A learning app shouldn't stop at the right answer. Ours explain how the meaning would change if you picked a different one. A calendar should make it clear what is visible to whom. We want you to understand the result, not just see it.
Machines help, people check
We use AI and automation heavily for writing code, drafting translations, testing and deploying. We don't treat AI as a fact-checker. App releases and posts on this site go out after a person has read and approved them, and when something is wrong, fixing it is on us. Learning content that hasn't had a human review yet is labeled as such in the app.
Useful enough to keep
We don't use streaks, leaderboards or nagging notifications to keep you hooked. The aim is apps people keep using because they help, and that feel worth paying for. That is what lets the studio pay its own way and keep improving what it makes. We don't promise exam results either.
Blog
Notes on making things and what we learned.
Validating DPoP proofs: which replays jti, htm, htu and nonce stop, and which they don't
What a server must check when it receives an OAuth 2.0 DPoP proof JWT, and how far jti, htm, htu, iat and nonce go in limiting replay, based on RFC 9449 alone.
Why a Go Pointer-Receiver Method Can Be Called but Doesn't Satisfy the Interface: Method Sets and Addressability
c.Inc() compiles, yet assigning c to an interface fails. This post uses the Go spec's method set and addressability rules to explain why, with map elements, embedding and method values.
Why a PostgreSQL Index Only Scan still reads the table: the visibility map and Heap Fetches
PostgreSQL index-only scan requirements, how the visibility map avoids MVCC heap checks, and INCLUDE covering index tradeoffs in PostgreSQL 18, plus diagnosis via Heap Fetches and relallvisible.