Task: Add sharing buttons

Add sharing buttons

Add convenient content and mechanic sharing for "Learn is Easy!" to support organic and viral distribution.

Context

Viral and referral growth is important for "Learn is Easy!". The user should be able to easily share interesting content, mechanics, articles, or results without unnecessary steps.

Sharing should be integrated into the product as a natural extension of interaction, rather than as an intrusive marketing block.

What needs to be developed

  • determine which entities and screens require sharing buttons;
  • design a common sharing component;
  • support the system Web Share API where available;
  • provide a fallback for copying the link;
  • determine the set of direct sharing channels, if needed;
  • design the text and format of the shared message;
  • correctly generate absolute canonical URLs;
  • check Open Graph / social preview for shared pages;
  • consider sharing a specific article, learning mechanic, object, or state, if technically justified;
  • ensure a smooth experience on mobile devices;
  • avoid overloading the interface with too many buttons;
  • implement sharing event analytics without depending on it for the core UX.

Principle

Sharing should be as low-friction an action as possible:

saw something useful or interesting → shared in one action.

This is important because a significant portion of the project's growth can come from recommendations by parents, teachers, and the users themselves.