5 Map
Tracking Dashboard Live
Active jobs overview with status, progress, next action
9:41
My Jobs
3
Active
1
Complete
2
Updates
MC
Kitchen Remodel
Marcus Cole • Week 3 of 6
In Progress
Progress45%
DK
Fence Repair
David Kim • Week 2 of 2
Near Done
Progress80%
RL
Deck Staining
Rosa Lopez • Completed
Complete
Progress100%
Pro TipTap Track on any active job to see your contractor’s live location and ETA.

Not Tracking Yet Live
Empty state when contractor hasn’t started their journey
9:41
Tracking
Not Tracking Yet
Your contractor hasn’t started their journey yet. You’ll see their live location and ETA here when they’re on the way.
JOB
Kitchen Remodel
1234 Oak Lane, Austin TX
How It WorksWhen your contractor marks “en route,” their live location will appear here with real-time ETA.

Contractor En Route Live
Uber-style “your contractor is on the way” with live ETA
9:41
Tracking
On the way
Your contractor is on the way
MC
Marcus Cole
ETA: 15 min
Live Tracking
Distance4.2 km
ETA15 min
Speed42 km/h
Last UpdateJust now
JOB
Kitchen Remodel
1234 Oak Lane, Austin TX

Contractor Arrived Live
Arrival confirmation with check-in time
9:41
Arrived
Contractor Has Arrived
Arrived at 8:02 AM
MC
Marcus Cole
On-site
JOB
Kitchen Remodel
1234 Oak Lane, Austin TX
Today’s Schedule
Arrived
8:02 AM
Task
Plumbing rough-in
Est. End
4:00 PM

Live Job Map Live
Contractor location, ETA, job site on map
9:41
Live Tracking
ETA: 15 min
4.2 km away
MC
Marcus Cole
En route to your property
Today’s Schedule
Start
8:00 AM — Demolition phase
End
4:00 PM (estimated)

Job Timeline Live
Milestone timeline with completed and upcoming steps
9:41
Timeline
Kitchen Remodel In Progress
Progress45%
Contract Signed
Mar 22 • Escrow funded • $7,400
Demolition Complete
Mar 28 • Old cabinets removed • 3 photos
Electrical Rough-In
Apr 2 • Wiring complete • Inspection passed
Plumbing & Fixtures
In progress • Started Apr 5
Cabinet Installation
Scheduled Apr 12
Countertops & Backsplash
Scheduled Apr 20
Final Inspection
Scheduled May 2

Photo Updates Live
Contractor-uploaded photo documentation of progress
9:41
Photo Updates
MC
Marcus Cole Today, 2:30 PM
“Plumbing rough-in complete. Ready for inspection tomorrow.”
Geotagged • 1234 Oak Lane
MC
Marcus Cole Yesterday
“Demolition day 2. All old cabinets and countertops removed.”
MC
Marcus Cole Mar 22
“Before photos — documenting existing kitchen condition.”
Photo DocumentationContractors upload progress photos at each milestone. These serve as verified evidence for escrow release and dispute resolution.

Job Chat Live
Direct messaging with contractor about the job
9:41
Chat — Kitchen Remodel
Today
MC
Inspection passed! Moving to cabinet install this week.
10:32 AM
JD
Great news! Will we still be on track for May 2?
10:45 AM
MC
Yes, on track. Cabinets arriving Monday. I’ll send photos once they’re delivered.
11:02 AM
JD
Perfect, thanks Marcus!
11:05 AM
MC
Here’s the updated plumbing layout
2:15 PM
Type a message...

Rate & Review Live
Post-completion rating and review for contractor
9:41
Rate & Review
MC
Marcus Cole
Kitchen Remodel • Completed May 2
★★★★★
Categories
Quality of Work★★★★★
Communication★★★★★
Timeliness★★★★☆
Value for Money★★★★★
Share your experience working with Marcus Cole...
Dashboard + Map Live
9:41
Job Tracking
3
Active
1
Done
MC
Kitchen Remodel
Marcus Cole
Active
Progress45%
DK
Fence Repair
David Kim
Near Done
Progress80%
RL
Deck Staining
Rosa Lopez
Complete
Marcus Cole • ETA: 15 min

Tracking States Live
9:41
Live Tracking
Your contractor is on the way
MC
Marcus Cole
ETA: 15 min • 4.2 km
Speed42 km/h
Last UpdateJust now
JOB
Kitchen Remodel
1234 Oak Lane, Austin TX
15 min away
Live
Contractor Has Arrived
Arrived at 8:02 AM

Timeline + Photos Live
9:41
Kitchen Remodel
Timeline
Contract Signed
Mar 22 • Escrow funded
Demolition
Mar 28 • 3 photos
Electrical
Apr 2 • Passed inspection
Plumbing
In progress
Cabinets
Apr 12
Final Inspection
May 2
Photo Updates
“Plumbing rough-in complete. Ready for inspection.”
Geotagged • 1234 Oak Lane • Today 2:30 PM

Updates + Communication Live
9:41
Updates
Status Updates
MC
Marcus2h ago
Plumbing rough-in complete. Inspector scheduled for tomorrow AM.
MC
MarcusYesterday
Electrical wiring 90% done. On schedule.
MC
MarcusApr 2
Demolition finished ahead of schedule. Starting rough-in tomorrow.
Messages
MC
Inspection passed! Moving to cabinet install this week.
JD
Great news! Will we still be on track for May 2?
MC
Yes, on track. Cabinets arriving Monday.
Type a message...

Review + Complete Live
9:41
Rate & Review
MC
Marcus Cole
Kitchen Remodel
★★★★★
Tap stars to rate
Escrow Summary
Total$18,500
Released$7,400 (40%)
Remaining$11,100 (60%)
Quality of Work★★★★★
Communication★★★★★
Timeliness★★★★☆
Value for Money★★★★★
Share your experience working with Marcus Cole...
Job Dashboard Live
https://app.3bids.io/poster/jobs
3BidsJobs
Active Jobs ⌘1
Live Tracking ⌘2
Timeline ⌘3
Photos ⌘4
Messages ⌘5
Reviews ⌘6
Settings ⌘,
JD
Jane Doe
Homeowner

Active Jobs

3 Active · 1 Complete
3
Active
1
Complete
2
Updates
$25,900
In Escrow
JobContractorProgressStatusEscrowActions
Kitchen Remodel
MC
Marcus Cole
45%
In Progress$18,500
Fence Repair
DK
David Kim
80%
Near Done$3,200
Deck Staining
RL
Rosa Lopez
100%
Complete$4,200

Live Tracking Live
https://app.3bids.io/poster/jobs/kitchen-remodel/tracking
3BidsJobs
Active Jobs
Live Tracking
Timeline
Photos
Messages
Reviews
JD
Jane Doe
Homeowner

Live Tracking — Kitchen Remodel

Live Tracking
ETA: 15 min
Your contractor is on the way
4.2 km away • 42 km/h
MC
Marcus Cole
Kitchen Remodel
Distance4.2 km
ETA15 min
Speed42 km/h
Last UpdateJust now
Today’s Schedule
Start
8:00 AM
Task
Plumbing rough-in
End
4:00 PM (est)

Timeline + Photos Live
https://app.3bids.io/poster/jobs/kitchen-remodel/timeline
3BidsJobs
Active Jobs
Live Tracking
Timeline
Photos
Messages
Reviews
JD
Jane Doe
Homeowner

Kitchen Remodel — Timeline

Milestones
Contract Signed & Escrow Funded
Mar 22, 2026 • $7,400 deposited
Demolition Complete
Mar 28, 2026 • 3 photo updates
Electrical Rough-In
Apr 2, 2026 • Inspection passed
Plumbing & Fixtures
In progress since Apr 5
Cabinet Installation • Apr 12
Countertops • Apr 20
Final Inspection • May 2
Recent Photos
“Plumbing rough-in complete. Ready for inspection.”
Geotagged • Today 2:30 PM
Escrow Status
Total$18,500
40% Released$7,400
60% Remaining$11,100

Updates + Messages Live
https://app.3bids.io/poster/jobs/kitchen-remodel/messages
3BidsJobs
Active Jobs
Live Tracking
Timeline
Photos
Messages
Reviews
JD
Jane Doe
Homeowner

Messages — Kitchen Remodel

Status Updates
MC
Marcus2h ago
Plumbing rough-in complete. Inspector tomorrow.
MC
MarcusYesterday
Electrical wiring 90% done.
MC
MarcusApr 2
Demolition finished ahead of schedule.
Today
MC
Inspection passed! Moving to cabinet install this week.
JD
Great news! Will we still be on track for May 2?
MC
Yes, on track. Cabinets arriving Monday. I’ll send photos.
JD
Perfect, thanks Marcus!
Type a message...

Rate & Review Live
https://app.3bids.io/poster/jobs/kitchen-remodel/review
3BidsJobs
Active Jobs
Live Tracking
Timeline
Photos
Messages
Reviews
JD
Jane Doe
Homeowner

Rate & Review

MC
Marcus Cole
Kitchen Remodel • Completed May 2
★★★★★
Quality of Work★★★★★
Communication★★★★★
Timeliness★★★★☆
Value for Money★★★★★
Share your experience working with Marcus Cole...
Escrow Summary
Total Contract$18,500
40% Released (hold period)$7,400
60% On Completion$11,100
Platform FeeIncluded

Data Architecture

Uber-style real-time contractor tracking with live location, ETA, milestone timeline, photo documentation, messaging, and multi-category review system.

Source Files

app/(poster)/jobs/[id]/tracking.tsx
Uber-style live tracking with TrackingStatusBanner, ETA formatting, distance display, speed, arrival confirmation
Component
app/(poster)/jobs/[id]/_layout.tsx
Job detail layout with Stack navigation for index, edit, tracking screens. deepBlue header styling.
Component
components/tracking/TrackingStatusBanner.tsx
Reusable banner: status dot (en-route/arrived/inactive), contractor avatar, ETA display, arrived confirmation
Component
components/tracking/ETADisplay.tsx
Formatted ETA with distance in meters/km, compact mode for inline display
Component
app/(poster)/jobs/[id].tsx
Consolidated job detail hub: dashboard, bids, Q&A, photos, documents. Escrow release and dispute flows.
Component

Convex Queries

tracking.queries.getTrackingForJob
Returns contractor info, isEnRoute flag, estimatedArrivalAt, distanceToJobMeters, arrivedAt, lastUpdatedAt, speed
Query
jobs.jobs.get
Full job details: title, address, status, contractor, escrow, progress
Query
messages.jobQA.getUnreadCount
Unread Q&A message count for badge display on chat tab
Query

Convex Mutations

reviews.submit
Submit multi-category review (quality, communication, timeliness, value) with optional text and photos
Mutation
jobs.markComplete
Poster marks job complete, triggers pending_completion status and escrow release flow
Mutation
payments.escrow.approveRelease
Approve final 60% escrow release after job completion and review
Mutation

Schema

jobs
Core job table: title, description, address, status, posterId, contractorId, budget
Schema
tracking
Live location: jobId, contractorId, lat/lng, speed, heading, estimatedArrivalAt, arrivedAt
Schema
escrow
Payment escrow: jobId, amount, status (pending/hold_period/funded/released), 40/60 split
Schema
reviews
Multi-category reviews: quality, communication, timeliness, value, text, photos
Schema

Tracking Flow

Job In Progress
Not Tracking
En Route (Live)
Arrived
Work in Progress
Mark Complete
Rate & Review

Escrow Flow

Contract Signed
Escrow Funded
24h Hold
40% Released
Work Completes
60% Released

Key Design Decisions

Uber-Style Live Tracking

TrackingStatusBanner component with pulsing status dot, real-time distance/ETA from Convex subscriptions. Three states: not-tracking, en-route, arrived.

Photo Evidence Chain

All contractor photos are timestamped and geotagged. They serve as verified evidence for escrow release decisions and dispute resolution.

Multi-Category Reviews

Reviews capture Quality, Communication, Timeliness, and Value separately. Granular insight beyond a single star rating for future homeowners.

40/60 Escrow Split

40% released after 24h hold period, 60% on completion. Protects both homeowner and contractor with transparent payment milestones.

ErrorBoundary Wrapping

TrackingScreen wrapped in ErrorBoundary to gracefully handle GPS failures, network drops, or stale data without crashing the entire job view.

ETA Calculation

formatETA handles null, “Arriving now,” minutes, hours+minutes formats. getRelativeTime provides human-readable “Just now,” “X min ago” for last-update freshness.