A 36-hour hackathon was held at the SHJTU in China from May 5th to May 7th 2017 with 150+ students participating. The students implemented 27 interesting projects using services and SDKs provided by 8 different vendors that included IBM, QingCloud, Microsoft, GitHub, NVIDIA, and others. IBM’s offerings featuring Cloud, Watson, OpenWhisk and Power AI drew much attention. The best 3 projects selected by 11 judges all used IBM services. A project using OpenWhisk entered the best 6 and won the IBM Youth Maker award.
Have flowing conversations with Chat Assistant
The winning team, made up of three juniors from SHJTU, created a mobile app called Chat Assistant. The app tackles the slow down in conversations caused by unclear key words. Chat Assistant intelligently recognizes key words in a conversation, looks them up in Wikipedia and presents the explanation to participants with a click of a button. In a regular conversation, manual word lookup is tedious and causes undesirable pauses in the conversation flow.
How does Chat Assistant do it
The prototype app uses the IBM Watson ‘Natural Language Understanding’ service to extract keywords, entities, concepts, and even emotions from sentences. Kafka is used by the app to send and receive messages. OpenWhisk serves as an API gateway to support the communication across Watson, Wikipedia, Kafka and Mobile App implemented in multiple programming languages. OpenWhisk actions are exposed as RESTful APIs and invoked by the client written in Swift. The app source code can be found in the Chat Assistant GitHub repository.
- OpenWhisk is used for the following actions
- An action to get the key words from Watson ‘Natural Language Understanding’ service and then retrieve the explanation from Wikipedia; The action is exposed as a RESTFul service by the api management UI in Bluemix.
- Actions to send and get messages to and from Kafka. These actions are also exposed as RESTFul services by the api management UI.
Lessons learned from the hackathon
This was the first time we promoted OpenWhisk to university students. Before the hackathon officially started, we trained 50+ SHJTU students on OpenWhisk. An article entitled “Set up your mobile/web backend services in 3 steps with Apache OpenWhisk” was written in Chinese and distributed to all hackathon students. In retrospect, a document written in Chinese with clear description and guidance and a catchy title such as “’Set up your mobile/web backend services” would have attracted more participants to the hackathon. For future hackathons, we plan to write more articles in Chinese covering more interesting applications of OpenWhisk. Good onsite support from the local team was also essential to the success of the hackathon and we plan to continue this practice.