Implementing Trebuchet Method with existing user-specific data

I’ve been reading up on the best way to have publicly visible meta data about user-specific data.

In my app I have a table with 100s of Users and then I have another table with 1000s of rows of Items. When I started, I wanted to give user to track a subset of Items as a “My List” type of feature. To do that, I used a user-specific column and a toggle in the UI to add or remove the Item for the user’s “My List”. Then I have a page for them to view their “My List” which is simply a collection filtered on the value of the user-specific column.

The good news is that many users have used that feature. The bad news is that I am realizing how limiting that implementation is now that I want to add/enhance the UX. At a very basic level, I want all users to see the number of users that have a particular item in their “My List”. I am seeing now that using the Trebuchet Method demonstrated by Robert elsewhere is the right way to go.

My question now is what is the best way to navigate the transition from what I currently have to what I need? I’ve been exploring ways to have users click a button somewhere in the app that would write their “My List” data to an interim table and from there I can implement the Trebuchet Method going forward.

But, I am pretty stuck thinking through this and would really appreciate insight and guidance from the community! Thank you.

My only thought would be to build an action somewhere in your flow that would write a Joined List of user selected items to the user profile row, or something like that. So if there is a common button or something that the user clicks on, it could keep overwriting the value in the user profile table until all users values are filled.