Build a cognitive recommendation app with Swift  

Build a Swift-based mobile chatbot to provide recommendations, reservations, and event planning


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.

Related Blogs

2 ‘Edgy’ AI TensorFlow Models for you!

The global Call for Code is well underway, we want to share some visual recognition models which could help you. These AI models can operate on the edge, which could be particularly useful for this years’ theme: disaster preparedness. How could visual recognition help in relief work? From satellite and drone imagery analysis, to classifying...

Continue reading 2 ‘Edgy’ AI TensorFlow Models for you!

Leveraging the power of AI at Unite Berlin

Last week, from June 19 – 21, we were at Unity’s premiere in Berlin: Unite 2018. This conference brought together Unity’s video game and development community. Unity touches 770 million gamers all over the world and is the market leader for consumer AR and VR use cases and is also rapidly emerging as the market...

Continue reading Leveraging the power of AI at Unite Berlin

Related Links


Build powerful, fast and secure server-side Swift apps for the Cloud.


A new, modular, package-based web framework written in the Swift language.