Easiest way I found is to use an &quot;append-only&quot; mentality to avoid conflict entirely. So, to take the vote example, using:<p><pre><code>  [
    {ts: &lt;upvoted_time&gt;, author: &lt;id_of_author&gt;. action: &#x27;up&#x27;},
    {ts: &lt;upvoted_time&gt;, author: &lt;id_of_author&gt;, action: &#x27;down&#x27;},
    {ts: &lt;upvoted_time&gt;, author: &lt;id_of_author&gt;, action: &#x27;up&#x27;}
  ]
</code></pre>
You can sync from the server the changes after a certain timestamp, and the client can calculate the accurate value.