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

Jax 2018 – Just An Awesome Experience

What a week! From 23rd to 27th April our Berlin team attended the Jax conference in Mainz, Germany. We had such a great time sharing our fresh perspectives, in the form of a rousing keynote and two informative sessions. The concept of this annual event with over 2,000 participants, revolves around innovating with Java, architecture,...

Continue reading Jax 2018 – Just An Awesome Experience

CloudNativeCon and KubeCon are coming to Copenhagen!

With May just around the corner, mark your calendars for an exciting event, CloudNativeCon/KubeCon, in Denmark’s capital city of Copenhagen. Many of us in the Cloud Native community already visited this beautiful city for DockerCon EU last year and we’re excited to be able to take in all of the wonderful sites again this year....

Continue reading CloudNativeCon and KubeCon are coming to Copenhagen!

Live analytics with an event store fed from Java and analyzed in Jupyter Notebook

Event-driven analytics requires a data management system that can scale to allow a high rate of incoming events while optimizing to allow immediate analytics. IBM Db2 Event Store extends Apache Spark to provide accelerated queries and lightning fast inserts. This code pattern is a simple introduction to get you started with event-driven analytics. You can...

Continue reading Live analytics with an event store fed from Java and analyzed in Jupyter Notebook

Related Links


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

IBM Swift Sandbox

An interactive website that lets you write Swift code and execute it in a server environment on top of Linux