๐Ÿ“ก Safety Radar loadingโ€ฆ
Active Drivers
โ€”
View all drivers โ†’
๐Ÿ‘ฅ My Associates
โ€”
Active ยท View all associates โ†’
โœ… DCR
โ€”
View quality โ†’
๐Ÿ“ธ POD
โ€”
Photo-on-Delivery acceptance report
Avg Overall Score
โ€”
Amazon overall score โ†’
Avg Safety
โ€”
Netradyne score โ†’
๐Ÿ“… Registration Expiring
โ€”
Next 14 days โ†’
๐Ÿ  Rentals Returning
โ€”
Next 14 days โ†’
๐Ÿšจ Open Incidents
โ€”
Need attention โ†’
๐Ÿ’ฌ Negative Customer Feedback
โ€”
This week โ†’
๐Ÿšจ Escalations / Infractions
โ€”
This week โ†’
๐Ÿ”ง Rushed Inspections
โ€”
DVIC compliance โ†’
๐Ÿ“ท AI Damage Alerts
โ€”
Open AI flags โ†’
๐Ÿ“ฆ Package Issues
โ€”
Open today โ†’
๐Ÿค–
AI Weekly Coaching Briefs
Claude analyzes drivers and recommends coaching priorities. Saves ~1-2 hrs of Monday prep.
๐Ÿ“… Week
๐ŸŽฏ Who to analyze
Pick a week and a scope, then click "Generate Briefs" to get coaching recommendations.
Needs Attention
โœ…
All clear!

No drivers need attention

Driver Stats
๐Ÿ“Š
No data yet

Add drivers to see stats

๐Ÿ† Top Performers โ€” All Drivers Ranked
๐Ÿ†
No drivers yet

Add drivers to see rankings

๐Ÿ”
๐Ÿ‘ค
No drivers yet

Click "Add Driver" to get started

JM
Driver
Loading...
Active
โ€”
Overall Tier
โ€”
๐Ÿ›ก๏ธ Safety โ€บ
โ€”
๐ŸŽฏ Quality โ€บ
โ€”
Packages โ€บ
โ€” Loading
Performance Summary

Loading trendโ€ฆ

Incident History

No incidents recorded

Coaching Log

No coaching notes yet

Loading clock status...
๐Ÿšฆ
Start / End of Shift Check-In
Log your van, mileage, equipment, and any issues at the start and end of your shift.
๐Ÿ“… My Schedule This Week

Loading schedule...

๐Ÿ“‹ My Documents

Loading documents...

๐Ÿš— MVR Check

Loading...

โฑ๏ธ Attendance Points

Loading...

โš ๏ธ Written Warnings

No written warnings on file

๐Ÿ’ฌ Negative Customer Feedback โ€”

No negative customer feedback recorded

๐Ÿšจ Amazon-Reported Infractions โ€”

No infractions reported

๐Ÿฅ OSHA Injuries (Form 300)

No OSHA injuries on file

๐Ÿ“ˆ Daily Quality Trend โ€”

No daily quality data yet

๐Ÿ…ฟ๏ธ PPS Compliance โ€”

No PPS compliance data yet

๐Ÿ›ก๏ธ Safety Performance

Loading safety metricsโ€ฆ

๐ŸŽฏ Delivery Quality Performance

Loading quality metricsโ€ฆ

โ€”
Recent (30d)
โ€”
Pre-Trips
โ€”
Post-Trips
โ€”
Failed
โ€”
Drivers w/o Pre-Trip
๐Ÿ“‹ Today's Inspections
Active DAs
โ€”
๐Ÿš Drivers
โ€”
๐Ÿง Helpers
โ€”
๐Ÿ“… ID Expiring โ‰ค30d
โ€”
โ›” ID Expired
โ€”
Delivery Completion Rate
โ€”
POD Acceptance Rate
โ€”
๐Ÿ“ฆ Packages Delivered
โ€”
โ†ฉ๏ธ Returned to Station (DA)
โ€”
Acceptance Rate
โ€”
Opportunities
โ€”
โœ… Success
โ€”
โš ๏ธ Rejects
โ€”
Rejects by Category
By Delivery Associate
โœ…
No open incidents

All drivers are performing well

โ€”
Total Vans
โ€”
Passed Today
โ€”
Failed Today
โ€”
Not Inspected
โ€”
Grounded
โ€”
๐Ÿ“… Reg Exp <14d
โ€”
๐Ÿ  Rentals <14d
โ€”
Expiring <60d
๐Ÿš Fleet Management
๐Ÿš
No vans added yet

Click "+ Add Van" to add your fleet

๐Ÿ“‹ Recent Inspections
๐Ÿ”
No inspections yet

Click "Start Inspection" to begin

โ€”
Scheduled
โ€”
Confirmed
โ€”
Callouts
โ€”
Open Shifts
โฑ๏ธ
โ€”
Total Hours
๐Ÿ•
โ€”
Overtime Hours (est.)
๐Ÿ’ฐ
โ€”
Est. Wages ยท Set Rate โš™๏ธ
๐Ÿ’ก Drag to move ยท Shift+Drag to copy ยท Tap shift to edit
Past Due
โ€”
Next 30 Days
โ€”
Next 60 Days
โ€”
Total Tracked
โ€”
๐Ÿ“…
Loading renewalsโ€ฆ
๐Ÿ“„
Loadingโ€ฆ
๐Ÿ“‹
Loadingโ€ฆ
๐Ÿ’ก Points roll off after 6 months. Thresholds: 3 verbal ยท 6 written warning ยท 9 final warning ยท 12 termination eligible.
โ€”
3-5 Points (Verbal)
โ€”
6-8 Points (Written)
โ€”
9-11 Points (Final)
โ€”
12+ Points (Termination)
Drivers โ€” Sorted by Points
๐Ÿ“‹
Loadingโ€ฆ
โ€”
Pending Signature
โ€”
Signed
โ€”
Total Issued
โš ๏ธ All Warnings
๐Ÿ“‹
No warnings issued yet

Click "Issue Warning" to create one

๐Ÿ“… Today's Repair Cost
โ€”
Tap to see vans โ†’
๐Ÿ—“ This Week
โ€”
Tap to see vans โ†’
๐Ÿ“† This Month
โ€”
Tap to see vans โ†’
Loadingโ€ฆ
Open Cases
โ€”
Closed
โ€”
Total Days Away
โ€”
Recordable This Year
โ€”
๐Ÿฅ
No injuries logged

Click "Log Injury" to create your first OSHA Form 300 entry.

๐Ÿ“‹ About OSHA Form 300: Federal law requires employers to maintain a log of work-related injuries and illnesses. Records must be kept for 5 years. The annual summary (Form 300A) must be posted from Feb 1 โ€“ Apr 30. DSPro provides the data โ€” you're responsible for posting and reporting per OSHA guidelines.
๐Ÿ† Top Performers
๐Ÿ†
No drivers yet

Add drivers to see rankings

Drop your weekly Amazon files here. Each tile knows what it expects.
๐Ÿ‘ฅ
Driver Roster
AssociateData.csv
Your full station roster from Amazon Logistics. Adds new drivers, updates phones / emails / license dates, marks departures.
Drop file or click to browse
Routes to: My Associates ยท Drivers tab
๐Ÿ“‹
Weekly Station Scorecard
DSPScorecard_*.pdf
Your station's weekly performance PDF โ€” Overall Standing, Safety, Quality, per-driver metrics.
Drop PDF here
Routes to: Scorecards ยท Driver profiles ยท Leaderboard
๐ŸŽฏ
Personalized DA Scorecards
Personalized_*.pdf or .zip
Per-driver scorecards with Amazon's official tier (Platinum / Gold / Silver / Bronze) and rank. Drop the ZIP from Amazon (or single combined PDF) to make DSPro match Amazon exactly.
Drop ZIP or PDF here
Routes to: Authoritative driver tier ยท Rankings ยท Leaderboard
๐Ÿ“ก
Safety Dashboard
Safety_Dashboard_*.csv
On-Road Safety Prediction โ€” Weekly/Daily Scorecard. Netradyne event exports power the Safety Radar forecast: see projected safety risks days before Amazon publishes the scorecard.
Drop file(s) or click to browse
Routes to: Dashboard (Safety Radar) ยท Driver profiles
๐Ÿ“ˆ
DSP Overview Dashboard
DSP_Overview_Dashboard_*.csv or .xlsx
Station-level historical performance metrics with tier rankings.
Drop CSV here
Routes to: Driver tiers ยท Dashboard ยท Leaderboard
โœ…
Quality Dashboard
Quality_Overview_*.csv
Daily per-driver quality โ€” DCR, POD, DSB, packages returned. Station figures are package-weighted to match Amazon's Quality Dashboard exactly.
Drop CSV here
Routes to: Quality page ยท Dashboard tile
๐Ÿ“ธ
POD Rejects Report
*POD-Details.pdf
Photo-on-Delivery rejects per driver โ€” blurry, no package detected, package in car, etc.
Drop PDF here
Routes to: Incidents (one per driver with rejects)
๐Ÿ’ฌ
Negative Customer Feedback
DSP_Customer_Delivery_Feedback_negative_*.csv
Negative customer feedback with details (mishandled, unprofessional, wrong address, etc.).
Drop CSV here
Routes to: Driver profile feedback ยท Dashboard tile
๐Ÿšจ
Escalations / Infractions
Infractions_*.csv
Amazon-reported infractions โ€” violations, defects, MDIs.
Drop CSV here
Routes to: Escalations tile + drill-down ยท Driver profiles
โฑ๏ธ
DVIC Inspection Times
*DVIC_Time_*.xlsx
Per-driver vehicle inspection durations. Flags inspections under 30 seconds (likely skipped).
Drop XLSX here
Routes to: Rushed Inspections tile + DVIC Compliance ยท Incidents
๐Ÿš
Fleet Management (Bulk)
Vehicles_*.csv
Bulk-add or update your vans from a CSV โ€” van number, plate, VIN, make, model, year, registration expiration. Opens the Fleet bulk importer.
Click to bulk-upload vans
Routes to: Fleet Management
๐Ÿ’ก How it works: Drop a file on any tile. The Upload Station auto-detects the file type and routes the data where it belongs. Re-uploading the same week is safe โ€” duplicates are replaced, not stacked.
๐Ÿ“‹
No scorecards yet

Upload your first Amazon scorecard to get started

Standing
โ€”
Drivers
โ€”
Active / inactive โ†’
Packages
โ€”
Shared
โ€” / โ€”
DA Viewed
โ€” / โ€”
Driver Scores
i
โš ๏ธ
Amazon Associate ID not yet configured. Click-throughs will use direct Amazon URLs (no affiliate commission). Apply at affiliate-program.amazon.com (1โ€“3 day approval), then add your Associate ID in Settings to start earning commission.
๐Ÿ› ๏ธ
Catalog is empty

Click "+ Add Part" to start building your parts catalog. Or wait for the seeded mirror catalog to load.

๐Ÿ“‹ Check-Ins
๐Ÿšฆ
Loadingโ€ฆ
โ€”
On Route
โ€”
Confirmed
โ€”
Callouts
โ€”
Open Shifts
๐Ÿ“‹ Today's Assignments
๐Ÿ“‹
No shifts for this date

Add shifts on the Schedule page

๐Ÿ“ฅ Import Amazon Invoice Data
From your Amazon DSP portal: Payments โ†’ Invoices โ†’ Insights. Download both CSVs โ€” the Invoice Summary report and the Variable/Other Invoice (detail) report โ€” then drop them here together or one at a time. Re-uploading is always safe; nothing duplicates.
Weekly invoice PDF โ€” the one upload that matters
The delivery invoice ("For deliveries made during week N") lists Rate, Quantity and Amount per day. Drop it once a week and the audit runs: exact block counts, rate changes, missing lines, part-billed weeks. Drop a year of them at once to build the history the checks compare against.
Optional extras โ€” only for proving a specific week
Daily Quality Overview CSVs (Upload Station โ†’ Quality) let the card compare blocks paid against the routes Amazonโ€™s own records say went out. It needs all seven days of a week, so treat it as a spot check rather than a habit.

Sling schedule export โ€” only if you schedule outside DSPro. If you schedule here, your routes are already counted with nothing to upload.
๐Ÿ’ฐ Weekly Bonus Calculator
Tier-based weekly bonus calculated from latest scorecard. Drivers with 6+ attendance points (configurable) don't qualify.
๐Ÿ“… This Week
โ€”
Eligible
โ€”
Disqualified
โ€”
Total Payout
โ€”
Already Paid
โ€”
โœŽ Custom โ€บ
โ€”
Total Bonuses Awarded
View breakdown โ†’
โ€”
This Month
View breakdown โ†’
โ€”
Top Earner
View all โ†’
โญ Driver Points & Bonuses
๐Ÿ†
No bonuses awarded yet

Award points and bonuses to recognize top drivers

โš™๏ธ Auto-Bonus Rules
๐ŸŸข
Fantastic Plus Week
+50 points
0๏ธโƒฃ
Zero Callouts Month
+100 points
๐Ÿ’ฏ
Perfect Safety Score
+75 points
๐Ÿš€
Getting Started with DSPro
Welcome! DSPro is your all-in-one Amazon DSP management platform. This guide covers everything you need to run your fleet efficiently.

What is DSPro?

DSPro is a comprehensive operations platform built specifically for Amazon Delivery Service Partners (DSPs). It replaces the half-dozen tools most DSPs juggle โ€” driver scheduling, van inspections, scorecards, attendance tracking, time clock, written warnings, incident reporting, document approvals, and team messaging โ€” with one unified system that all your team uses.

Three Roles

DSPro has three user roles, each with their own view and permissions:

  • Owner โ€” Full access. Sets up the station, invites managers and drivers, configures settings, sees billing.
  • Manager โ€” Day-to-day operations. Can do almost everything an owner does (schedule, score, log incidents, approve documents) but can't change billing or invite other managers.
  • Driver โ€” Self-service. Sees their own scorecard, schedule, attendance, and clock-in card. Can request shift changes, upload documents, and message the team.

First-Time Setup Checklist

1
Set your station location โ€” Go to Time Clock โ†’ Station Setup. Click "๐Ÿ“ Use my current location" while standing at your DSP, then "๐Ÿ’พ Save Station Settings". Drivers must be within the geofence radius (default 500ft) to clock in.
2
Set Performance Thresholds โ€” Settings โ†’ Performance Thresholds. Defaults match Amazon's WTN2 station values; adjust if your station uses different cutoffs.
3
Add your first manager โ€” Team & Access โ†’ + Invite Manager. Manager gets an email to set their password.
4
Add your fleet โ€” Fleet Management โ†’ + Add Van for each van. Or use Bulk Upload if you have a CSV.
5
Add your drivers โ€” Drivers โ†’ + Add Driver for each. Or + Bulk Invite to invite multiple at once.
6
Set hire dates โ€” Dashboard banner appears: "X drivers missing hire dates" โ†’ click โ†’ set them all in one modal. Hire date is needed for tenure-based calculations.
7
Publish your first schedule โ€” Schedule โ†’ click any cell to assign a driver. Save Draft to keep editing, Publish to notify drivers.
๐Ÿ’ก Tip: The Dashboard shows colored "cockpit cards" highlighting items needing attention (registration expiring, MVR overdue, drivers missing hire dates, etc.). Check it daily.
๐Ÿ“ก
Upload Station Owner + Manager
One place to drop every weekly Amazon file. Each tile knows what it expects, where it goes, and asks for week/year up front.

๐Ÿ“Œ Why we built this

Before the Upload Station, files were scattered across the Drivers tab and Scorecards tab. Owners had to remember which file went where and used different upload buttons depending on type. The Upload Station is one futuristic-themed page where every file type has its own tile with clear instructions โ€” drop it on the right tile and DSPro routes the data automatically.

๐Ÿ“ How to access: Sidebar โ†’ ๐Ÿ“ก Upload Station (under the Performance section, above Scorecards).

๐Ÿ—‚๏ธ How it works

Each tile is organized by category โ€” Roster & People, Performance, Defects & Quality, Fleet & Inspections. Click any tile and a modal opens with:

  • Specific instructions for that file type (what's in it, where to find it on Amazon)
  • Amazon Week Number + Year inputs (required for files that dedup by week, optional for others)
  • A drop zone showing the expected filename pattern
  • Inline status during processing โ€” success or error messages right in the modal

๐Ÿ“‹ The 7 file types you can drop

Each tile is color-coded with a different glow on hover so it's easy to find at a glance:

๐Ÿ‘ฅ Driver Roster (cyan)

File: AssociateData.csv

From: Amazon Logistics โ†’ My Team

What it does: Adds new drivers, updates phones / emails / license dates, marks departed drivers as "flagged for review" (see Drivers section). Routes through the existing Roster Import preview so you confirm before changes apply.

๐Ÿ“‹ Weekly Station Scorecard (teal)

File: *DSPScorecard*.pdf

From: Amazon Logistics โ†’ Performance โ†’ Weekly Scorecards

What it does: Imports station-level Overall Standing, Safety, Quality scores, plus per-driver metrics. Populates the Scorecards page, driver profiles, and leaderboard.

๐Ÿ“ˆ DSP Overview Dashboard (pink)

File: DSP_Overview_Dashboard_*.csv or .xlsx

From: Amazon Logistics โ†’ Performance โ†’ Supplementary Performance Reports

What it does: Amazon's authoritative weekly scoring file with each driver's official Overall Standing, Overall Score, and per-metric tiers. Two variants exist on Amazon's portal:

  • Weekly snapshot โ€” single week's data (recommended for normal weekly uploads)
  • Trailing Six Week โ€” 6-week rolling average (use only if you specifically want the average)
โš ๏ธ Don't upload both for the same week โ€” the second one overwrites the first.
๐Ÿ“ธ POD Rejects Report (orange)

File: *POD-Details.pdf

From: Amazon Logistics โ†’ Performance โ†’ POD Reports

What it does: Per-driver photo-on-delivery rejection breakdown โ€” blurry, no package detected, package in car, etc. DSPro creates one Incident per driver who had rejects (the Incident appears on their profile under Incident History). Re-uploading the same week replaces previous incidents โ€” no duplicates.

๐Ÿ’ฌ Negative Customer Feedback (red)

File: DSP_Customer_Delivery_Feedback_negative_*.csv

From: Amazon Logistics โ†’ Performance โ†’ Customer Delivery Feedback

What it does: Imports per-driver negative customer feedback (mishandled, unprofessional, wrong address). Powers the Negative Customer Feedback dashboard tile and the feedback section on driver profiles.

๐Ÿšจ Escalations / Infractions (deep red)

File: Infractions_*.csv

From: Amazon Logistics

What it does: Imports Amazon-reported infractions โ€” violations, defects, MDIs (Multi-Defect Incidents). Displayed in the driver's profile infractions section.

โฑ๏ธ DVIC Inspection Times (green)

File: *DVIC_Time*.xlsx

From: Amazon Logistics โ†’ Operations โ†’ DVIC Reports

What it does: Imports per-driver vehicle inspection durations. DSPro flags drivers with rushed inspections (under 30 seconds โ€” likely skipped) and creates Incidents. Helpful for safety coaching.

๐ŸŽฏ Pro tips

๐Ÿ’ก Weekly routine: Every Friday after Amazon publishes new data, drop all your weekly files in one sitting. Set the Week Number once at the top of each modal โ€” DSPro remembers it for the session.
๐Ÿ’ก Re-uploads are safe: POD Rejects, DVIC, and Customer Feedback are idempotent โ€” re-uploading the same week replaces previous data, no stacking.
โš ๏ธ Hidden tiles: "Personalized DA Scorecards" and "Leaderboard CSV" tiles are hidden by default. The Leaderboard math is derived from the Weekly Station Scorecard mathematically, so you don't need to upload it separately.
๐Ÿ“ฆ
Amazon Uploads Owner + Manager
Where to find each report in the Amazon Logistics Portal, what file to download, and how to import it into DSPro.

๐Ÿ—“๏ธ Your Weekly Upload Checklist

Pull these from the Amazon Logistics Portal and drop them into Upload Station (sidebar). Files 1–8 every week; 9–11 only when something changes.

Every week — the essentials:
  • Personalized DA ScorecardsPersonalized_*.pdf / .zip → driver tiers, rankings, safety, quality, Leaderboard. (Your #1 file.)
  • DSP Overview DashboardDSP_Overview_Dashboard_*.csv → same tiers/scores in one CSV (Amazon’s “Preferred” file). Use this OR Personalized, not both.
  • Weekly Station ScorecardDSPScorecard_*.pdf → Scorecards page, station standing.
  • Quality DashboardQuality_Overview_*.csv → Quality page + DCR/POD tiles.
  • Negative Customer Feedback...Customer_Delivery_Feedback_negative_*.csv → the 💬 tile + drill-down + driver profiles.
  • Escalations / InfractionsInfractions_*.csv → the 🚨 Escalations tile + driver profiles.
  • DVIC Inspection Times*DVIC_Time_*.xlsx → the 🔧 Rushed Inspections tile + DVIC Compliance.
  • POD Rejects Report*POD-Details.pdf → Incidents (one per driver with rejects).
As needed — only when something changes:
  • Driver RosterAssociateData.csv → My Associates (and updates Drivers). Upload when drivers join or leave.
  • Fleet Management (Bulk)Vehicles_*.csv → Fleet Management. Upload when vehicles change.
  • Leaderboard CSVLeaderboard_*.csv → Leaderboard “6-Week Trailing” tab. Optional.
🛡️ Safety scores: there is no separate safety upload — each driver’s safety score and tier ride inside the scorecard files (Personalized or DSP Overview). Upload those and safety fills in automatically (the AVG SAFETY tile + each driver profile).
⏳ Routine: Amazon publishes the new week around Friday. Re-uploading a week cleanly overwrites it (no duplicates). Recent weeks may show no rank until Amazon finalizes standings ~2–3 weeks later — re-upload then and ranks fill in.

๐Ÿ“ Where to Find Reports in Amazon

Every report lives in the Amazon Logistics Portal (https://logistics.amazon.com) under Performance, Compliance / Safety, and People / Vehicle Management. Sign in with your DSP credentials and download as CSV, PDF, or XLSX.

Quickest path: every tile in Upload Station shows the exact file-name pattern it expects and what it feeds. Match your downloaded file to the right tile and drag it in — the checklist above lists all 11 with their destinations.
⏳ Best practice: save each week’s downloads in a dated folder (e.g. Amazon_Reports/2026-W23/) for your own records, then drag the same files into Upload Station. Re-uploading a week overwrites it cleanly — no duplicates.
๐Ÿ“Š
Dashboard Owner + Manager
Your daily operations cockpit. Shows what needs attention right now: drivers, vans, alerts, and tomorrow's coverage.

Cockpit Cards

The top of the Dashboard shows colored stat cards. Each is clickable and drills down to a filtered view:

  • ๐Ÿ“… Registration Expiring โ€” Vans with registration renewal due in 14 days. Click to see them and start renewals.
  • ๐Ÿ  Rentals Returning โ€” Rental vans due back in 14 days. Plan replacements.
  • ๐Ÿšจ Active Incidents โ€” Open incidents needing follow-up.
  • ๐Ÿ“‹ Pending Approvals โ€” Driver-uploaded documents waiting for your review.

Banners & Alerts

Above the cockpit cards, you'll see colored banners when there's bulk work to do:

  • Yellow "๐Ÿ“‹ Hire dates needed" โ€” X drivers missing hire dates. Click โ†’ bulk modal to type or upload CSV.
  • Purple "๐Ÿš— MVR checks needed" โ€” Drivers needing a Motor Vehicle Record check (never run or 90+ days old). Click โ†’ drilldown.

Tomorrow's Coverage Widget

The Tomorrow's Coverage card shows a snapshot of your next-day staffing:

๐Ÿ“… Tomorrow โ€” Wed, May 7 โœ… 18 of 20 routes covered โš ๏ธ 2 routes still need drivers ๐Ÿšจ 1 driver requested time off (pending)

Click the card โ†’ goes to the Schedule page on tomorrow's date so you can fix gaps.

๐Ÿ’ก Tip: Make Dashboard the first thing you check each morning. If it's quiet (no alerts, all coverage green), your day starts smoothly.

๐Ÿ’ฌ Negative Customer Feedback Tile (NEW)

The cockpit grid now includes a ๐Ÿ’ฌ Negative Customer Feedback tile that surfaces aggregate negative customer feedback at a glance.

  • Color-coded: Gray (0 complaints) โ†’ Amber (1โ€“4) โ†’ Red (5+)
  • Shows the count from the latest week with data โ€” not the current calendar week (so you see real performance, not "no data yet")
  • Click the tile โ†’ drilldown opens with all drivers who had complaints, sorted by complaint count, with defect type pills (mishandled, unprofessional, wrong address, etc.)
  • Powered by uploads from the ๐Ÿ’ฌ Negative Customer Feedback tile in the Upload Station
๐Ÿ’ก Coaching workflow: Click the tile each Monday morning โ†’ review which drivers had complaints last week โ†’ use the editor's "๐Ÿ“ Add Note" to log a coaching conversation.
๐Ÿ‘ฅ
Drivers Owner + Manager
Your driver roster โ€” onboarding, license tracking, MVR checks, scorecard performance, attendance points, all in one place.

Adding Drivers

Three ways to add drivers:

  • + Add Driver โ€” One driver at a time. Enter name, Amazon driver_id, license info, hire date.
  • + Bulk Invite โ€” Paste a list of email addresses. DSPro sends each an invite link to set up their account.
  • ๐Ÿ“ Bulk Upload CSV โ€” Upload a CSV with all drivers at once. Template download available in the modal.

Driver Profile

Click any driver to see their full profile:

  • Avatar โ€” Photo or colored initial circle. Click to upload / change (deploy_358).
  • Performance card โ€” Current scorecard tier (Fantastic+ / Fantastic / Great / Fair / Poor) plus key metrics.
  • License status โ€” Active, Suspended, Revoked, or Expiring Soon.
  • MVR check status โ€” Last check date, age, status pill (โœ… Current, โš ๏ธ Due Soon, ๐Ÿšจ Overdue).
  • Attendance points โ€” 6-month rolling total. Color-coded by tier.
  • Time Clock card โ€” Driver's current clock state (visible on driver's own profile).
  • Documents โ€” Driver-uploaded files pending or approved.
  • Written warnings โ€” Auto-generated and manually issued.
  • Schedule โ€” This driver's published shifts.

Avatars (deploy_358)

Each driver has an avatar that appears everywhere their name is shown โ€” drivers list, leaderboard, top performers, attendance lists, package reports, time clock entries. Until uploaded, DSPro shows a colored circle with the driver's initials (color is generated from their name so it's stable). Once uploaded, the photo replaces the circle app-wide.

  • Driver self-upload โ€” Drivers can upload their own avatar from their profile page. Tap the big circle in the header โ†’ upload modal opens.
  • Owner / manager override โ€” Owners + managers can upload an avatar for any driver. Same flow.
  • Use driver license photo โ€” If a DL scan is on file, the modal offers a one-tap "๐Ÿ†” Use my driver's license photo" button. Useful during onboarding.
  • Crop UI โ€” 280px circular preview frame. Drag the photo to position the face, use the zoom slider (100-300%) or scroll wheel. Edges clamp so background never shows through.
  • Output โ€” Saved as 400ร—400 JPEG to the avatars storage bucket. Cache-busted on save so the new photo appears immediately everywhere.
  • Remove avatar โ€” Removes the file from storage and clears the avatar_path column. Driver goes back to the colored-initials circle.
๐Ÿ’ก Why this matters: When you have 50+ drivers, scanning a list of names is slow but scanning a row of faces is fast. Avatars cut triage time on the dashboard, scorecard reviews, and "who clocked in late again" conversations.

Filtering & Sorting

The driver table can be filtered by:

  • Performance tier (top performers, at-risk, etc.)
  • License status (active vs suspended)
  • Hire date range
  • Search by name or driver_id
โš ๏ธ Important: Removing a driver doesn't delete their historical data (incidents, warnings, scorecard history). Their profile becomes read-only and they can no longer log in.

๐Ÿ”’ Lock Contact Fields

When you re-import the AssociateData CSV from Amazon, by default it overwrites driver phone and email with whatever's in the CSV. If you've manually corrected a driver's contact info, you can lock the field so it survives future imports.

How to lock:

  • Drivers tab โ†’ click a driver โ†’ click the Edit button
  • You'll see ๐Ÿ”“ Auto pills next to the Phone and Email labels
  • Click the pill to flip to ๐Ÿ”’ Locked (turns amber)
  • Click Save
๐Ÿ’ก Why this matters: Amazon's CSV often has stale or generic contact info ("dsp@logistics.amazon.com"). When you collect a real driver's personal phone, lock it so future syncs don't wipe it.

โš ๏ธ Departed Driver Review

When you re-import the AssociateData CSV, drivers who exist in DSPro but aren't in the new CSV get automatically flagged for review. They may have left, been transferred, or be on temporary leave.

What you'll see:

  • An amber banner appears at the top of the Drivers page: "X drivers not in latest roster CSV"
  • Each flagged driver gets a โš ๏ธ Review pill next to their name in the table
  • Click Review โ†’ on the banner โ†’ modal opens with all flagged drivers

For each flagged driver, choose:

  • Mark Inactive (red button): driver leaves the roster permanently. Status switches to inactive, leaderboard auto-recomputes ranks (one fewer driver counted).
  • Still Active (green button): driver stays active, just clears the flag. Use this when a driver is on LOA, temporarily transferred, or accidentally missing from the CSV.
โš ๏ธ Already-inactive drivers are skipped โ€” DSPro never re-flags them. And re-imports of the same CSV won't double-flag โ€” the original flag date is preserved.
๐Ÿ“…
Schedule Owner + Manager
Weekly shift planning. Build the schedule, publish to drivers, handle change requests.

Weekly View

The Schedule page shows a 7-day grid (Sunโ€“Sat). Each cell represents one route on one day. Use the prev/next arrows to navigate weeks.

Building a Schedule

1
Click any empty cell โ€” A driver picker opens with your active roster.
2
Pick a driver โ€” They're assigned to that route/day. Cell shows the driver's name.
3
Save Draft โ€” Keeps your changes private. Drivers don't see them yet.
4
Publish โ€” Sends notifications to all assigned drivers. They see the schedule on My Schedule + get a banner notification.

Driver Responses

After publishing, drivers can:

  • Acknowledge โ€” Confirms they saw it.
  • Decline โ€” Says they can't work the shift. You see this in the Schedule sidebar badge (red number).
  • Request change โ€” Asks for a swap with another driver. You can approve or deny.

Schedule Settings

Click the gear icon to set:

  • How many routes per day your station runs.
  • Default shift start time.
  • Whether to send SMS in addition to in-app notifications.
๐Ÿ’ก Tip: The "Just Scheduled" panel persists across pages so you can keep tabs on drivers you just assigned without losing your place.
๐Ÿš
Fleet Owner + Manager
Fleet management with daily inspection tracking, FMCSA-style checks, registration & rental return alerts.

Fleet Setup

Add each van to your fleet:

  • Van number โ€” Your internal short ID (e.g., V12, ATX-005).
  • License plate + VIN โ€” For DOT compliance and lookup.
  • Year/Make/Model โ€” For maintenance tracking.
  • Registration expiration date โ€” Triggers alerts at 14 days.
  • Rental return date โ€” If it's a rental, set this; alerts at 14 days.
  • Status โ€” Active or Grounded.

Stat Cards

Top of the Vans page shows clickable cards:

  • Total / Passed / Failed / Not Inspected โ€” Today's status.
  • Grounded โ€” Out of service.
  • ๐Ÿ“… Reg Exp <14d โ€” Registration expiring soon.
  • ๐Ÿ  Rentals <14d โ€” Returns due soon.
  • Expiring <60d โ€” Wider lookahead.

Click any stat card โ†’ fleet table filters + page scrolls down to show results.

Running an Inspection

Click ๐Ÿ” Start Inspection:

  1. Pick the van being inspected.
  2. Pick the driver doing the inspection (or yourself).
  3. Step through the checklist (tires, brakes, lights, fluids, etc.).
  4. Mark Pass or Fail per item.
  5. If Fail, can attach a photo and notes.
  6. Final result auto-computed: pass if all items pass, fail if any item fails.
โš ๏ธ Failed inspections auto-ground the van until it's re-inspected. The van shows in the Grounded stat card.
๐Ÿ“ท
Fleet Pictures Owner + Manager + Driver
Visual record of every van's condition. 4-photo daily inspection (front / back / driver-side / passenger-side) with AI-powered damage detection.

How It Works

When a driver runs a van inspection, DSPro asks for four photos covering all sides of the van. These photos are uploaded to the inspection-photos storage bucket and shown on the van's profile in a clean 2x2 grid.

Driver Photo Capture

  1. During the van inspection flow, driver is prompted for four photos.
  2. Photo 1 โ€” Front, including the bumper, headlights, hood.
  3. Photo 2 โ€” Driver side, full length.
  4. Photo 3 โ€” Passenger side, full length.
  5. Photo 4 โ€” Back, including bumper, doors, taillights.
  6. Photos are auto-resized client-side to 1600px on the long edge before upload โ€” sharper thumbnails, smaller upload, faster mobile experience.

2x2 Photo Grid

On each van's profile, the most recent four photos render in a 2x2 grid. Tap any photo to view full-size. Each photo has a โ‹ฎ menu in the corner with these actions:

  • ๐Ÿ” View full size โ€” Open the photo in its original resolution.
  • โ™ป๏ธ Replace photo โ€” Upload a new image for that position.
  • ๐Ÿค– Compare with previous โ€” Manually trigger AI damage detection between this photo and the previous one in the same position.
  • ๐Ÿ—‘๏ธ Delete photo โ€” Remove from the grid (does not delete history).

๐Ÿค– AI Damage Detection

When a fresh set of 4 photos is uploaded, DSPro automatically calls the compare-inspection-photos Edge Function. The function pulls the previous 4 photos for the same van and asks Claude (Anthropic API) to identify any new damage โ€” scratches, dents, cracked lights, missing trim, anything that wasn't there yesterday.

๐Ÿ’ก 8 photos at once โ€” The AI sees both the old set and the new set side-by-side per position and highlights what changed. False positives are common with bad lighting or angle differences, so AI flags are surfaced as alerts, not blocking failures.

Where Damage Alerts Appear

  • A red ๐Ÿ“ท AI Damage Alerts banner appears at the top of the Dashboard whenever there are open flags.
  • A permanent ๐Ÿ“ท AI Damage Alerts stat card on the Dashboard shows the open count (gray = 0, amber = open, red = high severity).
  • Email notifications go out to whoever is configured (owner, managers, the responsible driver, plus any extra emails like fleet@โ€ฆ or accountant@โ€ฆ).
๐Ÿ’ก See the next section for the full Damage Alerts review workflow.
โš ๏ธ AI is a helper, not the truth โ€” Always have a human review flagged photos before disciplining a driver or charging for damage. The AI compares pixels, not intent โ€” a photo angle change or different lighting can produce a false positive.
๐Ÿ› ๏ธ
Parts Department Owner only
A curated catalog of common van replacement parts mapped to your fleet. Click โ†’ order from Amazon directly.

๐Ÿ“Œ Why we built this

DSP owners spend hours per week researching the right parts for their vans. Long-arm vs short-arm mirrors. Heated vs non-heated. Driver vs passenger side. Year-specific compatibility. Variants are a maze. Parts Department is a shared catalog where every entry is mapped to specific vehicle models, so you (or any DSPro owner) can find the right part for your fleet in seconds.

๐Ÿ“ How to access: Sidebar โ†’ ๐Ÿ› ๏ธ Parts Dept (under Fleet Pictures, above Dispatch).

๐Ÿ—‚๏ธ How it works

The catalog is curated by DSPro. Every part is researched, fitment-verified, and tied to specific vehicle models so you don't have to wade through Amazon's listings hunting for the right driver-side mirror for your 2022 ProMaster. Just filter, click, order.

The page has two filter dropdowns at the top:

  • All Vans / Models โ€” filter to parts that fit a specific van in your fleet
  • All Categories โ€” filter by part type (Driver Mirror, Tire, Brake, etc.)

Each part shows up as a card with: category icon + label, part name, variant notes, vehicle compatibility ("Fits: Ford Transit Cargo (2015โ€“2026)"), price, and an Order โ†’ button that opens Amazon in a new tab.

๐Ÿชž Mirror Categories

Mirrors are split into 3 specific categories so there's no ambiguity:

  • Driver Side Mirror โ€” left exterior side mirror
  • Passenger Side Mirror โ€” right exterior side mirror
  • Rear-View Mirror โ€” interior cabin mirror

When you order a "Driver Side Mirror" you don't have to second-guess โ€” it's exactly that side.

๐Ÿš How parts get matched to your vans

The per-van filter only works if your vans have a year and make/model set in the Vans tab. When you add a van with Year and Make/Model, DSPro automatically links it to a fleet vehicle model entry, which is what the catalog uses to filter.

If a van's per-van filter shows "model not set", edit the van to add Year + Make/Model.

๐Ÿ“ฌ Don't see a part you need?

The catalog is growing. If you need a part that isn't listed yet โ€” different vehicle model, specific variant, an eBay-only item, anything โ€” reach out and we'll research and add it. The catalog is a living product; your input shapes what gets added.

๐Ÿ’ฐ How DSPro funds itself

The Amazon links in the catalog use the DSPro Amazon Associate ID. When any owner clicks "Order โ†’" and buys from Amazon, DSPro earns a small commission (~3% of the purchase). This is how DSPro funds development of the platform โ€” no price difference to you, your DSP doesn't pay anything extra.

By policy, we disclose this in our Terms of Service: DSPro is an Amazon Associate.

โš ๏ธ Coming next: Phase 2 will add eBay-sourced parts, live price comparison, per-van order history, and reorder shortcuts ("same part as last time for Van 042").
๐Ÿšจ
AI Damage Alerts Owner + Manager
Review AI-flagged van damage, decide what to do about each one, and notify the right people automatically.

How an Alert Is Born

  1. Driver completes a post-trip van inspection with 4 photos (front / back / driver-side / passenger-side).
  2. The compare-inspection-photos Edge Function fires automatically.
  3. That function pulls the matching pre-trip photos (the 4 from earlier in the day), packages all 8 images, and sends them to Claude.
  4. Claude returns a JSON list of any new damage it sees โ€” anything visible in the post-trip photo that wasn't in the pre-trip photo.
  5. Each finding becomes a row in damage_alerts with severity (low / medium / high), description, and photo paths.
  6. An email goes out to everyone configured in your Damage Alert Email settings.

Dashboard Surfaces

Open damage alerts surface in two places on the Dashboard, both visible only to owners and managers:

  • Red banner โ€” appears above Tomorrow's Coverage when there are any open alerts. Shows count of alerts and number of vans flagged. Hidden when there are no open alerts.
  • ๐Ÿ“ท AI Damage Alerts stat card โ€” permanent in the cockpit grid, shows the open count, color-coded by severity.

The Review Modal

Click the banner or the stat card to open the review modal. Each alert shows:

  • The van's vehicle ID and which side was photographed (front / driver / passenger / back).
  • Driver name and timestamp of the inspection.
  • A severity badge (Low / Medium / High) color-coded gray / amber / red.
  • The AI's plain-English description of what it found.
  • A side-by-side photo grid: Before (the previous photo) and After (flagged) (the new photo where damage was detected). Look at the two carefully โ€” the AI is right most of the time, but not always.

Four Actions Per Alert

  • โœ“ Acknowledge โ€” "I saw it, I'm aware." Marks the alert reviewed and removes it from the open queue. Best for cosmetic stuff you don't need to act on.
  • โœ— Dispute (false flag) โ€” "AI is wrong, this isn't actually new damage." Confirms with a prompt, then resolves. Useful when lighting or angle made the AI hallucinate damage.
  • ๐Ÿ’ฐ Charge Driver โ€” Opens a sub-modal where you enter a charge amount and reason. Records to the damage_charges table for payroll. Note: this records the intent โ€” actual payroll deduction must still be processed in your payroll system.
  • ๐Ÿ”ง Schedule Repair โ€” Opens a sub-modal where you enter description, estimated cost, vendor, and scheduled date. Records to the repair_tickets table.
๐Ÿ’ก Realistic mix โ€” Most owners use Acknowledge for ~70% of alerts (cosmetic stuff), Dispute for ~20% (false positives), and Charge Driver or Schedule Repair for the remaining ~10%.

โš™๏ธ Email Settings

Click โš™๏ธ Email settings at the top of the review modal to control who gets notified when AI flags new damage:

  • Owner โ€” sent to your account email. Default: ON.
  • Managers โ€” sent to all managers under your DSP. Default: ON.
  • Driver who took the photos โ€” notify the responsible driver. Default: OFF (turn this on if you want drivers to know they were flagged).
  • Additional emails โ€” comma-separated list. Useful for fleet@yourdsp.com, accountant@โ€ฆ, insurance contacts, etc.

Email Branding

Damage alert emails go out from alerts@dsproapp.com via Resend. The email shows a red header banner, a card per finding with the AI description and severity badge, before + after photos side-by-side embedded in the email, and a "Open DSPro to triage" button that takes the recipient straight back to the dashboard.

Setup Requirements (one-time)

  1. Storage bucket โ€” inspection-photos must be a public bucket in Supabase Storage.
  2. Edge Functions deployed โ€” compare-inspection-photos and send-damage-alert-email must both be deployed and active.
  3. Edge Function secrets set โ€” ANTHROPIC_API_KEY, RESEND_API_KEY, FROM_EMAIL (default: alerts@dsproapp.com), and APP_URL (default: https://dsproapp.com).
  4. Resend domain verified โ€” dsproapp.com (or your custom from-domain) must be verified in Resend before any emails will deliver.
  5. Profile column โ€” your owner profile needs damage_alert_email_enabled = TRUE (default). The send-damage-alert-email function hard-gates on this column and silently exits if false or null.

Real-World Behavior Notes

  • AI is conservative โ€” by design. The prompt explicitly tells Claude to ignore dirt, lighting, reflections, and shadows, and to only flag clear new damage or foreign objects. Chrome / metallic tape may not register as damage because it can read as a reflection. White paper, neon tape, or anything visually distinct will reliably flag.
  • Photo positions โ€” frontend stores 4 photos keyed front / back / left / right. The AI prompt and prompt-side aliases also accept driver_side / passenger_side as synonyms for left/right, so Claude can use natural language and the system maps it back correctly.
  • Photo size โ€” photos are resized to 1280px on the long edge at 0.78 JPEG quality before upload. This is plenty of resolution for AI vision and keeps cellular upload fast (~350KB per photo vs. 4K originals at ~5MB).
  • Gmail anti-burst โ€” sending 3+ near-identical test emails in quick succession can trigger Gmail's silent suppression (Resend reports delivered, but the email never appears in any folder). Production traffic with one email per real inspection rarely hits this. If testing, wait 5+ min between sends or whitelist alerts@dsproapp.com via Gmail filter.
  • Average flag rate โ€” in our pilot, AI flags new damage on roughly 1 in 30 post-trip inspections. Most days will be quiet. When a flag does come in, it's usually real.
โš ๏ธ Resend free tier limits โ€” DSPro is on the free Resend plan: 3,000 emails/month, 100/day. If your DSP starts flagging more than ~3 vans/day on average, consider upgrading Resend ($20/mo for 50k emails).

Database Tables Created

  • damage_alerts โ€” one row per AI finding, status workflow (open โ†’ acknowledged / disputed / charged / repair_scheduled).
  • damage_charges โ€” one row per Charge Driver action with amount in cents, reason, payroll status.
  • repair_tickets โ€” one row per Schedule Repair action with description, estimated cost, vendor, scheduled date.
๐Ÿ’ก Audit trail โ€” every alert keeps the full AI raw response (ai_raw_response JSONB column), the resolver's user ID, resolved_at timestamp, and a resolution_note. Nothing gets deleted on resolve โ€” the alert just changes status.
โšก
Automatic Alerts & Triggered Features Owner + Manager
DSPro watches your data in the background. These features stay invisible until something needs your attention โ€” here's the complete list so nothing surprises you.

Most DSPro pages are things you open on purpose. The features below are different: they appear on their own when a condition fires, then disappear once handled. If you've ever seen a banner and wondered "when did that get added?" โ€” it was probably one of these.

1
๐Ÿšช Departure Review โ€” When a driver who used to appear in your weekly uploads stops showing up, DSPro flags them and asks whether they actually left the company. Confirming marks the departure (with a reason) instead of leaving ghost "active" drivers on your roster. Triggered by: roster/scorecard uploads missing a previously-seen driver.
2
๐Ÿ”„ Van Rotation (VERO) Warning โ€” Amazon's Fleet Execution metric requires every VIN to complete at least one route in a rolling 14-day window. The dashboard warns you when a van is approaching or past that window so an idle vehicle never dings your station scorecard. Triggered by: a VIN with no recent route activity.
3
๐Ÿชช License Status Workflow โ€” Each driver carries a license status (valid / expiring / expired / suspended) with effective dates and notes. Expiring or expired credentials surface on the Renewals page and the driver's profile automatically โ€” licenses, insurance, and background checks all follow the same clock. Triggered by: stored expiration dates approaching.
4
๐Ÿงฌ Duplicate-Driver Guard โ€” Every import matches incoming names against your roster in three passes (Transporter ID, exact name, fuzzy first + last) before ever creating a new driver, so scorecard nicknames and legal names never split one person into two records. Triggered by: every upload, silently.
5
Already documented elsewhere in this manual โ€” ๐Ÿšจ AI Damage Alerts (see its own section), ๐Ÿ›ž Grounded Vans banner, ๐Ÿ“‹ MVR check reminders, ๐Ÿ“… Hire-date prompts (feeds Tenured Workforce), ๐ŸŒ… Tomorrow's Coverage widget, and ๐Ÿค– Weekly AI Coaching Briefs. All appear on the Dashboard only when their condition is live.
๐Ÿ’ก Demo tip: because these features hide until triggered, they're easy to forget when showing DSPro to another owner. The short version for a pitch: "DSPro doesn't just store your data โ€” it watches it. Idle vans, expiring licenses, missing drivers, new damage: the app raises its hand before Amazon's scorecard does."
๐Ÿ“ก
Safety Radar โ€” Your Predicted Scorecard Owner + Manager
See your projected On-Road Safety rating and each driver's projected tier days before Amazon publishes anything โ€” while there's still time to change the outcome.

Amazon grades a week the Wednesday after it ends โ€” meaning you're blind for up to 10 days. Safety Radar closes that gap. It reads the same Netradyne events Amazon's safety metrics are built from, applies the same counting rules (only Scorecard-impact events count; approved disputes are erased), and projects where your week is heading.

1
The daily habit (30 seconds): in your Netradyne (Driver·i) portal, export the Safety Dashboard report and drop it on the Safety Dashboard tile in the Upload Station. Daily or weekly files both work, several at once is fine, and re-uploads never duplicate (every event has a unique ID). Morning is best โ€” the Radar then reflects everything through last night, with today still available for coaching.
2
Read the card: the big colored word is your projected On-Road Safety rating โ€” anchored to your last published station scorecard and adjusted by this week's event pace (ON TRACK holds it; AT RISK projects one band down). The chips on the right count drivers by projected safety tier: ๐Ÿฅ‰๐Ÿฅˆ๐Ÿฅ‡ at-risk and โœ… clean.
3
Click for the full forecast: the Projected Scorecard table shows every flagged driver's projected rate and tier per safety metric โ€” computed from their personal trip volume, so one speeding event can be Platinum for a high-mileage driver and Silver for a light one. The ๐Ÿ’ฌ button opens a coaching SMS aimed at that driver. Below the table: day-by-day events, dispute statuses, and Netradyne video links.
4
Wednesdays: upload the new Weekly Station Scorecard (re-anchors the big rating) and the DSP Overview CSV (official scores and rankings). Each published week also automatically sharpens every driver's trip fingerprint, making next week's projections tighter.
๐Ÿ’ก What it can and can't see: projections cover the five on-road safety metrics โ€” the ones derived from Netradyne. Customer feedback (CDF) and DSB land only at week's end and can still move a final tier. And disputes matter: an approved dispute deletes the event from Amazon's math, so dispute aggressively โ€” the Radar tracks pending ones for you.
๐Ÿ”ง
Scheduled Repairs Owner + Manager
A running list of van repairs you've scheduled off AI Damage Alerts, with cost totals by day, week, and month.

How a Repair Gets Here

Nothing lands in Scheduled Repairs on its own. A repair only appears after you act on a Damage Alert. The full chain:

  1. AI flags damage โ€” a post-trip van inspection in Fleet Pictures is compared against the pre-trip photos, and any new damage becomes an AI Damage Alert (see the AI Damage Alerts section).
  2. You open the alert โ€” from the red Dashboard banner or the ๐Ÿ“ท AI Damage Alerts stat card.
  3. You click ๐Ÿ”ง Schedule Repair on that alert โ€” the manual step that creates the repair. A sub-modal asks for description, estimated cost, vendor, and scheduled date.
  4. You save โ€” that writes a row to repair_tickets (linked to the van and the originating damage alert), and the damage alert flips to status repair_scheduled.
  5. It appears here โ€” the Scheduled Repairs page lists every repair ticket for your DSP, sorted by scheduled date.
๐Ÿ’ก The only entry point โ€” the ๐Ÿ”ง Schedule Repair button on a Damage Alert is the one and only way a repair enters this list. There is no separate "add repair" button.

What You See on the Page

  • Cost tiles โ€” total repair cost for Today, This Week, and This Month. Click a tile for a per-van breakdown of which vehicles had repairs in that period.
  • Repair list โ€” each entry shows the van number / VIN, description, estimated cost, vendor, and scheduled date.
  • Tap a repair โ€” opens the original damage photo that triggered it, so you can see exactly what is being fixed.
  • Filter โ€” switch between upcoming and past repairs.

Good to Know

  • Estimated cost is optional โ€” leave it blank if you do not have a quote yet; the tiles simply will not count it.
  • Dates use your local time โ€” a repair scheduled for today shows under Today, with no timezone day-shift.
  • A van must be linked โ€” the damage alert has to be tied to a van for the repair to save (it always is when the alert comes from an inspection).

Database Table

  • repair_tickets โ€” one row per Schedule Repair action: van_id, damage_alert_id, description, estimated_cost_cents, vendor, scheduled_date.
๐Ÿ“‹
Vehicle Inspection All Roles
FMCSA-compliant pre-trip and post-trip vehicle inspections completed by drivers from their phones. Required before driving.

Why This Matters

Both FMCSA (federal) and Amazon (DSP contract) require drivers to inspect their vehicle before driving. A documented inspection program is your strongest legal defense if there's an accident โ€” it shows due diligence on equipment safety.

DSPowner replaces paper inspection forms with a phone-based checklist that's faster, photographs failed items, and creates an immediate audit trail.

Where Drivers Submit Inspections

๐Ÿ’ก Two paths, same result: The submission flow + AI damage compare are identical regardless of where the driver starts. The only difference is the entry point in their sidebar.
  • Time Clock ON (default): Drivers see a banner at the top of the Time Clock page โ€” "โš ๏ธ Pre-Trip Inspection Required" with a Start Pre-Trip button. Strict enforcement: drivers cannot clock in until pre-trip is done.
  • Time Clock OFF: Drivers see a dedicated Vehicle Inspection tab in their sidebar. The same banner appears there with the same Start Pre-Trip / Start Post-Trip buttons. No clock-in gating (because there's no clock-in to gate).

Where Owners + Managers See Submissions

The Vehicle Inspection sidebar tab is always available to owners and managers (regardless of Time Clock setting). It shows:

  • Today's submission count (pre-trips + post-trips)
  • Failed inspection count
  • Drivers without pre-trip โ€” most useful: who's working today but hasn't done it yet
  • Full list of today's submissions with photos, time, van, result
  • CSV export

What's Inspected (25 items across 4 sections)

๐Ÿš Exterior (11 items): Front + rear tires, headlights, brake lights, turn signals, hazards, mirrors, windshield, wipers, body damage check, license plate visibility

๐Ÿช‘ Interior (5 items): Seatbelt, horn, gauges/dashboard, cabin cleanliness, cargo secured

๐Ÿ”ง Mechanical (5 items): Brakes, steering, fluid leaks, engine sound, transmission shifting

โ›‘๏ธ Safety Equipment (4 items): Fire extinguisher, first aid kit, warning triangles, registration & insurance present

Items marked โš ๏ธ Critical auto-ground the van if failed (tires, lights, brakes, steering, fluids, seatbelt, horn). The van is removed from active service until you re-inspect.

Driver Workflow

1
Open Time Clock page (TC ON) or Vehicle Inspection tab (TC OFF) โ€” yellow banner appears: "โš ๏ธ Pre-Trip Inspection Required" with a "โ–ถ Start Pre-Trip" button.
2
Tap Start Pre-Trip โ€” modal opens with all 25 checklist items grouped by section.
3
Pick van + odometer + fuel โ€” driver selects from your fleet dropdown, enters odometer reading, picks fuel level (Full / ยพ / ยฝ / ยผ / Low).
4
Walk around the van โ€” checks each item โœ… Pass or โŒ Fail. On fail: optional notes ("oil leaking under engine") + camera button (๐Ÿ“ท) for a photo.
5
Submit โ€” banner turns green "โœ… Pre-Trip Complete". If TC is ON, clock-in button becomes available. If anything failed: red banner "๐Ÿšจ X Issues Reported ยท DSP notified".
6
End of shift โ€” after clocking out, banner turns blue "๐Ÿ“‹ Post-Trip Inspection Required". Same checklist; documents any new damage or issues from the day.
๐Ÿ’ก Tip: If the driver's van isn't in DSPro's fleet yet, they can pick "โ†ช Other / not listed" and type the van number manually. Owner can add the van later โ€” historical inspections still have it referenced in the notes.

Owner / Manager View

Sidebar โ†’ Operations โ†’ Vehicle Checklists opens the management page with five clickable stat tiles:

  • ๐Ÿ“‹ Today's Inspections โ€” Total count for today
  • ๐Ÿš Pre-Trips โ€” How many drivers completed pre-trip
  • ๐Ÿ Post-Trips โ€” How many completed post-trip
  • ๐Ÿšจ Failed โ€” How many had at least one fail item
  • โš ๏ธ Drivers Without Pre-Trip โ€” most useful โ€” who's working today but skipped or hasn't done it yet

The table below shows each inspection with: Driver ยท Type ยท Van ยท Time ยท Result pill ยท Issue count. Click "X issues ๐Ÿ‘๏ธ" on any failed inspection โ†’ modal showing every failed item, criticality flag, and driver's notes.

๐Ÿ“ฅ Export CSV โ€” Downloads last 30 days for compliance records or sharing with insurance / Amazon audits.

What Happens on a Critical Failure

If a driver fails ANY item marked Critical (e.g., brake check, headlight, seatbelt):

  1. Inspection saves with `result: 'fail'`.
  2. The selected van is auto-set to status `grounded` in your fleet.
  3. Driver sees red banner: "๐Ÿšจ Pre-Trip Complete ยท 1 Issue Reported ยท Speak with your manager before driving."
  4. Driver can still clock in (so they're paid for the time), but should not drive that van.
  5. Van shows up in your dashboard's Grounded count + Vehicle Checklists "Failed" tile.
โœ… Compliance benefit: Every inspection includes a timestamp, driver identity, photos (if added), and detailed notes. If there's ever an FMCSA audit or accident investigation, you have searchable historical records โ€” much stronger than paper forms in a binder.
๐Ÿ•’
Shift Check-Ins Owner + Manager (page) ยท Driver (submits)
A structured record of every shift start and end โ€” who, when, which van, mileage, equipment checklist, any issues. Searchable, filterable, exportable.

๐Ÿ“Œ What it is

At the start and end of every shift, drivers tap a tile on their home screen and submit a quick check-in. The check-in captures the operationally important stuff: which van they're in, mileage, which equipment they have (mini-tote, bags, scanner, charger, key, etc.), and any issues that came up. Owners and managers see all of them on the ๐Ÿ•’ Shift Check-Ins page.

๐Ÿ“ How to access: Sidebar โ†’ ๐Ÿ•’ Shift Check-Ins. The sidebar shows a small count badge of today's check-ins so you can glance at it during dispatch and see how many drivers have actually clocked in.

๐Ÿ‘ค Driver Submission

On a driver's home screen there's a Start / End of Shift Check-In tile (always visible โ€” they don't have to dig for it). Tapping it opens the form:

  1. Shift Type โ€” Start or End
  2. Van # โ€” which van they're using (auto-suggests recent vans)
  3. Mileage โ€” current odometer reading
  4. Equipment Checklist โ€” Mini-tote, Bag, Scanner, Charger, Key, etc. (checkbox grid)
  5. Issues โ€” free-text field for any problems (van damage, missing equipment, traffic delays, anything worth noting)
  6. Photo โ€” optional โ€” handy for documenting issues

Driver hits Submit, the check-in is saved instantly, and they get a toast confirmation.

๐Ÿ“‹ Owner / Manager View

The Shift Check-Ins page is the central log. Top of the page has stat tiles (today's starts, today's ends, this week's check-ins). Below is a filterable table.

  • Filter by driver โ€” pick from the dropdown to see one person's history
  • Filter by van โ€” see who's been using van 1247 lately
  • Filter by date range โ€” today, yesterday, this week, custom
  • Filter by type โ€” Start only, End only, or both
  • CSV export โ€” top right button, downloads the current filtered view as a spreadsheet

๐Ÿ“ฑ Mobile-friendly

On phones, each check-in renders as a stacked card instead of a wide table row โ€” driver name, van, mileage, equipment, issues, photo thumbnail. Tap any driver's name to jump to their full profile.

๐Ÿ” What you'll actually use it for

  • Morning roll call โ€” quickly see who has and hasn't checked in for the day's shifts
  • Van handoff disputes โ€” "Driver X says the van had 50,000 miles when they got it" โ€” pull up that day's start check-in and read the actual recorded mileage
  • Equipment loss tracking โ€” driver says the scanner is missing? Search their last check-in to see if it was logged then
  • Issue trending โ€” filter by "Issues contains..." to find every check-in mentioning a recurring problem (van smoking, locked yard, ramp closure, etc.)
  • Audit trail โ€” every shift has a documented start and end with timestamps
๐Ÿ’ก Why it's better than the old Messages thread โ€” Previously, drivers would type their check-in into a "๐Ÿšฆ Start/End of Shift" channel in Messages, and you'd have to scroll the chat log to find anything. Now check-ins are structured records in their own table โ€” searchable, filterable, exportable, with proper data fields instead of free-form chat.
โš ๏ธ Not a replacement for Vehicle Inspections โ€” Shift Check-Ins are quick logistical reports (where, when, what equipment). Vehicle Inspections are the full pre-trip / post-trip with photos + section checks (exterior, interior, mechanical, safety). Drivers do both โ€” check-in is fast, inspection is detailed.
๐Ÿ“ˆ
Scorecards Owner + Manager
Upload Amazon's weekly scorecard PDF/CSV. DSPro parses it, assigns tiers, and tracks every driver's performance over time.

How It Works

Each week Amazon publishes a scorecard for your DSP showing per-driver metrics: DC DPMO, DAR, POD, Contact Compliance, Speeding events, Safety scores, etc. DSPro reads these scores, compares them against the thresholds you've set (or Amazon defaults), and assigns each driver a tier.

The Five Tiers

โญ Fantastic+
Best
๐Ÿ† Fantastic
๐Ÿ‘ Great
โš ๏ธ Fair
๐Ÿšจ Poor
Needs help

Uploading a Scorecard

From the Scorecards page, click ๐Ÿ“ Upload Scorecard. DSPro accepts:

  • Amazon's weekly scorecard PDF (most common format)
  • CSV exports from the Amazon Logistics Portal

DSPro auto-matches drivers by name + driver_id. Unmatched drivers are flagged for you to resolve.

Scorecard Detail Page

Click any driver row โ†’ drill into their full scorecard with:

  • Per-metric tier breakdown.
  • Week-over-week trend charts.
  • Comparison to peer averages.
  • Recommended actions (coaching points, escalation flags).
๐Ÿ’ก Tip: Adjust your tier thresholds in Settings โ†’ Performance Thresholds if your station uses different cutoffs than Amazon defaults.

๐Ÿ”ข Bake Ranks (NEW)

The ๐Ÿ”ข Bake Ranks button on the Scorecards Week page persists the currently-displayed sort order as actual amazon_rank values in the database. Required for the Swap Rank feature to work properly when Amazon hasn't published per-driver ranks for the week (which happens often when only the Station scorecard PDF is available).

How to use:

  • Open Scorecards โ†’ click into a week
  • Click ๐Ÿ”ข Bake Ranks at the top of the page
  • Confirm the dialog โ€” drivers without an Amazon-published rank will get assigned positions (1, 2, 3 ... in current sort order)
  • Drivers who already have an Amazon rank from the Personalized PDF are LEFT ALONE โ€” Bake Ranks only fills gaps, never overwrites
๐Ÿ’ก Bake once per week after uploading your scorecard. After that, ranks are anchored and the Swap feature works cleanly.

๐Ÿ“ Edit Menu โ€” Per-Driver Actions (NEW)

Each driver row in the Scorecards Week table has an editor button (โœ๏ธ). Click it for these actions:

  • ๐Ÿ“ Add Note โ€” Save a coaching note for this driver. Includes context (week + year) automatically. Notes appear in the driver's coaching log on their profile.
  • ๐Ÿ”„ Swap Rank With... โ€” Pair-wise rank swap. Pick a target rank โ†’ DSPro finds the driver currently at that rank โ†’ confirms the two-way trade. Both drivers update atomically. No duplicate ranks.
  • โš™ Override Tier โ€” Force a driver into a specific tier (Fantastic+ / Fantastic / Great / Fair / Poor). Use for appeals or special circumstances. Optional reason field. Override propagates to leaderboard, dashboard tier counts, and bonus calculator. Click again to clear and revert to Amazon's tier.
โš ๏ธ Override audit trail: All overrides save who changed them and when (override_set_by + override_set_at). Helpful for compliance and team accountability.
๐Ÿ†
Leaderboard Owner + Manager
Driver rankings based on combined performance score. Visible to drivers (motivates competition).

How Rankings Work

Each driver gets a composite score combining:

  • Latest scorecard tier (weighted heaviest).
  • Safety score / DCR delivery rate.
  • Attendance (low points = bonus).
  • Tenure (longevity bonus).

Drivers See It Too

Drivers see their own rank on their profile. They see the leaderboard top 10 (anonymized below their position to avoid singling out poor performers).

๐Ÿ’ก Tip: Many DSPs project the leaderboard on a TV at the station for motivation.

๐Ÿ‘ Last Name Privacy (NEW)

To stay compliant with Amazon's policy of keeping full driver names off public-facing documents, the leaderboard redacts last names by default. Drivers appear as "Jessica H." instead of "Jessica Howell".

How to toggle:

  • At the top of the Leaderboard page, click ๐Ÿ‘ Show Full Names to reveal last names
  • Click ๐Ÿ‘ Hide Last Names to redact again
  • Your choice is remembered across sessions (saved to your browser)
โš ๏ธ Best practice: Keep redaction ON for any leaderboard you post publicly at the station, project on TVs, or share with drivers. Owner-facing screens (Drivers tab, Scorecards detail, Dashboard) always show full names regardless โ€” those are internal management views.
๐Ÿ’ฐ
Bonus Calculator Owner + Manager
Tier-based weekly bonus calculator with attendance penalty. Defaults: $50/$30/$15 by tier, 6+ pts = no bonus.

How Bonuses Are Calculated

Each week, DSPro looks at each driver's:

  1. Latest scorecard tier (Fantastic+ / Fantastic / Great / Fair / Poor)
  2. Active attendance points (sum of non-rolled-off events)

Then applies the formula:

IF attendance_points >= cutoff (default 6) bonus = $0 (disqualified) ELSE bonus = tier_amount ($50 / $30 / $15 / $0 / $0)

Default Amounts

โญ Fantastic+
$50
๐Ÿ† Fantastic
$30
๐Ÿ‘ Great
$15
โš ๏ธ Fair
$0
๐Ÿšจ Poor
$0

Customizing Amounts

Click the โš™๏ธ Settings button on the Bonus & Points page to change:

  • Dollar amount per tier (any number from $0 up)
  • Attendance cutoff (default 6 pts; lower it to be stricter, raise it to be more lenient)
  • Toggle the calculator on/off entirely (turns off, page shows disabled state)

Reading the Driver Table

Each row shows:

  • Driver name + ID โ€” Avatar circle + Amazon driver_id
  • Tier pill โ€” Color-coded current tier
  • Att. Pts โ€” Active attendance points (red if at/over cutoff, amber if approaching)
  • Base โ€” Tier's dollar amount
  • Bonus โ€” Final amount after attendance check (green if >$0)
  • Status pill โ€” ๐Ÿ’ฐ Eligible / ๐Ÿšซ Disqualified / โœ… Paid [date]
  • Action button โ€” Mark Paid / Undo

Marking Bonuses Paid

Two ways:

  • Per-driver: Click "Mark Paid" on any row โ†’ confirms amount โ†’ row turns green โœ…
  • All at once: Click "โœ… Mark All Paid" at top โ†’ confirms total โ†’ all eligible drivers locked in

Marking paid creates an immutable snapshot in the database โ€” historical record never gets recalculated.

The "Undo" Button

If you mark something paid by mistake, click Undo on the row. The snapshot is deleted, status reverts to Eligible. Good for fixing typos or reversing accidental clicks.

Week Navigation

Use โ—€๏ธ Prev / Next โ–ถ๏ธ buttons or "This Week" to jump between weeks. You can mark bonuses paid for past or future weeks. The displayed tier and attendance points are calculated as of the END of the displayed week (Saturday).

๐Ÿ“ฅ Exporting for Payroll

Important workflow: The CSV export is output only โ€” you do NOT need to fill it out and re-upload. It's purely for sending to your payroll service or bookkeeper.

The CSV includes:

  • driver_name
  • driver_id (Amazon transporter ID)
  • tier
  • attendance_points
  • base_amount
  • bonus_amount (final payout)
  • disqualified (yes/no)
  • paid_at (timestamp if marked paid)

How Payment Actually Happens

DSPro does NOT pay drivers directly. The flow is:

1
DSPro calculates who gets what based on tier + attendance.
2
You review the table on Bonus & Points page.
3
Export CSV and email/upload to your payroll service (Gusto, ADP, QuickBooks, etc.).
4
Payroll runs on your normal schedule (weekly/bi-weekly) and adds the bonus_amount to each driver's paycheck.
5
Mark Paid in DSPro โ€” Click the button so the row turns green โœ…. This is your bookkeeping confirmation that you actually paid them.
โœ… Best practice: Run the calculator every Friday after Amazon's weekly scorecard publishes. Export โ†’ send to payroll โ†’ mark paid in DSPro on Monday after payroll closes.

Driver Visibility

Drivers see their own bonus on their profile after you mark it paid. Until then, the bonus calculator is owner/manager-only โ€” drivers don't see preview amounts before payment.

โš ๏ธ Note: If a driver doesn't have a tier yet (no scorecard uploaded), they show as "โ€”" in the table and get $0. Upload the latest weekly scorecard before running bonuses.

Common Questions

What if Amazon publishes a corrected scorecard? Re-upload the corrected file in Scorecards โ†’ re-click Recalculate on Bonus page โ†’ updated amounts appear. If you already marked someone paid with the old amount, click Undo first to recalculate fresh.

Can I exclude a driver? Not directly โ€” but you can: (a) mark their bonus as paid with $0 manually, or (b) wait until they have attendance points or a low tier that disqualifies them.

What about half-week drivers / new hires? If they don't have a tier yet (newly hired, scorecard hasn't included them), they show $0. Once their first scorecard comes through, they qualify like everyone else.

โฑ๏ธ
Time Clock All Roles
Geo-locked clock-in/out for drivers from their phones. Tracks regular hours, breaks, and overtime automatically.

Time Clock ON / OFF (Owner)

๐Ÿ’ก Use ADP, Workday, or another payroll tool? You can disable Time Clock entirely so drivers don't double-clock. Pre-trip / post-trip vehicle inspections still work โ€” they move to a standalone Vehicle Inspection tab in the driver's sidebar.

The toggle lives at the top of the Time Clock page (Station Setup card). Owner-only.

  • โฑ๏ธ Time Clock ON (default): Drivers can clock in / out, take breaks, lunch through DSPowner. Pre-trip is required before clock-in. This is the standard DSPowner experience.
  • โธ๏ธ Time Clock OFF: Drivers do not see a Time Clock tab in their sidebar. The clock-in card on their profile is hidden. Pre-trip / post-trip inspections still happen โ€” but via a dedicated Vehicle Inspection tab that appears in their sidebar instead.
  • Toggle saves immediately. You can flip it back any time.
  • Existing clock-in records are preserved when you toggle off โ€” they just stop being editable. Toggle back on to see them again.
โš ๏ธ Important: Switching from ON to OFF does not migrate hours data into ADP/Workday. You're responsible for getting hours into your payroll system. DSPowner just stops collecting them.

Setup (Owner)

Before drivers can clock in, you need to set the station location:

1
Go to Time Clock โ†’ Station Setup card
2
Stand at your DSP station with your phone or laptop.
3
Click "๐Ÿ“ Use my current location" โ€” Allow browser location access.
4
Set the geofence radius โ€” Default 500ft. Increase if your station has a large parking lot.
5
Click "๐Ÿ’พ Save Station Settings" โ€” Drivers can now clock in.

Driver Workflow

From a driver's profile or Time Clock page:

  1. Big blue clock card shows current state.
  2. ๐ŸŸข Clock In โ€” Phone shares location, DSPro verifies you're within geofence.
  3. State changes to "Clocked in ยท 0h 0m" with a ๐Ÿฝ๏ธ Start Lunch button and a โ˜• Break (1/2) button.
  4. ๐Ÿฝ๏ธ Start Lunch โ†’ card flips to a big circular countdown timer (default 30 min). Audio is unlocked the moment the driver taps Start Lunch so the alarm can ring later.
  5. When the countdown hits 0:00 a bell rings every 4 seconds, the phone vibrates, and a browser notification fires (even with the tab in the background).
  6. Driver gets three buttons when the alarm rings: ๐Ÿ”• Stop Alarm (silences but stays on lunch โ€” overage time counts up in red), โฐ Snooze 5 min (extends lunch by 5 min, alarm re-arms), ๐ŸŸข End Lunch (clocks back in immediately).
  7. Back on shift: โ˜• Break (1/2) or โ˜• Break (2/2) button is available alongside Clock Out.
  8. ๐Ÿ”ด Clock Out โ€” DSPro verifies location again, computes total hours minus the lunch break, flags overtime if >8h/day. Paid 15-min breaks are NOT subtracted from total hours.

โฐ Lunch Duration Setting Owner Only

Owners can set how long the lunch countdown timer runs in Time Clock โ†’ Station Setup โ†’ Lunch Duration. Default is 30 minutes; valid range is 15โ€“120 minutes. This is the timer the driver sees and the time at which the alarm fires.

๐Ÿ’ก Note: The lunch duration is shared across all drivers under one DSP. Change it in one place and every driver gets the new timer on their next lunch.

โ˜• Paid 15-Minute Breaks All Roles

Drivers may take up to two paid 15-minute breaks per shift, separate from their unpaid lunch. Break time is tracked but not deducted from total hours.

  1. While clocked in (pre- or post-lunch), driver taps โ˜• Break (1/2).
  2. Card flips to a 15-min countdown โ€” same circular timer style as lunch.
  3. At 0:00, the same bell + vibrate + notification fires. Same Stop / Snooze / End Break buttons appear.
  4. After both breaks are used today, the โ˜• Break button disappears for the rest of the shift.
  5. Working state shows a small line under the status: "โ˜• Breaks today: 2:14 PM (15m) ยท 4:30 PM (12m)".
โœ… On record โ€” Every break is logged in the driver_breaks table with start time, end time, and duration. Owners can verify exact start/stop times even if the alarm was snoozed or dismissed.

Manager + Owner Tools

  • Today's Clock-Ins table โ€” All drivers' current state, click any to edit. Status pill shows live state: ๐ŸŸข Clocked In, ๐Ÿฝ๏ธ On Lunch, โ˜• On Break, or grey "Clocked Out" when the shift's done.
  • โ˜• Breaks column โ€” Each row shows a count + total minutes for paid 15-min breaks taken today (e.g. "2 (24m)") as a clickable blue pill. Click it to open the Break Details modal with start time, end time, and duration for every break, plus an "In progress" badge for any active break.
  • Weekly Hours by Driver โ€” Aggregated totals, OT flagged in red. Includes a โ˜• Breaks (paid) column showing the total breaks taken across the entire week per driver.
  • + Manual Entry โ€” Add an entry if a driver forgot to clock in/out.
  • ๐Ÿ“ฅ Export CSV โ€” Download last 2 weeks for payroll.
โœ… Break audit trail โ€” Every break a driver takes is recorded in the driver_breaks table with exact start/end timestamps and computed duration. Owners can verify any disputed break time by clicking the breaks pill on any clock-in row.
โš ๏ธ Geofence failures โ€” If a driver tries to clock in from home or somewhere far from the station, they get an error showing the distance. They can NOT clock in remotely.
โš ๏ธ iPhone Safari note โ€” The lunch/break alarm uses Web Audio. iOS may suppress the bell if the silent switch is on. Drivers should keep the ringer ON or rely on the vibration + notification, which always fire.
๐Ÿฝ๏ธ
Lunch Timer All Roles
A full-screen countdown timer with end-of-lunch alarm โ€” keeps drivers honest about lunch length without you having to chase them.

Why It Exists

Drivers run out of time on lunch. Without a timer, they either guess the time and come back late (over-lunch, paid OT trouble) or rush back early and skip food. The Lunch Timer is a built-in stopwatch with an audible alarm so drivers actually use their full break โ€” and don't run over.

How a Driver Uses It

  1. Driver is clocked in (see Time Clock section).
  2. Tap ๐Ÿฝ๏ธ Start Lunch.
  3. The clock card flips into a full-screen circular countdown timer. Default is 30 minutes, configurable per DSP (see below).
  4. Driver puts the phone down or pockets it. They can navigate away from DSPro and the timer keeps running in the background.
  5. When the countdown hits 0:00:
    • ๐Ÿ”” Bell sound rings every 4 seconds
    • ๐Ÿ“ณ Phone vibrates
    • ๐Ÿ“ฒ Browser notification fires (even with the tab in background)
  6. Three buttons appear when the alarm rings:
    • ๐Ÿ”• Stop Alarm โ€” Silences the alarm but stays on lunch. Overage time starts counting up in red. Use when the driver knows they need a few more minutes.
    • โฐ Snooze 5 min โ€” Adds 5 minutes to the timer and re-arms the alarm. Driver can snooze multiple times if needed.
    • ๐ŸŸข End Lunch โ€” Clocks back in immediately. Card flips back to "Clocked in" state with break buttons available.
โœ… Audio unlock โ€” The alarm sound is "unlocked" the instant the driver taps Start Lunch. This is a browser quirk: audio can't play unless the user has interacted with the page first. We use that Start Lunch tap as the interaction.

โฐ Lunch Duration Setting Owner Only

Owners control the lunch countdown length:

  1. Open Time Clock โ†’ Station Setup
  2. Find Lunch Duration field
  3. Enter minutes (valid range: 15 to 120)
  4. Save

Default is 30 minutes. The new duration applies to every driver under this DSP starting on their next lunch. Already-running lunches keep the duration they started with.

๐Ÿ’ก Local labor law check โ€” Tennessee requires a 30-minute unpaid meal break for shifts over 6 hours. Florida has no state-mandated break. Check your state's labor rules before setting anything below 30 minutes โ€” your DSP could be cited even though DSPro is just a stopwatch.

๐Ÿ“ฑ iOS Audio Note

On iPhone, the lunch alarm uses HTML audio that's pre-unlocked when the driver taps Start Lunch. In most cases this works perfectly. However:

  • If the iPhone is on silent mode, the alarm won't ring audibly โ€” but the phone still vibrates and shows the notification.
  • If the driver navigates to another app and the phone screen locks for an extended period, iOS may suspend background audio. The notification still fires.
  • For the most reliable alarm: leave DSPro open in the foreground OR have notifications enabled for the dsproapp.com tab.
โš ๏ธ Train drivers to enable notifications โ€” When a driver first opens DSPro and the browser asks "Allow notifications?" โ€” say YES. Without notifications, the alarm relies only on audio (which iOS can suspend) and vibration. With notifications, the system-level alert is bulletproof.

How Lunch Affects Pay

Lunch time is unpaid and deducted from the driver's total shift hours. If the lunch timer was set to 30 minutes and the driver actually took 35 (used Stop Alarm with overage), the full 35 minutes is deducted โ€” encouraging drivers to come back on time.

If the driver ends lunch early (e.g., back at 20 minutes), only the actual 20 minutes is deducted. Quick lunches = more paid hours.

โœ… Honest accounting โ€” DSPro tracks the ACTUAL lunch duration (Start Lunch โ†’ End Lunch timestamps), not the scheduled duration. No way to game it.

Troubleshooting

  • Alarm didn't ring โ€” Phone was on silent. Drivers should enable notifications for dsproapp.com.
  • Lunch shows as 0 minutes in time log โ€” Driver tapped Start Lunch and End Lunch within seconds. The minimum duration tracked is 1 minute.
  • Timer froze โ€” Driver tabbed away in browser, phone backgrounded the tab. Re-opening DSPro should resume from the correct elapsed time.
  • Overage time keeps counting and won't stop โ€” Driver tapped Stop Alarm but didn't tap End Lunch. Overage continues until they explicitly end lunch.
๐Ÿ“ฆ
Package Issues All Roles
Drivers report extra or missing packages with photo evidence. Owners + managers review and triage with status workflow.

Why This Exists

Two of the most common Amazon DSP package problems happen daily across every station: extra packages end up in the wrong driver's truck, and missing packages show up on a driver's route but never made it into the van. Without a structured way to flag these in real time, drivers either text a manager (untracked), call dispatch (no record), or just deliver the wrong stops and create a scorecard hit. The Packages page gives every shift a single source of truth โ€” photo, timestamp, driver, status โ€” that maps cleanly to Amazon's standard support flow.

Driver Workflow

  1. Driver opens the ๐Ÿ“ฆ Packages page from the left nav (or tap the icon in the mobile top bar).
  2. Two big buttons appear at the top:
    • ๐Ÿ“ฆ Extra Package โ€” Take Photo (blue) โ€” for a package in the truck that's NOT on the route. Driver photographs the package label so the owner has a clear address to work with.
    • ๐Ÿšซ Missing Package โ€” Take Photo (red) โ€” for a package on the route that's NOT in the truck. Driver photographs/screenshots the route app showing the missing stop.
  3. Tapping a button opens a tinted modal (blue for extra, red for missing) with a camera button and an optional comment field.
  4. Photo is auto-resized to 1280px on the long edge at 0.78 JPEG quality before upload (sharp thumbnails, ~70% smaller files for fast cellular upload).
  5. Submit โ†’ row created in package_reports table with status open, photo uploaded to the package-photos storage bucket.
  6. Driver immediately sees their submission in the report list below the buttons.

Driver Self-Actions (deploy_359)

If the driver realizes after submission that something changed, they get two buttons on their own open reports โ€” no waiting for owner triage:

  • ๐Ÿ“ท Retake Photo โ€” opens a small modal to capture a new photo. Replaces the original photo on the report (storage + DB updated). Comment + status unchanged. Useful when the driver photographed the wrong package label or the original photo was unclear.
  • ๐ŸŸข I Found It โ€” closes the report with status driver_resolved. For "missing" reports, this means the driver located the package after all. For "extra" reports, this means the driver delivered or returned it themselves. Different from owner Resolved/False Alarm so the audit trail is clear.
๐Ÿ’ก Why no Delete button? Drivers can fix their own mistakes (photo / status) but cannot fully erase a report. Once a report is in the system it stays โ€” owners always see the original record + how it was resolved. Audit-safe.

Owner / Manager Triage

The same Packages page shows all drivers' reports for owners and managers. Each report renders as a stacked card showing the driver's name + avatar, a ๐Ÿ“ฆ / ๐Ÿšซ type badge, the status, the timestamp, a ๐Ÿ“ท View Photo button, the driver's comment, and four action buttons:

  • โœ“ Resolved โ€” Issue handled, no further action.
  • โœ— False โ€” Driver was mistaken (package was actually in their truck / not on their route after all).
  • ๐Ÿ“ž Amazon โ€” Contacted Amazon support about the package.

Each action moves the report out of the "Open only" view and stamps it with the resolver's user ID + timestamp. Reports the driver has already self-resolved appear with a green "๐ŸŸข Driver found it" badge.

Filters

Owner/manager view has three filters at the top:

  • Status โ€” Open only (default), All, Resolved, False alarm, or Contacted Amazon.
  • Type โ€” All types, ๐Ÿ“ฆ Extra only, or ๐Ÿšซ Missing only.
  • Date range โ€” Last 7 / 30 / 90 days, or All time.

Dashboard Surface

A ๐Ÿ“ฆ Package Issues stat card sits in the dashboard cockpit grid (manager + owner only). Shows today's open count color-coded:

  • Gray 0 โ€” No open reports today.
  • Amber N โ€” Open reports today, all extras.
  • Red N โ€” At least one missing package open today.

The stat card subtitle breaks it down: e.g. "3 extra ยท 2 missing today". Click the card โ†’ jumps straight to the Packages page. The left nav also gets a small red badge with the open count.

โš™๏ธ Email Settings

Click โš™๏ธ Email settings at the top of the Packages page to control email alerting. Default = OFF on purpose โ€” at scale (100+ vans), you'd be drowning in package alert emails within a single shift. Reports always appear on the dashboard widget and the Packages page regardless.

  • Enable email alerts toggle โ€” when ON, sends an email to you, all your managers, and any extra emails listed.
  • Additional emails โ€” comma-separated list (e.g. dispatch@yourdsp.com, ops@โ€ฆ) for routing alerts to the right team without giving them DSPro accounts.
๐Ÿ’ก When to flip emails ON: If your station processes <25 vans/day OR you specifically want every package issue in your inbox for compliance reasons. Otherwise leave it off and check the dashboard widget once or twice per shift.

Database Tables Used

  • package_reports โ€” one row per submission. Columns: id, owner_id, driver_id, report_type ('extra' | 'missing'), comment, photo_path, station_code, status, resolved_by, resolved_at, resolution_note, created_at, updated_at.
  • package-photos storage bucket โ€” public-read, with RLS policies restricting upload to the path {owner_id}/{driver_id}/....
  • profiles.package_alert_email_enabled + profiles.package_alert_extra_emails โ€” per-DSP email config.
โœ… Audit-ready โ€” Every report keeps the original photo + driver comment + resolution note + timestamps. Useful when an Amazon dispute requires "show me what the driver saw at 9:42 AM on Tuesday."
๐Ÿ›ก๏ธ
Attendance Points Owner + Manager
Point-based attendance tracking with 6-month rolloff. Auto-creates Written Warnings at 6/9/12 point thresholds.

The Point System

Each attendance event has a point value:

  • Late (under 15 min) โ€” 0.5 points
  • Late (15+ min) โ€” 1 point
  • Left early โ€” 1 point
  • Callout (with notice) โ€” 1 point
  • Callout (no notice) โ€” 2 points
  • No-show โ€” 3 points

Rolloff

Points roll off after 6 months from the date they were earned. So a driver who got 3 points in January will see those drop off in July.

Tier Thresholds

  • Good (0โ€“3 points) โ€” Green
  • Watch (3.5โ€“5.5 points) โ€” Yellow
  • Warning (6+ points) โ€” Auto-creates a Written Warning
  • Final Warning (9+ points) โ€” Auto-creates a stronger Written Warning
  • Termination Recommended (12+ points) โ€” Top-severity warning auto-issued

Logging an Event

From the Attendance page, click + Log Attendance Event:

  1. Pick driver.
  2. Pick event type (above list).
  3. Set date.
  4. Optional: notes (why, context).
  5. Save โ†’ driver is notified, points auto-update, warning auto-created if threshold crossed.
๐Ÿ’ก Tip: Drivers see their own attendance history on their profile (read-only). Transparent point tracking reduces disputes.
โš ๏ธ
Written Warnings Owner + Manager
Formal corrective documentation. Auto-generated from attendance and scorecard tier drops, or manually issued.

Two Sources

  • Auto-generated โ€” Triggered by attendance thresholds (6/9/12 points), scorecard drops to Poor, or repeat incidents.
  • Manual โ€” You issue one for behavioral issues, customer complaints, dress code, etc.

Severity Levels

  • Verbal โ€” Documented coaching, no signature required.
  • Written โ€” Standard formal warning.
  • Final โ€” Last chance before termination.

Driver Acknowledgment

Drivers see warnings on their profile and can acknowledge them. Acknowledgment is logged with timestamp + IP address โ€” equivalent to a digital signature.

โš ๏ธ Legal compliance: Written warnings are part of your termination defense. Always include specific dates, behaviors, and corrective expectations.
๐Ÿšจ
Incidents Owner + Manager
Log accidents, customer complaints, vehicle damage, safety events. Photo attachments supported.

What Counts as an Incident?

  • Vehicle accidents (any contact, even minor).
  • Property damage (mailbox, garage, fence).
  • Injury to driver or others.
  • Customer complaints requiring investigation.
  • Stolen package reports.
  • Aggressive behavior incidents.

Logging an Incident

  1. Click + Log Incident.
  2. Pick driver involved.
  3. Select category (accident, customer complaint, etc.).
  4. Set severity: Low / Medium / High / Critical.
  5. Date and time.
  6. Detailed description (what happened, who reported, witnesses).
  7. Attach photos if available.

Status Tracking

Incidents have a status:

  • Open โ€” Just logged, awaiting investigation.
  • Investigating โ€” In progress.
  • Resolved โ€” Closed with outcome documented.
๐Ÿ’ก Tip: Even minor incidents should be logged. Patterns (e.g., the same driver having multiple "minor" backings) reveal larger issues over time.
โœ…
Approvals Owner + Manager
Driver-uploaded documents waiting for your review (license renewals, MVR clearances, certifications).

What Drivers Upload

  • Updated driver's license (after renewal).
  • Medical card / DOT physical.
  • MVR clearance documentation.
  • Training certificates.
  • Custom request documents.

Review Workflow

  1. Sidebar Approvals badge shows pending count.
  2. Click Approvals โ†’ see queue with thumbnails.
  3. Click any item โ†’ full preview, driver details, document.
  4. โœ… Approve โ€” Document accepted, driver record updated, audit logged.
  5. โŒ Reject โ€” Reason required (driver sees this), driver re-uploads.
๐Ÿ’ก Tip: Set up notification rules so a manager handles approvals for license/MVR docs while you handle financial/banking docs.
๐Ÿš—
MVR Checks Owner + Manager
Quarterly Motor Vehicle Record (MVR) check tracking. Required by Amazon and DOT for active drivers.

Why MVR Matters

Amazon requires DSPs to run MVR checks at least every 90 days on every active driver. Failing to comply puts your contract at risk and creates legal exposure if a driver with a suspended license is involved in an accident.

How DSPro Helps

DSPro tracks the date you last ran an MVR for each driver. The Dashboard shows a banner when MVRs are due:

  • Severely Overdue (180+ days) โ€” Red, urgent.
  • Overdue (90+ days) โ€” Red.
  • Due Soon (60+ days) โ€” Orange.
  • Never Run โ€” Grey, needs first check.

Logging MVR Runs

Two ways:

  • Per-driver โ€” Open driver profile โ†’ MVR card โ†’ "โœ“ Mark Run Today".
  • Bulk CSV import โ€” Upload a CSV from Samba Safety, DMV portal, etc. DSPro matches drivers by name/ID and updates last_mvr_check_at + flags any with status issues (suspended/revoked).
๐Ÿ’ก Enterprise option: Samba Safety integration for fully automated MVR pulls is available in DSPro Enterprise. Contact us for pricing.
๐Ÿ“‹
Renewals Owner + Manager
Track upcoming renewals: van registrations, driver licenses, medical cards, certifications.

What's Tracked

  • Van registration expiration (auto from fleet data)
  • Driver's license expiration (auto from driver profiles)
  • DOT medical cards
  • Rental van return dates
  • Custom renewal items you add

Lookahead Windows

Renewals page shows everything due in the next 60 days, color-coded:

  • Red โ€” Overdue or expiring today
  • Orange โ€” Due in 14 days
  • Yellow โ€” Due in 30 days
  • Grey โ€” Due in 60 days

๐Ÿ“Š Quick Filter Tiles (NEW)

The four summary tiles at the top of the Renewals page are now clickable filters. Click any tile to filter the calendar below to that window:

  • Past Due โ€” Show only items already overdue
  • Next 30 Days โ€” Show only items due in 30 days
  • Next 60 Days โ€” Show only items due in 60 days
  • Total Tracked โ€” Show everything (default state)

The active tile gets a blue outline. Click the same tile again to deselect, or click Total Tracked to clear all filters.

๐Ÿ’ฌ
Messages All Roles
In-app messaging between owner, managers, and drivers. Bulk announcements + 1:1 chats.

Message Types

  • Announcements โ€” Send to all drivers at once. Pinned to top of their inbox.
  • Group messages โ€” Send to a filtered subset (e.g., all Fantastic+ drivers, or all working tomorrow).
  • 1:1 chats โ€” Private conversations with individual drivers.

Notifications

New messages trigger a red badge in the sidebar. Drivers also get an in-app notification when they next open DSPro.

๐Ÿ“œ
Activity Log Owner Only
Complete audit trail of every action taken in DSPro by you or your managers.

What's Logged

  • Document approvals/rejections
  • Schedule changes (publishing, shift swaps)
  • License status changes
  • MVR runs (per-driver and bulk)
  • Hire date setting
  • Attendance event logging + threshold crossings
  • Bulk operations (invites, CSV imports)

Each Entry Shows

  • Who did it (owner or specific manager).
  • What action.
  • Which driver/object affected.
  • When (timestamp).
  • Revert button (where reversible).

Search

Search bar filters by driver name, action type, or actor name. Use this to investigate disputes ("when did this driver get marked as suspended?").

๐Ÿ‘ค
Team & Access Owner Only
Invite managers, set their permissions, manage who has access to what.

Inviting a Manager

  1. Click + Invite Manager.
  2. Enter their full name + email.
  3. Select permissions:
    • Add drivers
    • Upload scorecards
    • Log incidents
    • Send messages
    • Delete records
    • Manage team (invite other managers โ€” usually off)
  4. Send invite โ€” they get an email to set their password.

Manager Mode

When a manager logs in, they see a purple "๐Ÿ”ง ACTING AS MANAGER" badge in the sidebar so they always know what role they're in.

Inviting a Driver

Drivers get DSPro access via the same invite system, but the workflow is on the driver's profile (not Team & Access).

  1. Drivers tab โ†’ click the driver's name to open their profile
  2. Click Send Invite to DSPro
  3. The email field is pre-filled from the driver's record. Confirm or edit, then click Send invite to email
  4. The driver gets an email titled "[DSP Name] invited you to DSPro" with an "Accept Invitation" button
  5. They click โ†’ set their password โ†’ land on their driver dashboard

Re-sending an invite generates a fresh link โ€” useful if the driver lost their first email or the link expired.

๐Ÿ”ง Repair Invite Link (NEW)

Sometimes a driver clicks their invite link and sets a password but gets stuck on the "Welcome โ€” set a password" screen, OR logs in and the app shows them as DSP Owner instead of Driver. This happens when the driver's auth account got created but didn't link properly to their driver record.

How to fix:

  1. Drivers tab โ†’ click the affected driver โ†’ Send Invite to DSPro
  2. If the invite is stuck, you'll see a yellow status panel with a ๐Ÿ”ง Repair Link button
  3. Click ๐Ÿ”ง Repair Link โ†’ confirm
  4. A prompt asks for the driver's auth user ID. Find it:
    • Open Supabase Dashboard โ†’ your project
    • Left sidebar โ†’ Authentication โ†’ Users
    • Search for the driver's email
    • Click their row โ†’ copy the User UID (long UUID string)
  5. Paste the UID into the prompt โ†’ click OK
  6. Toast confirms "โœ… Invite link repaired"
  7. Driver can now log in normally with the password they set
๐Ÿ’ก When you'd use this: If a driver tells you "I clicked the link and set my password but it keeps asking me to set a new password" or "I'm logged in but I can't see My Schedule" โ€” that's the stuck-invite state. Repair Link fixes it without needing to re-invite or reset.
โš ๏ธ Once repaired, the driver should log out and log back in in a clean window so their session picks up the corrected role.
๐ŸŽฏ
Performance Thresholds Owner Only
Customize the cutoffs that determine each driver's tier per metric.

Defaults match Amazon's published WTN2 station values. Adjust to match what your DSP has configured in the Amazon Logistics Portal so DSPro and Amazon agree.

Tier Order

  • โญ Fantastic+ (best)
  • ๐Ÿ† Fantastic
  • ๐Ÿ‘ Great
  • โš ๏ธ Fair
  • ๐Ÿšจ Poor

Per-Metric

Set thresholds for each scorecard metric: DC DPMO, DAR, POD, Contact Compliance, Speeding, Distractions, Following Distance, Sign Violations, etc.

๐Ÿ’ณ
Billing Owner Only
Manage your DSPro subscription, payment methods, plan tier.

Your current plan, next billing date, and payment method are all on the Billing page.

Plan Tiers

  • Starter โ€” Up to 25 drivers
  • Professional โ€” Up to 60 drivers + manager seats
  • Enterprise โ€” Unlimited drivers + Samba Safety integration + priority support

Upgrading or Downgrading

Plan changes take effect immediately. Pro-rated billing on the next invoice.

๐Ÿ”’
Security & Legal Owner Only
How DSPro protects your data, privacy controls, terms of service.

Data Protection

  • All data encrypted at rest and in transit (TLS 1.3).
  • Database hosted on enterprise-grade infrastructure (Supabase / AWS).
  • Role-based access control โ€” drivers can't see other drivers' data.
  • Daily automated backups with 30-day retention.

Your Rights

  • Export all your data anytime (CSV downloads on every page).
  • Delete your account and all associated data โ€” irreversible.
  • Driver data is YOUR data โ€” Amazon doesn't get a copy.
โšก
AI Weekly Coaching Briefs Owners Only
Every Monday, Claude analyzes your fleet and writes personalized coaching briefs for every driver who needs attention โ€” saving you 1โ€“2 hours of prep work.

What It Does

AI Weekly Coaching Briefs lives on your Dashboard (the blue gradient widget under your top stats). Click โšก Regenerate Briefs and Claude reads each driver's safety score, quality score, DCR, POD, attendance, and any open incidents โ€” then writes a short coaching paragraph for each one explaining:

  • What they did well this week (lead with the positive)
  • The single biggest thing they need to fix
  • The specific metric or behavior driving their tier
  • Whether they're trending up or down vs. last week

The brief is written in your voice โ€” direct, no jargon, focused on what the driver should DO next week, not just what happened last week.

โœ… Time saved โ€” Owners report 1โ€“2 hours of Monday prep work saved every week. AI does the synthesis; you do the coaching conversation.

How to Generate Briefs

  1. Open Dashboard โ€” the blue gradient widget is visible to owners only (scroll down a bit past the top stat cards).
  2. Pick a week โ€” defaults to the most recent week with scorecard data. You can run briefs for any past week.
  3. Pick who to analyze โ€” three filters:
    • Needs attention (Bronze + incidents) โ€” most common. Just the drivers who need coaching this week.
    • All drivers โ€” every active driver, including your stars (good for end-of-quarter reviews).
    • Specific tier โ€” drill into one tier at a time (e.g., everyone at Great who almost made Fantastic).
  4. Click โšก Regenerate Briefs โ€” Claude processes 5โ€“10 drivers in parallel. Takes 30โ€“90 seconds depending on fleet size.
  5. Review the briefs โ€” each driver gets a card with their name, current tier badge, and the coaching paragraph.

What to Do With the Briefs

Two ways to act on a brief:

  • Per-driver โ€” Send Coaching button โ€” sends the brief to the driver as an in-app message + SMS (if their phone is on file). Driver sees it on their phone before next shift.
  • Bulk Actions โ€” Coach (N) / Check-in (N) โ€” sends all generated briefs at once. Useful Monday morning when you want every driver to see their brief before they roll out.
๐Ÿ’ก Monday morning ritual โ€” Generate briefs at 6:00 AM, click Coach (all) at 6:05 AM. Every driver wakes up to a personalized coaching note before their first stop. Owners who do this consistently see tier improvements within 4โ€“6 weeks.

Stop Button

If a generation run is taking too long or pulling the wrong drivers, click ๐Ÿ›‘ Stop. The job halts immediately. Briefs already generated stay; the rest are dropped.

Brief History

Past briefs are preserved on each driver's profile under Coaching History. You can scroll back through weeks and see what you sent โ€” useful for performance reviews or when defending a termination decision.

Privacy & Cost

  • Driver names, scorecard metrics, and incident summaries are sent to Anthropic's API for analysis. No photos, no SSN, no payroll data.
  • Anthropic does not retain customer data submitted via API for training. See Anthropic's privacy policy.
  • Average cost per brief: ~$0.01โ€“0.02. A 60-driver fleet costs roughly $1โ€“2 per weekly generation.
  • Edge Function: clever-worker โ€” same gateway as other AI features.
โš ๏ธ The brief is a starting point, not the script โ€” Claude writes the analysis; you deliver the coaching. Read each brief before sending. If something feels off (driver had a death in the family, a misread metric, etc.), edit or skip it. The AI doesn't know context you do.

Troubleshooting

  • Brief is empty or generic โ€” driver doesn't have enough weekly scorecard data yet. Upload at least one Amazon weekly scorecard PDF first.
  • Wrong driver shown โ€” check the "Who to analyze" filter. "Needs attention" only includes Bronze drivers or those with open incidents.
  • Generation hangs โ€” click Stop, refresh the page, try again. If it keeps failing, the Anthropic API may be having a hiccup.
  • Driver didn't get the message โ€” verify their phone number is on file. Check Activity Log for the send event.
๐Ÿค–
AI Features Owner + Manager
Anthropic-powered tools for damage detection, document scanning, and scorecard parsing. All AI calls run server-side via Supabase Edge Functions.

Why Server-Side?

Every AI feature in DSPro routes through a Supabase Edge Function โ€” never directly from the browser. This keeps the Anthropic API key in Supabase secrets where the user can't see or steal it. If you ever want to disable an AI feature, you can flip it off at the Edge Function level without touching the front-end.

โœ… Security โ€” The Anthropic key lives in Supabase secrets, accessed only by Edge Functions. The browser never sees it.

๐Ÿ“ท Van Damage Detection

Edge Function: compare-inspection-photos

  • Triggers automatically when a fresh 4-photo van inspection is uploaded.
  • Pulls the previous 4 photos for the same van.
  • Sends all 8 photos to Claude with a prompt asking it to flag new damage.
  • Stores the AI's findings on the inspection record.
  • Surfaces alerts in the Fleet Pictures section (and dashboard widget โ€” coming deploy 337+).

๐Ÿš VIN Scanner

When adding or editing a van, owners/managers can snap a photo of the VIN plate or registration. The AI reads the 17-character VIN and auto-fills the field โ€” no typing.

๐Ÿ†” Driver License Scanner

When onboarding a new driver, the owner can photograph the front of the driver's license. The AI extracts: full name, DL number, expiration date, address. Pre-fills the driver record. Owner reviews and confirms before saving.

โš ๏ธ Always verify โ€” AI extraction is fast but not perfect. Confirm the DL number and expiration date by eye before saving โ€” these flow into MVR check schedules.

๐Ÿ“Š Scorecard PDF Parser

When uploading the official Amazon weekly scorecard PDF, DSPro uses PDF.js to extract the text, then Claude to interpret it โ€” pulling out per-driver Safety, Quality, Team, and Fleet metrics, plus the station-level rank/tier. The structured data lands in the amazon_* columns on each driver record so the leaderboard and bonus calculator can use it.

๐Ÿ’ก PDFs change format โ€” Amazon revises the scorecard layout occasionally. If a parse fails, the raw PDF is still saved and you can re-import after the parser is updated.

API Limits & Cost

  • All AI calls bill against the Anthropic key configured in Supabase secrets.
  • Damage detection (8-photo comparison) is the most expensive operation per call.
  • VIN and DL scans are cheap โ€” single photo, short response.
  • Scorecard parses run once per weekly upload.
โš ๏ธ AI is a helper, not the truth โ€” Always have a human review AI output before taking employment, financial, or disciplinary action. The AI is fast and consistent, but it can hallucinate or misread; treat it as a first pass, not the final answer.
๐Ÿš—
Driver Experience Reference
What your drivers see when they log into DSPro.

Driver Sidebar

Drivers see only 3 sidebar items:

  • My Profile โ€” Their scorecard, attendance, license, MVR status, documents, warnings, and clock-in card.
  • My Schedule โ€” Their published shifts only (not the whole roster).
  • Time Clock โ€” Big clock-in card + their own time entries.

What Drivers CAN'T See

  • Other drivers' performance data (only their own + leaderboard top 10 anonymized).
  • Owner/manager admin pages (Team, Billing, Settings, etc.).
  • Other drivers' incidents or warnings.
  • Pay rates, financial info.

What Drivers CAN Do

  • Acknowledge their schedule, decline shifts, request changes.
  • Upload documents (license renewals, etc.) for approval.
  • Acknowledge written warnings.
  • Send/receive messages with you and managers.
  • Clock in/out from station (geofenced).
โ“
FAQ & Troubleshooting All Roles
Common questions and quick fixes.

A driver can't log in

  1. Confirm they accepted their invite (check Team & Access โ€” invite status).
  2. Have them try password reset from the login page.
  3. If still failing, you can resend an invite from their driver profile.

Driver clock-in says "out of range"

  1. Check Station Setup โ†’ confirm coordinates are saved (lat/lng visible).
  2. Driver should be physically at the station with location enabled on their phone.
  3. If station radius is small (e.g., 200ft), drivers in the parking lot may be just outside. Increase radius.

Scorecard upload didn't match a driver

  1. Check the unmatched list shown after upload.
  2. Most common: name spelling mismatch (e.g., "Mike" vs "Michael" on Amazon's side).
  3. Update the driver's name in DSPro to match exactly, then re-upload.

Hire date import shows 0 matches

  1. CSV must have either driver_id or full_name column.
  2. Names must match drivers in your roster exactly.
  3. Date format: YYYY-MM-DD (e.g., 2024-03-15).

I issued a warning by mistake

Open the warning, click Edit, mark as Voided. Reason is logged in the audit trail.

How do I reset my own password?

From the login page, click "Forgot password?". A reset link is emailed to your registered email.

Can I export everything?

Yes. Most pages have a "๐Ÿ“ฅ Export CSV" button. Time clock entries, scorecard history, attendance events, drivers list โ€” all exportable.

I uploaded the wrong file to a tile in the Upload Station โ€” did I break anything? (NEW)

No. Files are routed by content detection, not the tile you dropped them on. If you drop a Customer Feedback CSV onto the POD Rejects tile, DSPro reads the headers, recognizes it as Customer Feedback, and routes correctly. The tile is just an instruction-display โ€” the parser does the actual work.

Why is my driver showing as "Fair โ†“ from Fantastic" with a strikethrough? (NEW)

Either:

  • Tier capping is enabled and the driver's lowest category score (Safety, Quality, or Customer Feedback) brought them below their Overall tier โ€” the strikethrough shows their original Amazon tier
  • You manually overrode their tier via the editor menu โ€” click their editor button โ†’ Override Tier to clear it

Why doesn't the Swap Rank feature work? (NEW)

Likely because per-driver Amazon ranks haven't been published or imported. Click ๐Ÿ”ข Bake Ranks at the top of the Scorecards Week page first โ€” that anchors the current sort order as ranks. Then Swap Rank works cleanly.

I locked a driver's phone, but it still got overwritten. Why? (NEW)

Two things to check:

  • Did you click Save in the edit modal after toggling the lock? The pill state alone doesn't persist until you save.
  • Is the pill showing ๐Ÿ”’ Locked (amber) or still ๐Ÿ”“ Auto (gray)? Only Locked is protected from CSV overwrites.

The amber "X drivers not in latest roster CSV" banner won't go away. (NEW)

You need to resolve each flagged driver. Click Review โ†’ on the banner โ†’ for each driver, click either Mark Inactive (they really left) or Still Active (just clears the flag). Once the list is empty, the banner disappears.

The Negative Customer Feedback tile shows zero but I have negative feedback uploaded. (NEW)

The tile shows the latest week with data count. If your last upload was Week 17 and you're early in Week 18, it'll show the Week 17 totals. If it shows 0, either:

  • You haven't uploaded any Customer Feedback CSV yet (use the ๐Ÿ’ฌ tile in Upload Station)
  • Your most recent week genuinely had zero complaints (great job!)

A driver clicked their invite link but they're stuck or showing as Owner. (NEW)

Use the ๐Ÿ”ง Repair Link button on the driver's invite modal. Drivers tab โ†’ driver's profile โ†’ Send Invite to DSPro โ†’ if you see a yellow "stuck invite" panel, click Repair Link. See the Team & Access manual section for full step-by-step.

Need more help?

Email support@dsproapp.com for direct help. Include: your DSP name, what you were trying to do, and a screenshot if applicable.

๐Ÿ”’
Your data is safe with DSPro
Built on enterprise-grade infrastructure. Your driver data is encrypted, isolated, and never shared. We take security seriously so you can focus on running your fleet.
๐Ÿ—๏ธ
Enterprise Infrastructure
Powered by Supabase โ€” SOC 2 Type 2 certified, trusted by Mozilla, PwC, and thousands of companies worldwide.
๐Ÿ”
Data Isolation
Row-level security ensures your drivers, warnings, and inspections are only visible to you. No other DSP can ever access your data.
๐Ÿ”‘
Encrypted Everywhere
All data is encrypted in transit (HTTPS/TLS) and at rest. Passwords are hashed and salted โ€” never stored in plain text.
๐Ÿ‘ฅ
Role-Based Access
Owners, managers, and drivers each see only what they need. You control who has access and what they can do.
๐Ÿšซ
No Amazon Credentials
DSPro never connects to Amazon or stores your Amazon login. You simply upload a CSV export โ€” nothing more.
๐Ÿ“ต
No Data Selling
We never sell, share, or monetize your data. Your fleet information is yours โ€” period. No ads, no third-party sharing.
๐Ÿ“„ Privacy Policy
Effective: January 1, 2025

DSPro ("we," "us," or "our") is committed to protecting the privacy of our customers and their employees. This Privacy Policy explains how we collect, use, and protect information when you use the DSPro platform at dsproapp.com.

1. Information We Collect

Account Information: When you sign up, we collect your name, email address, and company information.

Driver & Fleet Data: You provide driver names, performance scores, schedules, van information, inspection records, and written warnings. This data belongs to you.

Usage Data: We may collect basic usage analytics (pages visited, features used) to improve the platform.

Payment Information: Billing is handled entirely by Stripe. DSPro never stores your credit card number or payment details.

2. How We Use Your Information

โ€ข To provide, maintain, and improve the DSPro platform

โ€ข To process your subscription and send billing-related communications

โ€ข To respond to support requests and customer service inquiries

โ€ข To send product updates and feature announcements (you may opt out at any time)

3. Data Sharing

We do not sell, rent, or share your data with third parties for marketing purposes. We use Supabase for database hosting and Stripe for payment processing. Both are bound by strict data processing agreements. We may disclose information if required by law or to protect our legal rights.

4. Data Security

We use industry-standard encryption (TLS/HTTPS) for all data in transit. Data at rest is encrypted on SOC 2 Type 2 certified infrastructure. Access is controlled by row-level security policies that ensure your data is isolated from all other customers.

5. Data Retention

Your data is retained for as long as your account is active. If you cancel your subscription, your data is retained for 30 days and then permanently deleted upon request. You may request data deletion at any time by contacting us at support@dsproapp.com.

6. Your Rights

You have the right to access, correct, or delete your personal data at any time. Contact us at support@dsproapp.com to exercise these rights.

7. Contact

For privacy questions, contact us at support@dsproapp.com.

๐Ÿ“‹ Terms of Service
Effective: January 1, 2025

By accessing or using DSPro, you agree to be bound by these Terms of Service. Please read them carefully.

1. Use of the Platform

DSPro is a fleet and driver management platform designed for Amazon Delivery Service Partners. You agree to use the platform only for lawful purposes and in accordance with these Terms. You are responsible for maintaining the confidentiality of your account credentials and for all activity that occurs under your account.

2. Subscription & Payment

โ€ข Subscriptions are billed monthly via Stripe.

โ€ข A 45-day free trial is available for new accounts. No credit card is required to start.

โ€ข You may cancel at any time. Cancellation takes effect at the end of the current billing period.

โ€ข We reserve the right to change pricing with 30 days notice.

3. Your Data

You own all data you input into DSPro. We do not claim any ownership over your driver data, inspection records, or fleet information. You grant us a limited license to store and process your data solely for the purpose of providing the platform services.

4. Acceptable Use

You agree not to:

โ€ข Use DSPro for any unlawful purpose or in violation of any regulations

โ€ข Attempt to gain unauthorized access to other customers' data

โ€ข Reverse engineer, decompile, or attempt to extract the source code

โ€ข Use the platform to store or transmit malicious code

5. Disclaimer of Warranties

DSPro is provided "as is" without warranty of any kind. We do not guarantee that the platform will be error-free or uninterrupted. We are not affiliated with Amazon and DSPro is an independent third-party tool.

6. Limitation of Liability

To the maximum extent permitted by law, DSPro shall not be liable for any indirect, incidental, or consequential damages arising from your use of the platform. Our total liability shall not exceed the amount you paid in the 3 months preceding the claim.

7. Governing Law

These Terms are governed by the laws of the State of Florida, without regard to conflict of law principles.

8. Contact

Questions about these Terms? Contact us at support@dsproapp.com.

๐Ÿ”’ Security questions?
Contact us directly โ€” we take every security concern seriously and respond within 24 hours.
โš ๏ธ Delete account
Permanently delete your DSPro account and the data associated with it. For DSP owners this also removes your roster, schedules, scorecards, inspections, and other records. This is permanent and cannot be undone.
๐Ÿ“ Station Setup
โฑ๏ธ Today's Clock-Ins
โ€”
๐Ÿ“Š This Week โ€” Hours by Driver
๐Ÿ“ฆ Package Reports
โ€”
How this works: These cutoffs determine which tier (Fantastic+ / Fantastic / Great / Fair / Poor) each driver earns for each metric. Defaults match Amazon's published WTN2 station values. Adjust them here to match what your DSP has configured in the Amazon Logistics Portal โ†’ Settings โ†’ DA Performance Thresholds page so DSPro and Amazon agree.

Tier order: โญ Fantastic+ (best) โ†’ ๐Ÿ† Fantastic โ†’ ๐Ÿ‘ Great โ†’ โš ๏ธ Fair โ†’ ๐Ÿšจ Poor
๐Ÿ… Driver Tier Display Style
Choose how individual driver tiers display in DSPro. Amazon uses different labels in different places:
  • DSP Scorecard uses Fantastic+ / Fantastic / Great / Fair / Poor (default)
  • Driver Recognition Center (driver-facing app) uses Platinum / Gold / Silver / Bronze
Pick whichever matches what your drivers see in their Amazon app. This only affects display labels โ€” the underlying scoring is identical.
๐Ÿ“ฆ Minimum Package Count for Rankings
Drivers who delivered fewer packages than this count won't appear in the Leaderboard rankings. They still appear in your Drivers list โ€” just flagged as Low Volume so a part-time driver with 80 packages doesn't outrank a full-time driver with 900 packages on a small sample size.

This matches the same filter Amazon uses for driver-facing ranks. Set to 0 to disable filtering.
CURRENT PLAN
Loadingโ€ฆ
Loading...
โ€”
per month
๐Ÿ’ฐ
Flat rate โ€” no per-driver fees, ever.
Hire 10 drivers or 100 โ€” same price. DSP Workplace charges per driver and bills more as you grow. DSPro never does.
You save $50+/mo ๐ŸŽ‰
Starter
$199/mo
Up to 25 drivers
โœ… Driver scorecards & CSV import
โœ… Safety & quality score tracking
โœ… Amazon CSV scorecard import
โœ… Driver scheduling
โœ… Written warnings & e-signatures
โœ… Van inspections with photos
โœ… Leaderboard & driver rankings
โœ… Incident logging & alerts
โœ… Dark mode
โ€” In-app messaging
โ€” Bonus & points system
โ€” Daily dispatch board
โญ MOST POPULAR
Professional
$349/mo
Up to 60 drivers
โœ… Everything in Starter
โœ… In-app team messaging with photo sharing
โœ… Pre-built team channels (9 channels)
โœ… Start/End of Shift check-in forms
โœ… Bonus & points system with leaderboard
โœ… Daily dispatch board
โœ… Labor cost & overtime tracking
โœ… Time off requests & approvals
โœ… Team & role management
โœ… Real-time incident alerts (in-app + email)
โœ… AI van damage comparison
โœ… VIN barcode scanner
โœ… Bulk van fleet import
โœ… SMS incident alerts
โœ… Priority support
Enterprise
$549/mo
Unlimited drivers
โœ… Everything in Pro
โœ… Unlimited drivers & vans
โœ… Multi-location / multi-DSP support
โœ… Custom onboarding call
โœ… Dedicated account manager
โœ… Early access to new features
โœ… Phone & chat support
โœ… Custom integrations (ADP, payroll, etc.)
โœ… White-label branding option
โœ… SLA guarantee
All plans include a 45-day free trial โ€” no credit card required. Cancel anytime. Even our highest tier ($549) beats DSP Workplace's per-driver pricing for fleets over 40 drivers.
โœ… Every Plan Includes
๐Ÿš Flat rate โ€” no per-driver fees ever
๐Ÿ“Š Amazon scorecard CSV import
๐Ÿ›ก๏ธ Safety, quality & attendance tracking
๐Ÿ“… Driver scheduling with drag & drop
๐Ÿ” Van inspections with 4-photo requirement
๐Ÿค– AI van damage comparison
โš ๏ธ Written warnings & in-person e-signatures
๐Ÿ‘ฅ Team & role-based access
๐Ÿ“‹ Incident & coaching logs
๐Ÿ† Leaderboard & driver rankings
๐Ÿ’ฌ Team messaging with photo sharing
๐Ÿšฆ Start/End of Shift check-in forms
๐Ÿ”” Real-time incident alerts (in-app + SMS)
๐ŸŒ™ Dark mode
๐Ÿ“ฑ iPhone & Android optimized
๐Ÿ’ณ Billing Details
๐Ÿ”“
Start Your Free Trial
30 days free โ€” no credit card required to start. Cancel anytime.
๐Ÿ“Š Why DSPro?
๐Ÿ’ฐ $50/mo cheaper than DSP Workplace โ€” and you get MORE features, instantly, no approval needed.
Sign up now and you're running in minutes. No waiting. No hidden fees. No per-driver pricing.
Feature โญ DSPro DSP Workplace ManageMyDSP
Monthly Price $349/mo flat $250+/mo โฌ†๏ธ Hidden pricing
Instant Signup โœ… Start in minutes โŒ Approval required โŒ 24hr wait
Works on iPhoneโœ…โœ…โŒ
Amazon CSV Importโœ… InstantโŒโŒ
Driver Schedulingโœ…โœ…โœ…
Written Warningsโœ…โœ…โœ…
Fleetโœ…โœ…โœ…
Free Trialโœ… 30 daysโœ… 30 daysโŒ
In-App Messaging + Photosโœ…โŒโŒ
Start/End of Shift Formsโœ…โŒโŒ
AI Van Damage Comparisonโœ…โŒโŒ
Real-Time SMS Alertsโœ…โŒโŒ
Bonus & Points Systemโœ…โŒโŒ
Daily Dispatch Boardโœ…โŒโŒ
Labor Cost Trackingโœ…โŒโŒ
VIN Barcode Scannerโœ…โŒโŒ
Less money. More features. Start today. ๐Ÿš€
๐Ÿ‘‘ Owner
You
Full access
โ„น๏ธ Permission Levels
๐Ÿ‘‘ Owner โ€” Full access, billing, team management
๐Ÿ”ง Manager โ€” View all drivers, log incidents, coaching
๐Ÿ‘ค Driver โ€” View own profile and scores only
Team Members
๐Ÿ‘ฅ
No team members yet

Invite managers or drivers to join