Logistics · App Starter
An operations backbone for shipping — order-to-shipment batching, tracking timelines, exception handling — generated into code you own.
Shipping operations run on questions: where is this order, which shipments go out today, what's stuck and why. This starter generates the system that answers them — orders batched into shipments, every carrier scan on one timeline, and the stuck ones pulled into a queue someone owns — as a codebase your team controls.
01 · Data model
Logistics software is a chain of custody in table form. These six entities follow an order from placement through packing, handoff, and every scan after — and the exception queue exists because the chain sometimes breaks and someone has to see it break.
| table | what it holds |
|---|---|
orders | What was promised — items, destination, service level, and the promised-by date every downstream decision answers to. |
shipment_items | The mapping between order lines and physical parcels, which is how splits, partials, and multi-box orders stay truthful. |
shipments | Physical parcels with weight, dimensions, label reference, carrier, and status — the unit that actually moves. |
carriers | Who carries what — services, coverage, cost structure, and the performance history that decides who gets tomorrow's volume. |
tracking_events | Every scan and status change, timestamped and ordered — the raw material of the timeline and of every where-is-it answer. |
warehouses | Origin locations with their carriers, cutoff times, and daily capacity — because a shipment's options depend on where it leaves from. |
02 · Screens
Open orders group into shipments by warehouse, destination, and service level — one order splitting into three boxes, or forty orders waving out together before carrier cutoff. The batching rules are code you tune, because every operation's cutoffs and constraints differ.
Carrier scans and internal status changes merge into one ordered timeline per shipment. When a customer asks where their order is, support reads a timeline instead of opening three carrier sites — and the answer includes what happens next.
Shipments that stop scanning, miss their promised date, bounce back, or report damage land in a queue with a reason and an owner. Exceptions are maybe two percent of volume and ninety percent of customer anger — this queue is where the operation earns its reputation.
On-time rate, average transit by lane, and exception rate per carrier, computed from your own tracking events rather than the carrier's scorecard. When rates come up for renegotiation, you arrive with your data, not theirs.
03 · Process
Tell Dual7 how freight moves through your world — warehouses, carriers, cutoffs, what counts as late. The starter shapes the tables and screens around your flow.
Refine conversationally: add a service-level rule, a second warehouse, a new exception type for customs holds. Every change is inspectable code, not a support ticket to a vendor.
Deploy on your infrastructure with approval gates and an audit trail. Your shipment history — the dataset your carrier negotiations and promises depend on — accumulates in your own database.
04 · Fit
When daily volume outgrows the tab named 'shipments', the failure is silent: nobody notices the unscanned box until the customer does. Moving the same columns into a system with a timeline and an exception queue changes what the team can catch.
Per-shipment software fees are a tax on growth. Owning the codebase fixes the cost while volume climbs, and the operational data — lanes, transit times, exception patterns — accrues to you instead of a platform.
A 3PL's product is visibility. Running client shipments through a system you own means client-facing tracking pages, per-client reporting, and SLAs measured from your own events — differentiators you can build because the code is yours.
B2B delivery lives on promised dates and proof of delivery. A system that tracks promise versus actual per customer, and flags the at-risk shipments before the phone rings, turns delivery from a liability into a selling point.
05 · Yours
Every operation's edge cases become schema here. Add customs fields and document references for cross-border lanes, a returns flow that reverses the chain of custody, rate-shopping logic that picks the cheapest carrier meeting the promise date, or a client-facing tracking page that shows your brand instead of the carrier's. In Vibe mode these are conversational changes to code you can read.
Carrier integrations are the natural first extension: webhook ingestion writes scans into tracking_events, and label-purchase calls attach references to shipments — normal engineering against your own schema, not a marketplace of paid connectors. And because the generated app is a standard full-stack codebase, your team can extend it directly whenever that's faster.
Shipping platforms charge per label and hold your operational history hostage to the subscription — leave, and years of lane data, transit benchmarks, and exception patterns stay behind. This starter puts that history in your database from the first scan. The software cost stops scaling with your volume, and the dataset that makes your operation smarter compounds where you can query it.
In exchange, you operate the system: ingestion, uptime, and the exception queue are yours. Dual7's governed pipeline is designed for teams making that trade — approval gates and an audit trail on every change, and regeneration when the operation outgrows the current structure.
06 · Industries
The order-to-delivery chain: orders batched into shipments with line-level mapping, carrier assignment, a merged tracking timeline per shipment, an exception queue with owners and reasons, and carrier performance reporting — generated as a codebase you own.
Tracking events are a first-class table; carrier webhooks or polling jobs write scans into it and the timeline and exception logic react. The starter ships the structure, and wiring your specific carriers is standard integration work against your own schema.
Both — shipment items map order lines to parcels in either direction, so split shipments, partial fulfillment from two warehouses, and consolidated B2B shipments all stay accurate down to the line level.
Whatever your rules define: no scan within a threshold, missed promise date, return-to-sender, damage, address failure. Each exception carries a reason and an assignee. The detection rules are code, so tightening them is an edit rather than a feature request.
No — it's the shipping visibility layer: what was promised, what went out, where it is, what's stuck. Bin-level picking and putaway belong to a WMS; there's a separate inventory starter for stock control, and the two share data conventions cleanly.
The timeline data supports a customer-facing tracking page on your own domain, branded as yours — a common first extension. Support deflection is the fastest payback in shipping software, and here the page is code you fully control.
Dual7 App Starters
An operations backbone for shipping — order-to-shipment batching, tracking timelines, exception handling — generated into code you own. Describe your version to start — the output is a project you own.