Rishabh Coral/Granite framework is created for AEM UI. In case if you want to create an utility page/landing page then you can use those frameworks but for your own website or customer facing, it is not recommended.
The reason for not working coral UI in custom components is, the supporting JS/CSS won't be available or loaded.
Coral API is not meant to go into Production. Its meant for Author and to build out component dialogs or AEM UI. So Coral API is not meant to build a custom component that is rendered in an AEM web page.