Dashboard — Active Live
9:41
D2D Fleet
8
Reps
5
Active
47
Doors
12
Sales
Add Rep
New Territory
Leaderboard
Active Routes
View Reps ›
MR
Marcus Rodriguez
12 doors · 4 sales today
Active
JW
Jake Wilson
8 doors · 2 sales today
Traveling
SC
Sarah Chen
15 doors · 3 sales today
Active
Territories
View All ›
Downtown Akron
3 reps · 245 doors
Active
Cuyahoga Falls
2 reps · 180 doors
Saturated
Fleet PerformanceTeams with 5+ active reps see 3x higher territory conversion rates.

D2DDashboard — stats, active routes, territories

useQuery(api.d2d.queries.getRepsByContractor)

Dashboard — Empty
9:41
D2D Fleet
No D2D Reps Yet
Add your first door-to-door rep to start tracking territory coverage and sales.

Empty state with clear CTA to add first rep.


Territory List Live
9:41
Territories
All
Active
Saturated
Resting
Downtown Akron
3 reps · 245 doors · 12.4% conversion
Active
Cuyahoga Falls
2 reps · 180 doors · 9.2% conversion
Saturated
Stow & Hudson
1 rep · 320 doors · 15.1% conversion
Active
Kent & Ravenna
0 reps · 410 doors · 0% conversion
Resting
Territory StatusSaturated territories have been fully canvassed. Rest them for 60 days before revisiting.

TerritoryList — filterable by status

useQuery(api.d2d.queries.getTerritoriesByContractor)

Territory Detail Live
9:41
Downtown Akron
245
Doors
12.4%
Conversion
3
Reps
Territory Map
Assigned Reps
MR
Marcus Rodriguez
87 doors · 18.3% conversion
Active
JW
Jake Wilson
92 doors · 8.7% conversion
Active
SC
Sarah Chen
66 doors · 10.6% conversion
Active

TerritoryDetail — stats, map, assigned reps

useQuery(api.d2d.queries.getTerritoryById)

Create Territory — Zips
9:41
Create Territory
TERRITORY NAME
Lakewood East
BOUNDARY TYPE
Polygon
Zip Codes
ZIP CODES
44107, 44102, 44111
Pro TipGroup zip codes by neighborhood for better canvassing efficiency.

TerritoryCreate — zip codes boundary mode

useMutation(api.d2d.mutations.createTerritory)

Create Territory — Polygon
9:41
Create Territory
TERRITORY NAME
Highland Square
BOUNDARY TYPE
Polygon
Zip Codes
Polygon boundaries can be drawn on the map after creation.
Polygon ModeDraw precise boundaries on the map to define custom canvassing zones.

TerritoryCreate — polygon boundary mode

useMutation(api.d2d.mutations.createTerritory)

Territory — Door Breakdown
9:41
Downtown Akron
Active Zip Codes 44301, 44302, 44304
245
Total Doors
178
Knocked
72.7%
Penetration
Door Status Breakdown
Sold
31
Interested
42
Contacted
28
Declined
19
Attempted
58
Not Visited
67
Assigned Reps (3)
MR
Marcus Rodriguez
marcus@company.com
Active
JW
Jake Wilson
jake@company.com
Active
SC
Sarah Chen
sarah@company.com
Active

TerritoryDetail — door status breakdown with color dots

useQuery(api.d2d.queries.getTerritoryStats)


Rep List Live
9:41
D2D Reps
All
Active
Onboarding
Inactive
MR
Marcus Rodriguez
Downtown Akron · 18.3% conversion
Active
JW
Jake Wilson
Cuyahoga Falls · 8.7% conversion
Active
SC
Sarah Chen
Stow & Hudson · 15.1% conversion
Active
TN
Tyler Nguyen
Unassigned · Day 3 of onboarding
Onboarding
Rep StatusOnboarding reps complete training before being assigned to territories.

RepList — filterable by status

useQuery(api.d2d.queries.getRepsByContractor)

Rep Detail Live
9:41
Marcus Rodriguez
MR
Marcus Rodriguez
Downtown Akron
Active
87
Doors
18.3%
Conversion
16
Sales
Today
Doors Knocked12
Appointments Set4
Sales Closed2

RepDetail — profile, stats, daily activity

useQuery(api.d2d.queries.getRepById)

Add Rep
9:41
Add Rep
NAME *
Marcus Rodriguez
EMAIL *
marcus@company.com
PHONE *
(330) 555-0147
LINK TO TEAM MEMBER *
Marcus Rodriguez
ASSIGN TERRITORY (OPTIONAL)
Select territory...

RepCreate — name, email, phone, team link, territory

useMutation(api.d2d.mutations.createRep)

Rep — Full Profile
9:41
Marcus Rodriguez
Marcus RodriguezActive
marcus@company.com
(330) 555-0147
This Week
42
Doors
6
Sales
14.3%
Conversion
8
Appts
11
Interested
14
Not Home
All Time
487
Doors
72
Sales
$18.4K
Revenue
Today’s Route
Active12 doors knocked
Sales: 4  ·  Appts: 2
Distance: 3.2 km  ·  Active: 184 min
Actions
ASSIGN TO TERRITORY
Select territory...

RepDetail — full profile, weekly/all-time stats, route, actions

useQuery(api.d2d.queries.getRepStats)

Rep — Onboarding
9:41
Tyler Nguyen
Tyler NguyenOnboarding
tyler@company.com
(330) 555-0293
This Week
0
Doors
0
Sales
0%
Conversion
Today’s Route
No route today
Actions
ASSIGN TO TERRITORY
Select territory...

RepDetail — onboarding state with activate CTA

useMutation(api.d2d.mutations.activateRep)


Leaderboard Live
9:41
Leaderboard
Doors
Sales
Conversion
This Week
This Month
All Time
SC
Sarah Chen
Stow & Hudson
156
MR
Marcus Rodriguez
Downtown Akron
142
JW
Jake Wilson
Cuyahoga Falls
98
4
DP
Derek Patel
Downtown Akron
76
5
AL
Amy Lee
Cuyahoga Falls
61
GamificationTop 3 reps earn bonus payouts each week. Rankings reset every Monday.

D2DLeaderboard — ranked by metric + period

useQuery(api.d2d.queries.getLeaderboard)

Leaderboard — Revenue
9:41
Leaderboard
Doors
Sales
Revenue
Conv %
Appts
Today
Week
Month
All
MR
Marcus Rodriguez
87 doors · 16 sales
$4,120
SC
Sarah Chen
66 doors · 24 sales
$3,840
JW
Jake Wilson
92 doors · 9 sales
$2,260
4
DP
Derek Patel
76 doors · 8 sales
$1,890
5
AL
Amy Lee
61 doors · 5 sales
$1,340

D2DLeaderboard — revenue metric, monthly period

useQuery(api.d2d.queries.getLeaderboard) — metric: revenue

Leaderboard — Empty
9:41
Leaderboard
Doors
Sales
Conversion
Today
Week
Month
No Data
No rep activity for the selected period.

Empty state when no rep activity exists for selected period.


Analytics Live
9:41
D2D Analytics
7 Days
30 Days
90 Days
Customer Acquisition Cost
$4.20
Per Door
$34
Per Appt
$127
Per Sale
312%
ROI
CAC Trend (30 days)
Volume
Total Doors1,247
Appointments154
Sales Closed41
Cost AlertCost per appointment above $30 may indicate territory saturation or rep training needs.

D2DAnalytics — CAC metrics, trend, volume

useQuery(api.d2d.queries.getAnalytics)

Analytics — Financial
9:41
D2D Analytics
Daily
Weekly
Monthly
Customer Acquisition Cost
$3.80
Per Door
$28
Per Appt
$98
Per Sale
412%
ROI
Volume
312
Doors
42
Appts
12
Sales
Financial
Total Cost$1,176
Total Revenue$6,024
Net$4,848
Trends
Trend charts coming soon
Historical CAC data will be visualized here

D2DAnalytics — financial summary + segmented period

useQuery(api.d2d.queries.getCacMetrics)

Analytics — Empty
9:41
D2D Analytics
Daily
Weekly
Monthly
No Data Available
No CAC metrics recorded for the selected daily period.

Empty state when no analytics data for selected period.

D2D Dashboard Live
9:41
D2D Fleet
8
Reps
5
Active
47
Doors
12
Sales
Active Routes
MR
Marcus Rodriguez
12 doors · 4 sales
Active
JW
Jake Wilson
8 doors · 2 sales
Traveling
SC
Sarah Chen
15 doors · 3 sales
Active
Fleet Tip5+ active reps = 3x territory conversion rates.
Add Rep
Territory
Rankings
Territories
Downtown Akron
3 reps · 245 doors · 12.4%
Active
Cuyahoga Falls
2 reps · 180 doors · 9.2%
Saturated
Stow & Hudson
1 rep · 320 doors · 15.1%
Active
Alerts
Cuyahoga Falls saturated
Consider resting this territory for 60 days
Tyler Nguyen — Day 3
Onboarding in progress, not yet assigned
Territories & Detail
9:41
Territories
All
Active
Saturated
Downtown Akron
3 reps · 245 doors · 12.4%
Active
Cuyahoga Falls
2 reps · 180 doors · 9.2%
Saturated
Stow & Hudson
1 rep · 320 doors · 15.1%
Active
Downtown Akron
245
Doors
12.4%
Conversion
3
Reps
Assigned Reps
MR
Marcus Rodriguez
87 doors · 18.3%
JW
Jake Wilson
92 doors · 8.7%
SaturationRest saturated territories 60 days before revisiting.
Reps & Detail
9:41
D2D Reps
All
Active
Onboarding
MR
Marcus Rodriguez
18.3% conversion
JW
Jake Wilson
8.7% conversion
SC
Sarah Chen
15.1% conversion
MR
Marcus Rodriguez
Downtown Akron
Active
87
Doors
18.3%
Conversion
16
Sales
Today
Doors12
Appointments4
Sales2
Leaderboard & Rankings
9:41
Leaderboard
Doors
Sales
Conversion
SC
Sarah Chen
156
MR
Marcus Rodriguez
142
JW
Jake Wilson
98
4
DP
Derek Patel
76
Sarah Chen
Stow & Hudson
156
Doors
15.1%
Conversion
24
Sales
Top PerformerWeekly bonus payout qualifies for top 3 reps.
CAC Analytics
9:41
D2D Analytics
7 Days
30 Days
90 Days
$4.20
Per Door
$34
Per Appt
$127
Per Sale
312%
ROI
CAC Trend
Volume (30 days)
Total Doors1,247
Appointments154
Sales Closed41
Spend
Total Spend$5,207
Revenue$16,245
Net ROI312%
Cost AlertPer-appointment cost above $30 indicates territory saturation or training needs.
D2D Command Center Live
https://app.3bids.io/contractor/d2d
Dashboard
Territories
Reps
Leaderboard
Analytics
D2D Command Center
8
Reps
5
Active
47
Doors Today
12
Sales Today
Active Routes
Rep
Doors
Sales
Status
Marcus Rodriguez
12
4
Active
Jake Wilson
8
2
Traveling
Sarah Chen
15
3
Active
Territories
Name
Reps
Doors
Status
Downtown Akron
3
245
Active
Cuyahoga Falls
2
180
Saturated
Stow & Hudson
1
320
Active
Fleet PerformanceTeams with 5+ active reps see 3x higher territory conversion rates.
Territory Management
https://app.3bids.io/contractor/d2d/territories
Dashboard
Territories
Reps
Leaderboard
Analytics
Territories
Territory
Reps
Doors
Conversion
Status
Downtown Akron
3
245
12.4%
Active
Cuyahoga Falls
2
180
9.2%
Saturated
Stow & Hudson
1
320
15.1%
Active
Kent & Ravenna
0
410
0%
Resting
Territory RotationSaturated territories should rest 60 days. Resting allows the area to refresh before revisiting.
Rep Management
https://app.3bids.io/contractor/d2d/reps
Dashboard
Territories
Reps
Leaderboard
Analytics
D2D Reps
Rep
Territory
Doors
Conversion
Status
Marcus Rodriguez
Downtown Akron
87
18.3%
Active
Sarah Chen
Stow & Hudson
66
15.1%
Active
Jake Wilson
Cuyahoga Falls
92
8.7%
Active
Tyler Nguyen
Unassigned
0
Onboarding
Leaderboard & Rankings
https://app.3bids.io/contractor/d2d/leaderboard
Dashboard
Territories
Reps
Leaderboard
Analytics
Leaderboard
Rank
Rep
Territory
Doors
Sales
Conversion
Sarah Chen
Stow & Hudson
156
24
15.1%
Marcus Rodriguez
Downtown Akron
142
16
18.3%
Jake Wilson
Cuyahoga Falls
98
9
8.7%
4
Derek Patel
Downtown Akron
76
8
10.5%
Weekly BonusTop 3 reps qualify for bonus payouts. Rankings reset every Monday.
CAC Analytics
https://app.3bids.io/contractor/d2d/analytics
Dashboard
Territories
Reps
Leaderboard
Analytics
CAC Analytics
7d
30d
90d
$4.20
Per Door
$34
Per Appt
$127
Per Sale
312%
ROI
CAC Trend — 30 Days
Volume
Total Doors1,247
Appointments154
Sales Closed41
Spend
Total Spend$5,207
Revenue$16,245
Net ROI312%
Cost AlertPer-appointment cost above $30 may indicate territory saturation or rep training needs.

Data Architecture

Schema tables, queries, mutations, and flows that power D2D Sales Operations.

Source Files
index.tsxscreen
territories.tsx
Territory list with status filter
screen
territory/[id].tsxscreen
territory/create.tsxscreen
reps.tsxscreen
rep/[id].tsxscreen
rep/create.tsxscreen
leaderboard.tsxscreen
analytics.tsxscreen
Convex Queries
d2d.queries.getRepsByContractor
All reps for contractor
query
d2d.queries.getTerritoriesByContractor
All territories
query
d2d.queries.getRepById
Single rep detail
query
d2d.queries.getTerritoryById
Single territory detail
query
d2d.queries.getLeaderboard
Ranked reps by metric
query
d2d.queries.getAnalytics
CAC metrics + volume
query
d2d.teams.getLiveRepStatuses
Real-time rep locations
query
d2d.teams.getActiveAlerts
Territory/rep alerts
query
Convex Mutations
d2d.mutations.createTerritory
New territory with zips
mutation
d2d.mutations.updateTerritory
Edit territory details
mutation
d2d.mutations.createRep
Add new D2D rep
mutation
d2d.mutations.updateRep
Edit rep profile
mutation
d2d.mutations.assignRepToTerritory
Territory assignment
mutation
d2d.mutations.updateRepStatus
Active/inactive toggle
mutation
Territory Status Flow
new active saturated resting active
Rep Status Flow
onboarding active inactive
Key Design Decisions

Territory-First Architecture

Territories are the primary organizational unit. Reps are assigned to territories, not the other way around.

Real-Time Rep Tracking

Live status updates via Convex subscriptions show active/traveling/idle state without polling.

CAC-Driven Analytics

Cost per door, per appointment, per sale — enables data-driven territory and staffing decisions.

Gamified Leaderboard

Gold/silver/bronze rankings with weekly bonus payouts drive rep performance and retention.

Territory Saturation Cycle

Active → saturated → resting → active. 60-day rest period before revisiting fully canvassed areas.