Skip to content

What Is the Desktop Client?

In this guide you will learn:

  • What the desktop client is and how it differs from the finwave web app
  • The four problems it solves: Discovery, Manifesting, Onboarding, and Synchronization
  • How the organization-first model works
  • How multiple users share a single installation

An organization’s tool, not “finwave on the desktop”

Section titled “An organization’s tool, not “finwave on the desktop””

The finwave web app is user-first. You log in, see your encounters, your submissions, your populations. The desktop client inverts this model entirely. It is organization-first — bound to a single research organization at setup and scoped to that organization’s data, populations, and workflows.

Think of it as “the Center for Whale Research’s data tool” rather than “Jane’s finwave app.” The title bar reads Org Name — finwave Desktop, the navigation shows your organization’s logo, and every screen is filtered to your organization’s context. Individual users authenticate to use it, but the client’s identity belongs to the organization.

Research organizations coming to finwave often have decades of photo-ID data stored in ad-hoc folder structures, spreadsheets, PowerPoint catalogs, and naming conventions unique to their group. The desktop client handles four stages of getting that data into finwave:

  1. Discovery — Scans local directories to find all relevant files (images, spreadsheets, documents) that contain encounter data and individual ID information.
  2. Manifesting — Analyzes the discovered data to build a versioned mapping from your organization’s data structure to finwave’s encounter schema.
  3. Onboarding — Uploads historical data to finwave using the approved manifest, with optional pre-training of ID models from extracted training data.
  4. Synchronization — Watches local directories for new data and continuously syncs to finwave using the established manifest, without requiring you to visit the web interface.

All discovery and manifesting runs locally on your machine. The desktop client scans your files, extracts metadata, and builds encounter mappings without sending any data to finwave’s servers. Data only leaves your machine when you explicitly approve an upload during onboarding or synchronization.

This is critical for organizations with data governance requirements — you can review exactly what will be uploaded before anything is transmitted.

The desktop client is built on Tauri, which pairs a Rust backend for filesystem access and background processing with your system’s native webview running Angular UI components. The Angular components are shared with the finwave web application, so the interface is familiar if you already use finwave in the browser.

Tauri’s architecture means the client is lightweight (under 50 MB RAM when idle), uses OS-native file watching, and enforces strict permission boundaries at the system level.

Because the client is bound to an organization rather than a user, multiple people can use the same installation. This is common in research labs with a shared workstation. Each user logs in with their own finwave credentials, sees the organization’s data filtered by their role, and has their actions attributed to their account in the audit log. Logging out does not affect the organization binding or any configuration.

Your role within the organization determines what you can do in the desktop client:

RoleCapabilities
Organization adminFull access: discovery, manifesting, onboarding, sync config, directory management, all settings
Population adminDiscovery, manifesting, onboarding, sync for their populations. Cannot change organization-level settings
ProfessionalConfirm staged encounters, work review tasks. Cannot change manifests or directory config
Expert / NoviceView-only on sync status. Cannot initiate discovery, manifesting, or onboarding