Every part of the offload loop, designed on purpose.
OffloadPro is built around a single thesis: removable media is the start of a production workflow, not a file copy problem. These are the capabilities that come from treating it that way.
Cards as first-class citizens, not nameless mounts.
OffloadPro builds a registry of every removable device you connect, so the same card means the same thing every time it's plugged in - across machines, across sessions, across platforms.
Persistent device registry
Every card is identified by serial, vendor, filesystem, capacity, and label. The registry is shared across every machine running OffloadPro, so cards keep their identity wherever they get plugged in.
(Devices tab showing list of registered cards with serial, vendor, status pills)
Live mount detection
OffloadPro listens for mount events on every supported OS and surfaces the card in real time - no polling, no refresh button.
Synthetic identity fallback
When the OS doesn't expose a real serial number, OffloadPro derives a stable synthetic ID from filesystem metadata so the device still gets a consistent identity.
Lifetime device history
Every transfer, format, and assignment is attached to the device record. Per-card chain of custody, automatically.
Unregistered surfacing
Cards you've never seen get an explicit UNREGISTERED state - never silently treated as "new" project media.
The structure of your production, mirrored in the tool.
Real shoots have shape: project → phase → day → unit → camera → card. OffloadPro gives you that hierarchy with overrides and templates at every level.
Project containers
Each project has its own routing, backup, and retention defaults. Switching context is one click.
Nested work units
Day · location · unit · camera role - as deep as your shoot demands. OffloadPro doesn't flatten your structure into tags.
Sticky device assignments
Card → work unit → role. The next time the same card mounts, OffloadPro already knows where it belongs.
Per-assignment overrides
One card on this shoot needs a different source folder, or a one-off backup destination? Override at the assignment, not the global config.
Auto-offload rules
Set a card to offload the moment it mounts, or only after explicit confirmation. Per device, per project, per shoot day.
Project-wide templates
Backup destinations, naming tokens, channel rules - define once at the project level, inherit everywhere, override where needed.
A table full of cards, assigned in under a minute.
Big shoots mean big piles of media - 16 cards that all need to land in the right work unit before anyone rolls. OffloadPro makes assignment physical: print a label for each card, lay them on the table, and scan your way down the line.
Batch scan-to-assign
Pick a work unit, grab your scanner, and beep your way through the pile. Each scan binds the device to the unit instantly - with its routing rules, backup templates, and auto-offload behavior attached. 16 cards, 16 beeps, done.
(Work unit selected, scan queue filling with assigned devices, progress count)
Print labels from the registry
Generate a barcode or QR label straight from any device record. Stick it on the card, the case, or both - the physical object and the digital record stay linked for life.
Scan-to-open on the bench
Handed a card with no context? One scan jumps straight to its registry entry - history, last transfer, current assignment, and whether it's safe to wipe.
Check-out & return tracking
Scan cards out at call time and back in at wrap. At any moment you know exactly which media is still in the field and who has it.
Assignment history
Every scan is logged against the device record - which unit, which operator, when. Reassignments never erase where a card has been.
One card in. Sorted, named, and split before it lands.
Routing templates split incoming files into named channels by pattern. Each channel writes to a templated destination - composed from project, date, device, and custom tokens.
Visual routing builder
Drag channels into priority order, preview the destination tree, and dry-run against any mounted card before transfer. Patterns: extension · contains · startswith · regex.
(Channel list editor with destination preview tree on the right)
Token-based naming
{project}, {date}, {cam}, {wu}, {ext}, {role}. Compose deterministic destinations.
Source path overrides
Per-device source roots. Sony's /PRIVATE/M4ROOT/CLIP, Red's /CLIPS - channels stay portable.
Unmatched-file handling
Three modes: ignore, copy to a quarantine channel, or fail the transfer. Edge cases never silently disappear.
Conflict resolution policies
Append, version, replace-only-if-newer, fail. Set per-channel - your dailies channel can be append-only while proxies overwrite.
Template library
Save any routing template. Import from another project. Share within the team. Re-use across shows without rebuilding from scratch.
Every byte verified. Every interruption recoverable.
Transfers aren't fire-and-forget. They're tracked operations with file-level state, hashed verification, and structured retry - so a yanked cable doesn't mean a lost shoot.
Hash-verified writes
XXH3 by default; MD5, SHA-1, SHA-256 available. Every byte hashed on read, again on write. Mismatches mean retry, not silent corruption.
File-level state machine
queued → reading → writing → verifying → done. Every transition logged. Every file independently retryable.
Multi-destination backups
One job, primary + N children. Each child mirrors verified bytes - not a re-read of the source - so backups are exact replicas.
Resumable interruptions
Cable yank, sleep, reboot. On next mount OffloadPro reconciles state and offers resume from the last verified byte.
Bandwidth & concurrency
Per-job concurrency, per-disk read limits, per-destination write limits. Avoid IO contention without slowing every transfer to the floor.
Verification snapshot
At the end of every transfer: a manifest of every file, its hash, its size, its destination, and its verification timestamp. Exportable.
Transferred isn't done. Indexed, watchable, reviewable is.
After verification, every file becomes an asset - with metadata, a thumbnail, a proxy for review playback, and a state of its own.
Browser-native asset library
Every project has a searchable asset library - proxy playback, waveform scrubbing, frame-accurate thumbnails. No NLE required for triage.
(Asset grid with filters sidebar, codec/fps facets, review-state pills)
ffprobe-backed metadata
Codec, container, resolution, FPS, bitrate, duration, audio channels, color space, capture timestamp - extracted, indexed, searchable.
Generated proxies
H.264 proxies generated automatically at offload. Configurable resolution, bitrate, and target codec per project.
Audio-aware scrubbing
Waveform pre-rendered for every audio track. Scrub to silence, scrub past slate claps, jump between speech blocks.
Review state, first-class
Mark assets unreviewed → in-review → reviewed → flagged. State propagates back to transfer and preflight records.
Faceted search
Filter by project, work unit, device, codec, FPS, capture date, review state, hash. Compound queries are saveable.
NLE handoff bundles
Export a curated selection as an XML bin (FCPX), an AAF (Pro Tools), an EDL, or a flat folder mirror. Includes proxies + originals + a manifest, structured the way your editor expects.
The riskiest button in your day, with rails on every side.
OffloadPro runs a structured preflight before format and locks the format itself behind multiple safety rails - because "I think we're good" should never be the green light.
Structured preflight
Inventory coverage · project-path validation · backup-path validation · live identity revalidation. Each check explicit and re-runnable.
Repair from device
Project file missing while the card is still mounted? Re-transfer the missing files before format - without leaving the preflight screen.
Restore to backup
Backup file missing? Restore from project storage before clearing the source. Backup integrity is enforced, not assumed.
Removable-only enforcement
The format engine refuses to target internal disks. There is no override path that points at your boot drive. Engineered out, not user-trained.
Mount generation lock
If the device is unplugged between preflight and format - even for a second - the operation is canceled. Identity must hold across the gap.
Typed override + audit
For genuine edge cases, override is available - but you type the device label to confirm, and the action is logged with operator + reason.
Built for one operator. Designed for a crew.
OffloadPro scales from a solo shooter to a multi-station DIT cart without changing tools - same registry, same projects, same templates, more eyes.
Shared project workspaces
Devices, templates, and assets sync across team machines. Two operators on the same project see the same registry in real time.
Role-based permissions
Owner · operator · reviewer · viewer. Format requires operator+. Project config requires owner. Granular, predictable.
Activity feed
Every transfer, every format, every assignment edit - chronological, filterable by user, exportable as a daily handoff log.
Review queues
Hand off review work without an email chain. Assign assets to a reviewer, track their progress, reassign on the fly.
Slack / webhook hooks
Fire a message when a transfer fails, when a format succeeds, when a card mounts on a different operator's machine. Per-event, per-channel.
Daily handoff report
End-of-shoot PDF summary: cards ingested, files transferred, hashes verified, formats performed, anomalies flagged. Auto-generated.
Local-first by design. Quiet on the wire.
OffloadPro is a standalone desktop application. Your media never leaves your network unless you tell it to. No telemetry. No cloud lock-in.
Standalone desktop app
A background transfer engine does the heavy lifting, so in-flight transfers keep running even if you close the window.
Self-hosted control plane
Run a coordination server on your own LAN to sync teams. No third party in the middle. No external dependency on shoot day.
Offline-capable
Every operation that can run without a network does. The control plane fills in the gaps when connectivity returns.
No telemetry. Ever.
Zero analytics, zero phone-home, zero crash uploads. Optional opt-in error sharing - strictly anonymized, off by default.
Open data layer
SQLite under the hood. Your registry, your projects, your transfer logs - readable, exportable, scriptable. No proprietary blob.
Speaks the formats and devices your shoot already uses.
OffloadPro isn't a closed ecosystem. It works with the cameras, cards, codecs, and storage systems that already live in your kit.
Walk through how it all comes together.
Detection, assignment, routing, transfer, indexing, preflight, and format - the full lifecycle, stage by stage.