Top VS bottom layer conventions
This is a frequent topic in our team and mechanical team. There is no guideline as such. 
More or less it is truly opinion based


The PCB side which will finally face the user (examples are the PCBs which have buttons or displays facing the user) we call it top layer.
If there is no such way to identify, then the side where we have components assembled (one sided PCB assembly) is called top layer. 
The side where we keep test points for production testing (for the ICT needles) is called bottom layer..but this is just what we follow. It is no standard.
If it is a Arduino shield, the PCB facing the top may be called top layer ( my convention)
It is truly user dependent.
Also, for example, the PCB with no components side can be called bottom layer as in lilypad PCB
If it is a bare PCB product, then the side at which it wil be kept visible most of the time can be called top layer
The side facing the sky or the user can be called top layer