Win $20,000. Help build the future of education. Answer the call. Learn more

Create a mobile handwritten Hangul translation app


The Korean written language has thousands of unique characters that make up its words. In this pattern, you’ll learn how to use TensorFlow and the Watson Language Translator to make an Android app capable of recognizing and translating the Korean words you draw on your devices.


Hangul, the Korean alphabet, has 19 consonants and 21 vowel letters. Combinations of these letters give a total of 11,172 possible Hangul syllables and characters. However, only a small subset of these are typically used.

In this pattern, you’ll go through the process of generating your own Korean training data and then train a TensorFlow model to classify some of the most common Hangul handwritten characters. You’ll then build and run an Android application, where you are able to draw Korean characters on your mobile devices and have the characters recognized by using the trained model. Next, you’ll form Korean words or sentences in the application, which you can then translate by using the Watson Language Translator service.



  1. The user downloads several Korean fonts to use for data generation.
  2. The images generated from the fonts are fed into a TensorFlow model for training.
  3. The user draws a Korean character on their Android device.
  4. The drawn character is recognized by using the previously trained TensorFlow model and the Android TensorFlow Inference interface.
  5. A string of the classified Korean characters is sent to the Watson Language Translator service to retrieve an English translation.


Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README file.