Cross-platform Xamarin Forms based app to share emergency contacts.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
First time

See First time setup for requirements to compile locally.

Then just compile from Visual Studio as you would any other Xamarin app.

Supports Android, UWP and iOS (iOS last tested with v1.0.0).

Share Emergeny Contacts

Share Emergeny Contacts is a cross-platform mobile application that allows two or more people to instantly exchange their emergency contact information from phone to phone without transmitting the data over the internet.

It is useful for any person taking part in group activities that may involve low to high risk of injury or even death (motorcycling, climbing, paragliding, speedflying, base jumping, ...).

Even if you are good friends with everyone in the group you usually don't know the insurance details, family contact information, allergies, blood type, etc. of everyone.

While many modern phones already support ICE (In Case of Emergency) contact details they are usually locked behind the phones lockscreen. Rarely do manufacturers get this feature right and display this information right on the lockscreen or hide it in the "emergency call" feature.

In case of an emergency such information could be life-saving.

With high risk activities it is however entirely possible that someone looses or breaks their phone (motorcycle accident, ..) thus this app provides a way to share this emergency information with everyone.


Profile details QR code Received contacts

The app works fully offline and never uploads any user data.

Contact information is transfers via QR code from one phone to another (making the only requirement a camera on each phone that needs to receive contact information).


Three simple steps are required to use the application:

1. Setup

Each person needs to fill out their own information in the application first (this has to be done only once).

Optionally multiple profiles can be created (e.g. different insurances for different sport types, different emergency contacts, ..).

Information that can be stored includes:

  • Full contact details of own person: name, age, phone number, address, blood type, weight, allergies, etc.
  • insurance details (name, insurance number, contact information)
  • Full contact details of emergency contact persons

All information is optional! Only fill out what you want to share.

2. Share your information

Once the data is entered, the user can use the "share my details" feature to transfer his data to another phone.

Additionally the user gets to select how long the information should be stored on the other persons phone (e.g. 1 day, 1 week, 1 month, forever).

A barcode is then displayed and the other person can scan the barcode with their app.

2.b Receiving someone's information


By scanning the barcode from another person the data is directly transfered without being uploaded to the internet. All information is stored in the barcode and locally within the application.

The barcode also contains the (optional) maximum duration if set by the person sharing the details. This allows automatic deletion once expired (e.g. short climbing trip with a bigger group and you don't want everyone to have your medical details forever).

Once received the other person can add an optional category for the newly added person as well as a nickname.

E.g. Category: "Freeclimbing Trip Italy 2017", Nickname: "Alex from USA"

3. In case of emergency

Should anything happen to someone in the group that renderes them unconscious or barely able to talk (falling from height, high speed impact, etc.) anyone else can pull up the emergency contact information in their app and immediately share this information with paramedics.


While developing the app I used my own offline-capable IssueTracker to track the issues (see "issues" directory). All issues in said folder are resolved and future issues will be tracked via github issues.

Known issues

Compiler warnings

modernhttpclient is not netstandard2. Since I'm not directly using it (dependency of Xamarin.Forms.Pages) I have to wait for them to fix it.

ResourceDictionary.MergedWith is obsolete: 'Use Source': I currently don't know how to fix it, since I need classes from an external dll as the "source".


Migrate iOS to PackageReference and test v1.0.1 on an iOS device