Public beta · free iOS companion app
Cargo Measure AR Documentation
Free LiDAR cargo measurement for iPhone, with one-tap sync to Truck Packer.
Version 1.9 · iOS 26.0+ · Devices with LiDAR (iPhone 12 Pro and newer, iPad Pro 2020+) · Backline Logic · help@backlinelogic.com
What is Cargo Measure AR?
Cargo Measure AR is a free LiDAR-powered iOS app that turns the iPhone Pro in your back pocket into a 3D cargo measuring tool. Scan real cases, build a local manifest as you walk the floor, and one-tap export into Truck Packer with items pre-positioned inside a trailer.
Built for touring production teams (audio, video, lighting, and staging crews) and the AV rental warehouses, theatrical productions, and freight teams that move irregular gear. Free for any Truck Packer account.
How It Works
- Point the camera at an object. The app reads LiDAR depth in real time and aligns a 3D reticle to the surface in front of you.
- Tap three base corners. Defines the rectangular footprint. The app auto-corrects to a true rectangle so a small misclick doesn't skew the measurement.
- Drag up or down to set the height. A live 3D box previews the case. Fine adjust with the slider for fragile or irregular tops.
- Save to the manifest. Add a name, category, quantity, weight, and notes. Mark fragile or flippable.
- Export to Truck Packer. Items get positioned inside a trailer using the on-device flat-row layout pass. Append to an existing pack or start a fresh one.
A Ruler mode is also available for simple point-to-point distance measurements.
Measurement
- 3D surface-aligned reticle oriented to surface normals at 60fps
- Edge detection via LiDAR depth discontinuity and depth gradient analysis
- Auto-detect measurement scale (Micro / Small / Medium / Large) from surface distance
- Per-scale snapping sensitivity tuning
- Haze / fog mode for theatrical venues with depth confidence filtering
- Ground plane lock for consistent base measurements
- Tap or drag to set height after the third corner
- Undo last point / full reset controls
- Post-measurement base point adjustment (drag any corner to reposition)
- Instruction overlay with auto-dismiss after 60s and angry-tap re-show
- Feet displayed as
X′ Y″, never as decimal feet
Truck Packer Integration
Sign in with your Truck Packer account using Clerk. No API key, no copy-paste of tokens.
- Clerk native auth using the iOS SDK
- Direct Convex function calls to the same backend as the web app
- On-device flat-row layout: depth-sorted rows, floor-first, with ~5cm load-bar gaps inserted every 3m. This is a separate implementation tuned for the export flow, not the web app's AutoPack engine.
- Append to existing packs without collision (tail-append with strap gap)
- Optional sync to your case library with deduplication so you only have to measure a given case once
- Multi-organization support with org switcher
- Open Crew View in your browser after export for share-and-print workflows
A REST API is also exposed at steady-beagle-345.convex.site/api/v1 for legacy integrations that need static API keys.
Manifest Management
- On-device item storage that persists without a network connection
- Inline quantity editing with +/− buttons
- Editable dimensions, weight, category, description, fragility flags
- On-device label OCR (Apple Vision framework) auto-fills item name from any printed label visible when you save
- Object recognition takes a first pass at categorising what you scanned, surfaced as a suggested name
- Auto-estimated weight from the scanned dimensions, as a rough starting point you can edit to the real value in seconds
- Export the full manifest to a JSON file (Files app, email, AirDrop)
- Export to CSV with unit-aware columns (respects your unit preference)
- Categories synced from your Truck Packer account
Architecture
Data flow
LiDAR scan → on-device manifest → push to Truck Packer, with an optional JSON branch you can share anywhere.
Packing algorithm
The export pipeline runs its own on-device flat-row layout pass (not the web app's AutoPack engine, which is a separate implementation that solves a different problem):
- Sort items by X-depth ascending, then by weight descending
- Group into rows where floor items share similar depth (spread < 10cm)
- Fill each row across the trailer width before advancing
- Stack overflow items on same-size footprints when the floor is full
- Insert load-bar gaps (~5cm) every 3m along the X axis
- For existing packs, start after the furthest entity with a strap gap
Tech stack
| Component | Technology |
|---|---|
| Language | Swift 5.10 / SwiftUI |
| AR | ARKit + RealityKit |
| Auth | Clerk iOS SDK v1.x |
| Backend | Convex (direct HTTP API) |
| Fallback API | REST at steady-beagle-345.convex.site/api/v1 |
| Min iOS | 26.0 |
| Devices | iPhone 12 Pro and newer · iPad Pro 2020+ (LiDAR required) |
Known limitations
- Rounded corners. LiDAR struggles with smooth curves at distance, so the app prompts you to move closer when confidence drops.
- Suspended edges. Objects in open air may cause raycasts to land on the background. Measure top-down for the best result.
- Distance. Accuracy degrades past 3m (around 5–10cm error). Auto-scale helps, but LiDAR sensor resolution is the bottleneck.
- Network for export. Push to Truck Packer requires a network connection. JSON export works fully offline.
- AR drift. 1–2cm of drift is inherent to ARKit world tracking. Move the device slowly for the best accuracy.
Privacy
All scanning is performed locally on the device using ARKit. Depth maps and photos never leave your phone unless you explicitly export them. Sign-in uses Clerk for authentication; sync uses the same Convex backend as the Truck Packer web app, with the same data residency and security guarantees. Label OCR runs entirely on-device via Apple's Vision framework, with no cloud calls.
Get access
Cargo Measure AR is in open TestFlight beta. Sign in with your Truck Packer account on the Cargo Measure AR page to grab the TestFlight link, install the build, and start scanning. Questions? Email help@backlinelogic.com.
