Skip to content

Real-time sync & presence

Aquilla is built for teams working at the same time. You see your colleagues’ work as it happens, and your own edits flow out continuously without any “sync now” button.

When a teammate is in a cell, you see them there in real time: a thin colored cursor with their name on a small label, their selection highlighted if they’ve selected text, and a live preview of the words they’re typing that updates as they pause. This presence information means you can spread out across a file without stepping on each other.

The signal comes from a short-lived focus lock each person’s editor claims on the cell they’re in. The lock releases automatically when they move away, go idle, or disconnect, so it never gets “stuck” on an abandoned cell.

The workspace shows everyone currently connected as a stack of avatars, labeled “N online.” Click it to open the Online (N) list, where each person is marked editing, viewing, or just online. Click a person in the list to jump straight to where they’re working.

Aquilla uses a live connection (a WebSocket) to a per-project server that handles presence, focus locks, and streaming edits. If your browser or network can’t keep a live connection open, Aquilla falls back to a regular HTTP path so you can keep working, just a little slower.

Either way, your edits are optimistic: they’re saved to your local outbox immediately and reconciled with the server as soon as it confirms them. A short network drop won’t cost you any work.

A status indicator in the workspace tells you where things stand:

  • Synced: everything you’ve written has reached the server;
  • Queued (N): you have edits saved locally, waiting to send;
  • Sync backlog / failed: something is stuck retrying and may need a moment or a reconnect; and
  • offline: no connection right now; edits are safe in your outbox and will send when you’re back.

Presence and focus locks make collisions unlikely. If two edits to the same cell do happen (for example, both made offline), Aquilla doesn’t try to merge the text: the first edit to reach the server becomes current, and the other is preserved in the cell’s history. Nothing is lost.