Programatically add/remove custom badges to notebook cells

I am building an extension that leverages on a custom left panel to change the notebook metadata and single cells metadata. I would love to be able to display some custom badges in the notebook’s cells based on their metadata, and be able to do this programmatically (e.g. get the active cell from NotebookPanel or list through all the notebook’s cells) by adding a specific badge (label + color) to a cell based on its metadata.
I don’t really know where to begin to add custom widgets to a cell, any help would be really appreciated!

@Stefano_Fioravanzo a good starting point could be to look at the jupyterlab-celltags extension to see how the tags are added to the left area.

That might not correspond exactly to what you want but could still be useful for inspiration.

@jtp Yes I gave already an extensive look at that extension to understand how to handle cell metadata. What I am missing is how to display custom elements in the notebook area. Like create my custom react component ad attach it to a cell, giving some coordinates or props to move it where I want