Skip to main content

Real-time collaboration

In Bowrain, a team works on the same content at the same time. You see who is on which block, edits and reviews appear live, and the desktop app keeps working offline.

The web app and the desktop app are clients of one server with the same real-time features. You invite teammates with roles, bound to a language or a point where that fits, and keep parallel work apart on streams that merge back when ready.

Outdated wording

The narration uses terminology that has since been retired. The interface and the behaviour shown are unchanged.

Presence: see who is here​

Open a project and you see your teammates: their names and avatars appear on the blocks they are editing, and move with them as they navigate. You can see who is on block 42 before you start typing there. The server sends presence to every client watching the same project, in the browser or in the desktop app.

Live updates​

Edits propagate as they happen. When a teammate edits a block, reviews one, or updates a term, your views update without a manual refresh and the progress bar moves as the team works. A change one person saves shows up for everyone watching the project.

The server holds the saved content. Editing is per block, and each save names the version of the translation it was made against. When two people edit the same translation, the first save lands and the second waits. The editor shows the second person the current translation and asks whether to save theirs over it or keep it. Edits to different languages of one block stay independent. A review decision names the wording it applies to in the same way, so an approval always lands on the wording the reviewer read. Live cursors and the roster show presence; two people do not type in one block at once. The browser and the desktop app work the same way.

Review handoff​

Bowrain assigns work as tasks: translate, review, review source and fix quality.

  1. The task appears in the assignee's activity feed.
  2. They claim it and do the work in the review session.
  3. They mark it done, and the next person sees the handoff live.

When a reviewer marks a block reviewed, everyone watching the project sees it. A reviewer's corrections feed the voice correction loop, where a recurring fix can become a check for the whole project.

Web and desktop, in sync​

Both apps connect to the same server and the same project. Choose by where you work:

WebDesktop
InstallNothing; open a URLNative app (macOS / Linux / Windows)
Real-time presence & live updatesYesYes
Voice, terms & memory contextYesYes
Works offlineNo (always online)Yes: edit on a flight; changes queue and sync on reconnect
Local footprintBrowser sessionCache only: a content cache, an offline edit queue, and memory and terms mirrors
Best forQuick access, reviewers, occasional contributorsDaily contributors, large files, unreliable connectivity

Presence, edits, reviews, content memory and terms are the same in both. A reviewer in the browser and a contributor in the desktop app see each other's presence, and a change one saves appears in the other's view without a refresh.

The desktop app's local store is a working copy of the server. It speeds up editing and lets you work offline, and the server holds the saved state. To work on local files and project configuration, such as the kapi.yaml recipe, use kapi. To source content from a filesystem or a git checkout, use a server-side connector.

Offline on the desktop​

The desktop app keeps a local cache of the project, so you can keep working when the network drops: on a flight, in a tunnel, or during server maintenance. Edits, reviews, and memory updates made offline queue locally and replay in order when you reconnect, then rejoin the live session. Each queued edit and review names the version of the translation it was made against. If a teammate changed that translation while you were offline, the app keeps their version and lists yours, with its wording, as a change that was not sent (see Troubleshooting).