in → usually means inside a physical or enclosed space. (in a room, in a bag, in the car)

at → usually means a location/point. (at school, at the park, at the station)

on → fits better for platforms, surfaces, or mediums. That’s why it stuck for digital things.


Rule of hyphen 

* plant-based (compound adjective)

When two words work together to describe a noun, and they come before the noun, we usually connect them together with hyphen. 

I usually prefer plant-based diet rather than meats. 

Before noun : plant-based diet 
After noun : diet is plant based 

More examples: 
        1. long-term plan 
        2. well-known person 
        3. high-quality product
        4. 14-years-old child
        