Rep app — native SwiftUIseparate from the web platform

Wireframed here for the walkthrough. Phases P1–P4: P1 canvass · P2 capture + Today · P3 handoff + my-jobs · P4 close + Pay. Screen map ↗

9:41▂▄▆5G

Canvass

Sandy east bench · my territory
M2 · P1
E Aspen Way
N Vine St
map placeholder — MapKit in the native app
unknockednot homenot interestedinterestedappointmentcallbackDNC
Heat
cold → hot34 knocks today
tap a pin → disposition in ≤2 taps · pins write knocks rows — leaderboards derive, no separate reporting

All M-screens · pack: Dominic/Zach R · P2 crosses the old “no-network Phase 1” boundary (open item 7 — makes the network requirement concrete).