Skip to content
This repository has been archived by the owner on Jan 22, 2021. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Geo Contacts is a cross-platform mobile contact application sample for iOS and Android built with Xamarin.Forms and leverages several services inside of Azure including Azure AD B2C, Functions, and Cosmos DB.

See the full session from Build 2018 here:


Sample data for this application was imported from the Microsoft Cloud Developer Advocates (CDAs). When a CDA logs in (who is part of Azure Active Directory) they are able to update their location anywhere in the world. All users have the ability to skip login and browse our beautiful contact list of CDA and find CDAs that are nearby.


Since CDAs travel often to help developers around the world build amazing things we built into the application a way for CDAs to update their current city/state/country and a way for other CDAs to see who is nearby. This leverages built in capabilities of the devices such as geolocation and also leverages advanced geolocation capabilities of CosmosDB for fast queries.


Azure Active Directory B2C

Used directly for all authentication in the app. CDAs can log in and we use this authentication with our Azure Function.

Cosmos DB

Our CDAs are located all through the world. We leverage CosmosDB for it's geo-replication to ensure optimal performance in the mobile applications. We also leverage Cosmo sDB advanced queries to get specific data based on the user's geolocation.

Azure Cognitive Service: Face API

When checking in our CDAs can add their current mood by taking a photo of their face and then the Cognitiver Services API will analyze their emotion and return an emoji to be synced.

Azure Functions

We use serverless architecture for several features of the application including:

  • Updating geolocation data. The CDA will update their location with an Azure Function that will detect their city/state/country and get an annonymous Latitude and Longitude for that location. This ensure privacy so exact location is not stored.
  • This then updates Cosmos DB with their new location.

Visual Studio App Center

Used extensively for Continuous Integration and Deployment, while providing powerful analytics and crash reporting that is imported directly into Application Insights.

Libraries Used



Under MIT (see license file)


Xamarin + Azure demo contact list feature Azure AD B2C, Functions, & CosmosDB.







No releases published


No packages published

Contributors 4