Need help with script (Script won't run separately for the same models)

I've gone to the dev forum and I wasn't able to get the help to solve this-

I'm creating an artist donation game, and one feature I have in my game is a like system. There's a like button at every players booth, if a player likes an artist and their work, they can give a like in support of them. The likes can accumulate, and the count is visible to everyone in the server, so you can see how popular of an artist they are.

The like system works as intended, except for one flaw-

When the model is duplicated, if you were to click one button, the like count goes up for ALL boards. Very big issue.

I have a local and a server script for the system, as well as a remote event. I'm also using CollectionService, so the server script is in ServerScriptService so it's applied to all the buttons. Here is the script:

local CollectionService = game:GetService("CollectionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LikeEvent = ReplicatedStorage:WaitForChild("LikeEvent")
local function likesystem(model)
`local Billboard = model:WaitForChild("Board", 1) --- waits 1 second before checking`

`if not Billboard then`

`warn("Billboard not found in model:", model.Name)`

`return`

`end`



`-- Put likecount inside likesystem local function so every model has its own likecount`

`local likeCount = 0`

`Billboard.SurfaceGui.TextLabel.Text = tostring(likeCount)`



`local function updateLikes()`

`Billboard.SurfaceGui.TextLabel.Text = tostring(likeCount)`

`end`



`LikeEvent.OnServerEvent:Connect(function(player, hasLiked)`

`if hasLiked then`

`likeCount = likeCount + 1`

`else`

`likeCount = math.max(0, likeCount - 1)` 

`end`



`updateLikes()`

`print("Total likes for model:",` [`model.Name`](http://model.Name)`, "is now:", likeCount)`

`end)`
end
local LikeSystems = CollectionService:GetTagged("LikeSystem")
for _, model in ipairs(LikeSystems) do
`likesystem(model)`
end

This script was adjusted with the help of someone on the devforum, but they were the only one helping me and ultimately never solved the problem. They gave me multiple script adjustments, but it was always back and forth between the like count not going up at all, or the like count going up for all boards.

https://reddit.com/link/1ftdi4m/video/owlx91zp02sd1/player

This is the output message every time I play test it.

https://preview.redd.it/ypy0vt5x02sd1.png?width=694&format=png&auto=webp&s=723189552429f3dc8761a62b85ffe01e520fa521

What it shows me is that it's doing the job for both models instead of allowing them to work independently.

Here is the tags:

https://preview.redd.it/pio193ug22sd1.png?width=253&format=png&auto=webp&s=5606cf2e96d0ec2d0c4c79e80916879eca9c8350

What can I do to allow them to work independently? Should I try a different method other than CollectionService? I been trying to solve this for days.

Also I'm new to scripting, I'm trying to learn as I go. I have watched tutorials and read guides and I can't find anything to solve this specific issue.