Crowdsource ideas on how to create an interactive lab plate map (96-well, 384-well, etc.) maker

Goal
Help identify some initial directions I can pursue in Shiny to replicate something like this: https://demo.thunor.net/platemap/384 which was created in Python.

Background
For all you life sciences folks here in the Shiny Community, wouldn't it be cool if there were an app that could enable scientists to create their platemap and annotate it in a user-friendly way AND automatically pivot_longer() it into a tidy metadata dataframe that data scientists and other R users can then use downstream?

Would appreciate any and all comments/thoughts from people on this forum. The demo I've linked above is very close to the functionality I'm envisioning, but I'd love to code it myself using Shiny (so that I can make the tool more flexible for my needs). I unfortunately lack the technical expertise to really dig into the source code, but if anyone has ever worked on a similar task using Shiny, I'd love to hear from you!

why would it benefit you for this tool to have an r-shiny backend rather than the python ?
The best guess I can make is your allusion to tidy-data, that makes me think you are asking for support with how to leverage the export options of this tool (JSON/TSV)
If you said, "help me work with the JSON, or TSV in my R session", that could be a conversation perhaps ... ?

Perhaps my initial prompt could be clearer.

I am not asking for an R shiny backend for this particular tool, but rather if I were to code up from scratch something similar to this tool using Shiny and all the amazing packages that exist in the Shiny ecosystem, how I would go about doing that

Do you have general knowledge and experience of working with shiny ? if not I'd start there with the mastering shiny textbook.
Aside from that, I'me guessing that annotation interface with the circles, the 'plate mapper' part, is mostly built in javascript. so a shiny version would probably wrap it as a htmlwidget, to use it as is / integrate it with shiny at large. If you desired to modify it, that would require you to gain language expertise in javascript; there are books and courses for that. My own javascript knowledge is limited at this time.