You’re on the right track with the separate datatype

Change this to a number field, later if its an upvote you will make 1, if its neutral it will be 0, if its a downvote it will be -1

When they click the vote button have two workflows on the same button with opposing conditions:

Search for Rep Logs:count is 0, constraints
User giving rep = Current user, and
User receiving rep = whatever User it is

If the count > 0 then its up to you if you want to show an alert it exists already, or just delete the rep and update the number again

if the count is 0 condition is true then create the Rep log and update another Rep number field on the User to theSearch for Rep Logs:plus item Result of step 1:each items Rep type (or whatever the -1, 0, +1 field is called):sum
search constraint Receiving user = the user

1 Like