Firebase Sync
The real-time data layer that keeps every workspace in sync across all devices and all users, instantly.
What Firebase does
Espeezy uses Google Firebase Firestore as its primary database. Firestore is a NoSQL document database that supports real-time listeners: when data changes in the database, every connected client that is subscribed to that data receives the update in milliseconds without needing to refresh the page.
How task updates propagate
When you drag a Kanban card from In Progress to Done, Espeezy writes the new state and a timestamp to Firestore. Every teammate who has that workspace open sees the card move in real time on their own screen. The update round-trip (your action to their screen) typically takes under 100 milliseconds on a normal broadband connection.
Conflict resolution
If two users try to move the same card at exactly the same time, Firestore uses its built-in optimistic concurrency to resolve the conflict: the last write wins, and all clients converge to the same final state. For critical fields like assignee or due date, Espeezy uses server-side transactions to prevent data corruption.
Offline support
Firestore has built-in offline persistence. If you lose your internet connection, you can keep working. Your changes are stored locally in IndexedDB. When your connection returns, Firestore automatically syncs your offline changes with the server and resolves any conflicts.
Security rules
Firestore Security Rules enforce that users can only read and write data they are authorised to access. For example, a student can only read workspace data if they are a member of that workspace. Rules are deployed as code and version-controlled, meaning every change to access rules is auditable.
ELI12: The Simple Explanation
Firebase is the invisible engine underneath Espeezy. When you update a task, Firebase sends that change to your teammates screens in less than a second, like passing a note to someone sitting next to you but they are actually on the other side of the world.