Skip to main content

My Projects

The customer's view of their work — status, documents, photos, and payments.

What This Screen Is

My Projects is the customer's window into every job the contractor has done or is doing for them. It's intentionally simpler than the CRM's internal view — customers see project status, shared progress photos, and their documents (estimates, contracts, invoices). They never see internal notes, job margins, or crew assignments. The screen builds trust by keeping customers informed without overwhelming them with operational detail.

Same data, different lens. The underlying project record is identical to what the contractor sees in the Cloud CRM and mobile app. What differs is which fields are exposed, which actions are permitted, and what level of detail is shown. Customers always see their own projects only — never another customer's data.

My Projects List View

The customer lands on a card-grid view of all their projects. Cards show the essentials: project name, service address, status, and date range. Dollar amounts are intentionally hidden at the list level — they appear inside the project detail on the invoices tab once the customer opens a specific project. A Request New Work button in the top-right creates a new inquiry that enters the contractor's CRM as an inbound lead. Filter pills let customers quickly scope to active jobs or review completed history.

Filter tabs: Active | Completed | All | [+ Request New Work]

Example project cards:

  • Roof Replacement — 412 Lakeview Dr, Springfield — Started: May 5 · Est. Complete: May 8 — In Progress — "3 new photos" — [View Details →]
  • Deck Build — 88 Birchwood Ave, Springfield — Submitted: May 12 · Action needed — Estimate Ready — "Awaiting your approval" — [Review Estimate →]
  • Fence Repair — 34 Pinecrest Rd, Springfield — Completed: May 3, 2026 — Completed — "✓ Paid" — [Download Invoice →]
  • Gutter Install — 770 Maple Ln, Springfield — Scheduled: May 22, 2026 — Scheduled — "Confirmed" — [View Details →]

Project Detail View

Tapping any project card opens the detail view — a tabbed interface that organizes everything the customer needs about a single job. The tab pattern keeps information clean and contextual without overwhelming the customer with a wall of data at once.

Detail header: Roof Replacement — 412 Lakeview Dr · Started May 5 · In Progress

Tabs: Overview | Photos | Documents | Messages | Notes

Overview Tab

  • Status timeline — 3-step visual tracker (Scheduled → In Progress → Completed) with the current step highlighted. No training required to understand at a glance.
  • Next scheduled appointment — date, time, and a "today/tomorrow" callout if within 48 hours. Customers can tap Message Us to reach the contractor directly from this screen.
  • Assigned technician — first name only plus their profile photo. No last name, no contact info, no crew roster. Keeps the customer informed without exposing internal staffing data.
  • Message Us button — shortcut that opens the Messages tab pre-scoped to this project.

Example overview mockup:

  • Status timeline: Scheduled (done ✓) → In Progress (current ▶) → Completed (pending —)
  • Appointment block: Next Visit — Thursday, May 8 — 8:00 AM — [Message Us]
  • Technician card: Jake — Assigned technician
  • Note: "Technician's first name and photo are displayed here. Detailed crew and scheduling info is managed internally by the contractor."

Photos Tab

A grid of photos the contractor has explicitly marked as "share with customer." Before/after pairs are auto-grouped when the contractor marks both as shared and links them. Customers see a clean gallery — they have no indication of how many total photos exist on the project, nor can they see documentation-only photos (damage records, inspection shots, internal reference images).

Example photos view:

  • Before → After label row — "Shared by contractor · May 3"

  • 3-photo grid with Save download buttons on each

  • "3 photos shared with you · Tap any photo to view full size"

  • Each photo has a Download button — customers can save shared photos locally at any time.

  • Before/after pairs display with labeled tags so the context is immediately clear.

  • Progress shots appear in chronological order by capture timestamp.

  • Default state for all photos in the CRM is private. The contractor must actively mark a photo as shared for it to appear here.

Documents Tab

Three sub-sections in one tab — Estimates, Contracts, and Invoices. Customers can view, approve, sign, and pay from here without navigating away. Change orders approved by both parties appear as additional line items on the invoice, not as a separate document type.

Example documents view:

Estimates

  • Estimate #E-2412 — Roof Replacement — Sent May 5 · $8,400 · 12 line items — Approved — [View]

Contracts

  • Service Agreement — May 2026 — Signed May 6, 2026 · 2 pages — Signed — [Download PDF]

Invoices

  • Invoice #INV-3841 — $8,400 — Due May 15, 2026 · Stripe checkout available — Due — [Pay Now] [View]

  • Estimates — full line-item view of quoted scope and cost. If still pending, [Approve] and [Decline] buttons appear. Once actioned, the status badge updates with outcome and timestamp.

  • Contracts — PDF view of the signed or unsigned contract. [Sign Now] triggers the e-sign flow. Once signed, the badge shows "Signed" plus the date and a download link.

  • Invoices — amount, line items, due date, and a [Pay Now] button that opens Stripe checkout. On payment, the badge flips to "Paid ✓" and a receipt link appears.

Messages Tab

A unified conversation thread scoped to this project. SMS exchanges, email replies, and messages sent directly through the portal all appear in one chronological thread. Customers type and send new messages here. Contractor replies appear in this same thread regardless of which channel the contractor used to respond.

Example messages mockup:

  • Jake (SMS · Today 7:58 AM): "Hey — the crew is running about 20 minutes behind this morning. We'll be there by 8:20."
  • You (Portal · Today 8:01 AM): "No problem, thanks for letting me know!"
  • Jake (SMS · Today 4:45 PM): "All wrapped up for the day. Left a few areas tarped overnight — finishing tomorrow morning."
  • [message input] + [Send]

Notes Tab

A place for the customer to leave questions or observations about the project. These are not the same as the contractor's internal notes — customer notes are clearly labeled as customer-submitted in the CRM, visible to the contractor but stored separately. The contractor's operational notes never appear here.

Example notes:

  • Composer: "Leave a note for the team — e.g. 'Please don't block the driveway' or 'Check the back corner, there was a leak there last year'" [Save Note]
  • Posted note: "Please be careful of the rose bushes along the south wall — they took a long time to grow in." — Posted by you · May 5, 2026

CRUD Operations

OperationAvailableNotes
View My ProjectsYesOnly their own projects, never other customers'
View Project DetailYesStatus, appointment, technician name (no internal data)
View All Internal PhotosNoOnly contractor-shared photos visible
Download Shared PhotosYesAny photo marked as customer-visible
View EstimateYesFull line-item view
Approve EstimateYesOne-tap approval; notifies contractor immediately
Decline EstimateYesMust provide reason; notifies contractor
View ContractYesPDF view
Sign ContractYesE-sign flow (finger draw or typed signature)
View InvoiceYesLine items, due date, amount
Pay InvoiceYesStripe checkout; card saved for future payments
Download Invoice PDFYesFor records
Send Message to ContractorYesEnters unified conversation thread
Leave Project NoteYesStored as customer-visible note on project
Request Additional WorkYesCreates new inquiry in contractor CRM
Edit Project DetailsNoCustomers cannot edit project scope or details
View Job Costing / MarginsNoInternal business data — never exposed
View Internal NotesNoContractor's operational notes are private
View Crew DetailsNoOnly first name of assigned tech shown
Create / Delete ProjectNoCRM-side only; customer can request new work via form
View Change Order HistoryYesCustomer sees approved change orders as line items on invoice
Create Change OrderNoRequests go through "request additional work" flow

Business Logic — Portal-Specific Rules

The portal enforces rules distinct from what the contractor CRM allows. These rules protect both parties and keep the customer experience simple while ensuring the contractor retains control of the project record.

Estimate Approval Flow

  • Customer receives email or SMS: "Your estimate is ready for review."
  • Opens portal → Documents tab → Estimates section.
  • Taps [Approve]: triggers contractor notification, moves project status to "Approved / Awaiting Scheduling."
  • Taps [Decline]: must select a reason — Too expensive / Want to get other quotes / Not ready yet / Other — plus an optional free-text note.
  • Decline notifies the contractor with the selected reason; project stays in "Estimate Sent" status until the contractor follows up.
  • Customer cannot approve a partial estimate or modify line items — the estimate is reviewed as a whole. Scope changes go back to the contractor.

E-Sign Contract Flow

  • After estimate approval, the contractor sends the contract through the CRM — customer receives a notification.
  • Customer navigates to Documents → Contracts → [Sign Now].
  • Signature options: finger-draw on touchscreen or typed full name — both are legally equivalent.
  • On sign: a PDF is generated with the signature, timestamp, and IP address, stored in both the contractor's CRM and the customer's portal.
  • Signing triggers a contractor notification and moves the project to "Contract Signed / Ready to Schedule."
  • Customer receives a copy of the signed PDF via email automatically.

Invoice Payment Flow

  • Pay Now → Stripe Checkout — PCI-compliant, off-portal secure payment page.
  • If the customer has a card on file (added during onboarding), it's pre-filled for one-tap payment — no re-entry needed.
  • Payment confirmation: email receipt sent automatically; portal shows "Paid ✓" with date and receipt link.
  • Partial payments: if the contractor has enabled installments for this invoice, the customer sees a pay-partial option with the installment amounts clearly shown.
  • Payment failures: card decline shows a clear error with a prompt to add a new payment method — no silent retry loop.

Photo Visibility — What Customers See

  • The contractor controls which photos are customer-visible with a toggle on each individual photo in the CRM.
  • Default state for every photo is private (not shared). The contractor must actively flip a photo to customer-visible.
  • Customers never see a total photo count — they have no awareness of how many internal photos exist.
  • Before/after pairs are auto-grouped in the customer's Photos tab when the contractor marks both photos as shared and links them as a pair.
  • Progress shots appear in chronological order by capture timestamp.

Project Status Customer Notifications

  • Status: Scheduled → confirmation email with date, time, and technician first name.
  • Tech marks "On The Way" → SMS: "[Tech first name] is on the way. Track them live." with a link to the technician tracker page in the portal.
  • Job marked "Complete" → email with a completion summary, link to the invoice, and a review request prompt.
  • All notification channel preferences (email, SMS, push) are configurable in the customer's portal notification settings — except billing notifications, which are always-on.

What's Not Available in the Portal (and Why)

Several features available to the contractor in the CRM or mobile app are deliberately excluded from the customer portal. This is intentional design — not a gap.

FeatureWhere to AccessWhy Restricted
Internal project notesDesktop CRM onlyOperational comments not meant for the customer — crew instructions, dispute records, internal observations
All captured photosDesktop CRM onlyMany photos are documentation-only — damage records, disputes, internal inspection shots not suitable for customer viewing
Job profitability / marginsDesktop CRM onlyBusiness-sensitive financial data — customers see what they're charged, not what the contractor earns
Crew schedule / other jobsDesktop CRM onlyExposes other customers' project schedules — a privacy violation
Team assignments (full crew)Desktop CRM onlyInternal staffing decisions; only the assigned tech's first name is shared with the customer
Raw invoice line-item costs (edit)View only (not edit)Customer sees costs as quoted, not internal markup or cost structure
GPS tracking of all techsLive tech tracker (own tech only, when en route)Customers see only their assigned technician, and only during the window when that tech is actively on the way to their job
  • Customer Portal Overview — Full feature map of the customer-facing portal — technician tracker, payment methods, scheduling, and more
  • Projects — Cloud CRM — The contractor's admin view of all projects — full data, team assignments, job costing, and bulk actions
  • Projects — Mobile App — The field tech's view — photo capture, GPS time tracking, on-site tasks, and PTT notes
  • Invoices & Payments — Invoice lifecycle, Stripe integration, installment plans, and payment tracking
  • Customer Onboarding — The 4-step flow that sets up card-on-file, contract signing, and portal access before work begins