The instinct when you need XP to appear consistently on a user's phone, tablet, and web app is to reach for a sync layer. Firebase Realtime Database is the most common answer, and it solves exactly that problem, but the need for a sync layer is a consequence of a particular design choice: treating XP as a value that originates on the client and needs to be propagated outward. Change that choice and the sync problem largely disappears. This post covers how the Firebase approach actually works, where it creates friction for XP specifically, and how a server-authoritative XP model, where Trophy is the single source of truth and devices simply read from it, handles the same use case with less infrastructure and better security guarantees. The Firebase Approach Firebase Realtime Database handles cross-device consistency through WebSocket connections and a client SDK that maintains a local cache.…