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

Archived | Build a cognitive recommendation app with Swift

Archived content

Archived date: 2019-05-21

This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed.


Chatbots that can offer consumers recommendations are in demand, especially those that are designed for the mobile platform. This developer journey shows you how to build Cognitive Concierge, a mobile app that recommends local restaurants and which can be adapted to provide other recommendations, reservations, event planning, and tooling. You will build the app using Swift, Watson services, and the Kitura framework.


One of the joys of visiting a city is discovering the best local restaurants, the cool places with great food that only the locals know. Yes, you can spend a lot of time on advance research, or sure, you can take a chance on wherever your cab driver drops you off. But there’s a better way to tap into the collective wisdom.

More and more, developers are building digital experiences through cognitive mobile applications. This technology space is evolving at lightning speed, anchored by mobile and integration of cognitive services delivered on the cloud. These apps put personalized insights and recommendations at your fingertips.

We wanted to build an app that provides convenience, speed, and flexibility, a way to find great places based on any criteria that we cared to provide. We also wanted you to be able to adapt this model not only for restaurants, but hotels, or navigating a cityscape, or any number of other practical uses.

The result? Cognitive Concierge, an end-to-end Swift application sample with an iOS front end and a Kitura web framework back end. It makes use of and demonstrates how to add intelligence to an application by pulling in a number of different Watson services to Swift client and server side apps. To access the services, you can use the Watson Developer Cloud’s iOS SDKs, including Assistant, Text to Speech, Speech to Text, and the Natural Language Understanding service.

This journey shows you how to build a practical, voice-controlled app that can be adapted to all kinds recommendation purposes. It helps you polish your development skills, gets you familiar with the Swift language, and shows you how to tap into all kinds of services with real-world uses.



  1. The user deploys the server application to IBM Cloud.
  2. The user interacts with the iOS application through the Watson services.
  3. When the user performs any action, the iOS application calls the server application API, which uses the Watson Natural Language Understanding service and the Google Places API to provide the user with recommendations.


  1. Deploy the server application.
  2. Update the Watson Assistant Service on IBM Cloud.
  3. Run the IOS application.
Ishan Gulhane
Belinda Vennam