A city is made up of communities and communities need to engage with the government. Unfortunately, government does not provide a user-friendly service in helping citizens find information. Research shows that 70% of people look for information from government websites asking about drivers license, school ratings, trash pickups etc. but less than 10% get information on such websites and have a bad experience doing that. Information should be easily accessible and ubiquitous. Often data requires complex user experiences through limited devices. Instead, what if data can be conversational through commonly used communications tools like SMS and MS Cortana. Chatbots, personal assistants and such interfaces are compelling ways to create engagement and access information.

What it does

Esri's Sonar bot provides a natural language interface to local government open data and demographic services that helps people ask questions about their community. In this hackathon, we integrated Sonar ( with Cortana to get answers to questions in a natural conversation way. We also integrated Sonar with twilio for conversation over text messages.

How I built it

We built it using ArcGIS APIs, open-source deployment tool called ClaudiaJS, Microsoft Azure, and Twilio.

Challenges I ran into

The biggest challenges were to integrate Sonar with a platform like twilio. There was not much documentation on that. Another challenge was adding speech to Azure bot which would then connect with Cortana.

Accomplishments that I'm proud of

We are just a team of 2 members with one developer and we are glad that we could implement 2 user interfaces. We got to learn new technologies like Azure bot development pretty quickly.

What I learned

We learned that some parts of Sonar code are very brittle and it took some time to fix some issues there. Also it was new and exciting to learn about MS Azure Bot Framework.

What's next for Sonar to Cortana

We could add more functionality to Sonar, strengthen the bot framework in Cortana - use intents and context management.

Share this project: