The problem

Japan's airports are short of ground-handling staff. MLIT, the aviation ministry, reports that headcount fell by about 20% from pre-COVID levels at one point and that the shortage continues (survey report, p. 2). Japan opened a work visa for this job in 2019 (Specified Skilled Worker, aviation). By the end of June 2024, 3,066 people had passed both the aviation skills test and the Japanese language test, but only 959 were working in aviation under that visa, and only a few airports, such as Haneda and Narita, had taken any (p. 2).

The same MLIT survey asked operators who were considering foreign hires but had not made any what was holding them back. "Worried about communication" was the top answer (50.0%). Asked for the single main reason, 77.8% of those at small airports and 50.0% at medium airports chose communication (pp. 7, 10). The base is small: 20 operators were in this group, so the split by airport size rests on a handful of answers. It shows the worry exists; it is too small a sample to compare airports.

The report also explains why small airports are stuck. They can usually hire only a few foreign staff at a time, so they cannot assign a dedicated trainer the way Haneda, Narita or Kansai can. Because ground-handling procedures differ by airline and airport, the report suggests reducing the Japanese-language part of the training load instead, with online material that learners can study alone and teaching material in やさしい日本語 (plain Japanese) (p. 20).

One concrete piece of that language load is ramp jargon: English loanwords said in Japanese and often clipped, such as ショーアップ (crew has arrived), ガスアップ (refuelling) or アンコリ (the anti-collision beacon). MLIT's employer manual appends a 24-word glossary of these terms and notes that the many technical terms slowed on-the-job learning (manual, pp. 18, 22). The glossary is a printed table, so it shows the words but does not train the ear.

What I built

RampTalk JP is a browser app that runs on a phone, with no login and no server.

  1. Word drill. The app says a ramp word in Japanese. In "Ear only" mode the written word stays hidden until the learner chooses the meaning, so the drill tests listening, not reading. "Apron noise" plays a low rumble under the voice. "Say it" checks pronunciation with Japanese speech recognition. Missed words drop back to box 1 of a five-box Leitner schedule and return in the next set of 10.
  2. Ramp calls. Short spoken instructions that combine the words, for example "アンコリ消灯。チョーク、かけてください。" (beacon is off; put the chocks on). The learner chooses what to do.
  3. Supervisor view. The supervisor switches off words the station does not use, adds its own (for example トーイング, towing), and exports the pack as one file for new staff to open before they arrive in Japan. Learners send back a results file. The supervisor imports any number of these files and sees each learner's accuracy, their most-missed words, and the words missed most across the whole group. A one-page word card prints from the same pack.

Meanings can be shown in English or in やさしい日本語.

How it differs from what exists

MLIT printed glossary General flashcard app RampTalk JP
Sound No Many offer text-to-speech for cards Every word and call is read aloud by the phone's Japanese voice
Tests listening without the written word No Depends on how the deck is built "Ear only" mode by default
Station's own words Fixed list Possible; someone has to build and share the deck Starts from MLIT's 24 words; the supervisor edits one pack and sends it as a file
Trainer sees each learner's missed words No Some offer class progress, usually with teacher accounts Learners send a results file; no accounts or server

Proof

  • Working prototype: see "Try it out". The word drill, ramp calls and supervisor tools run in any current browser with a Japanese voice. "Say it" needs Chrome and a microphone. Try it in one minute: open the link, tap Play, choose a meaning, then open Ramp calls and Supervisor → "Load demo cohort".
  • Audio check, with a change made because of it. I had the app's Japanese voice (macOS Kyoko) say each starter word and had an offline speech recogniser (whisper.cpp) write down what it heard, then applied the app's own matching rule. When the voice read the hiragana spelling, 14 of 24 words came back. Reading the katakana term raised this to 19 of 24, so the app now speaks katakana. The same check found that the recogniser writes ビーピー as "BP", which the "Say it" check had been marking wrong; it now accepts the abbreviation. I then ran a noise sweep with brown noise at four levels: 15, 17, 17 and 12 of 24 words at about +19, +13, +7 and 0 dB speech-to-noise ratio. An earlier single run at the loudest level gave 6 of 24, so one run is not stable and these numbers carry a few words of spread. From this, the app's "Apron noise" now has light, medium and heavy settings with the same ratios, and light is the default. This is a machine listener, not people, and one synthetic voice. In clean audio the five misses were ビーピー (heard as "B.B."), パックス (バックス), シップ (シック), ターンアラウンドタイム and スポット (ストッド). Most are one consonant off. Without human listeners I cannot tell whether the synthetic voice or the recogniser is at fault, so these five are first on the list for the trainer check. Full per-word results are in the report.
  • Automated end-to-end test: 20 of 20 checks pass in headless Chromium. It covers the drill and Leitner boxes, ear-only hiding, ramp calls, the language switch, adding and switching off words, pack export and import on a second device, the learner results file, merging it twice without double counting, the print card, reload persistence and console errors. Both reports are summarised in the deck appendix.
  • Content source: the 24 starter words, readings and Japanese meanings are MLIT's glossary (manual, p. 22). The English meanings and the eight sample calls are my own and still need checking by an operator.
  • The group view in the demo uses a button that loads three made-up learners. They are labelled "synthetic" on screen and are not real users.

Not done yet:

Item Status
Test with ground-handling staff or trainers Not done
Operator check of the sample calls and English meanings Not done
Speech recognition with non-native accents Not tested; "Say it" needs Chrome and a microphone
Listening with human learners Not tested; the audio check above uses a machine listener
Audio quality of the phone's built-in Japanese voice Varies by device; not measured
Shared online dashboard Not built; results move as files

Technology used

One HTML file with plain CSS and JavaScript, no server and no build step. Web Speech API for Japanese text-to-speech and speech recognition. Web Audio API for the apron-noise layer. localStorage for each learner's Leitner boxes and answer log. Word packs and results are small JSON files, so they can be passed by email or chat apps. Playwright runs the end-to-end test; whisper.cpp runs the audio check. I wrote the code with an AI coding assistant (Claude Code).

Data handling: nothing leaves the phone unless the learner chooses "Send my results". That file holds the name the learner typed and their answers, nothing else.

Target user and customer

Users: foreign staff starting in airport ground handling in Japan, from before they enter the country to their first year, and the supervisors who train them. Customers: ground-handling operators at small and medium airports. Registered support organisations are a second channel; the MLIT report names them as a source of translation, interpretation and community support for these hires (p. 20). MLIT's manual lists, as examples, public programmes that have covered training materials and Japanese-language education for these workers (p. 21). Whether one is open for a pilot needs checking.

Current stage

Prototype.

Business and deployment case

Pilot: one operator at one regional airport and three to five new foreign hires. The operator edits the word pack for its station, and the hires use the app for four weeks alongside normal training. Two measures are taken before and after: the share of the station's ramp words each hire recognises by ear (the app records this), and the time trainers spend explaining terms (trainer log).

Scale: the government's planned intake for this visa is up to 4,900 people by the end of March 2029 (Immigration Services Agency). The prototype is one static file with no server or database, so hosting can run on a free static host and the cost of serving one more learner is close to zero. Price per learner is not set; the pilot is where I would test what operators and support organisations will pay.

Assumptions and checks:

Assumption How to check
Ramp jargon is a real part of the "communication" worry Ask 3 operators and 1 support organisation which words new staff miss
Listening practice before arrival shortens on-the-job explanation Trainer log in the pilot
Supervisors will keep a station pack up to date Watch edits during the 4-week pilot

What I need next

Aviation expertise (a ground-handling trainer to correct the sample calls and add station words), a pilot partner at a regional airport, and mentors on selling to ground-handling companies.

Pilot protocol (draft, to agree with the operator)

  • Scope: a pre-arrival and off-shift study aid for listening. It is not part of any approved training programme and gives no instructions on the ramp. It is not operational instruction and does not replace the operator's safety training, briefings or radio procedures. Trainers stay responsible for what is taught on the ramp.
  • Content sign-off: before the pilot, a trainer at the station checks every word, meaning and sample call, switches off what the station does not use and adds its own words. Only the signed-off pack is sent to hires.
  • Data: practice results stay on each phone. A hire sends a results file to the trainer only by choice. No names other than the one the hire types, no accounts, no server.
  • Measures: share of station words recognised by ear in week 1 and week 4 (from the app); minutes trainers spend explaining terms (trainer log, same weeks); a short exit question to hires and trainers.
  • I would call the pilot worth continuing if hires recognise at least 80% of station words by ear in week 4 and trainers report less time on terms. These thresholds are my proposal and would be agreed with the operator first.

Roadmap

  1. Check all words and calls with one ground-handling trainer.
  2. Add meanings in learners' first languages (for example Vietnamese, Indonesian, Nepali), checked by native speakers.
  3. Test "Say it" with non-native speakers and report the hit rate.
  4. Optional shared dashboard for operators who want it.
  5. Four-week pilot at one regional airport, with the two measures above.

Team

Kotaro Kurosaki (solo). First-year undergraduate, International Business Law, Global Course, Faculty of Law, Rikkyo University, Tokyo. I did the research on public MLIT and Immigration Services Agency documents, designed the app, built the prototype and wrote the tests.

Sources

Built With

  • claude-code
  • css
  • html
  • javascript
  • localstorage
  • playwright
  • web-audio-api
  • web-speech-api
  • whisper.cpp
Share this project:

Updates

Submission history