Tutorial for creating companion apps?

I'd like to do some personal project that would involve writing an app for my device (Fenix 5Plus) and a companion app.

I am a newbie in this area...

I think I need to start to find the following information:

* When do I need to have a companion app?

* What SDKs do I need to use (both on the phone side and the device side)?

* Are there any constraints when writing the companion app (for example: can I use, React Native, Swift, or do I need to use C)?

* Are there any example apps out there?

Are you aware of some kind of tutorial that has some of that information in one place? 

If not, would you suggest me a place/links to start?

I browsed through some of the Connect IQ documentation already (Connect IQ Basics, Reference Guides) and examples in https://github.com/garmin/connectiq-apps.

They seem to be targeted towards the wearable device, not the phone...

Thanks in advance,

Karol