PITCH Partner Portal
A window into every roof job.
Client: PITCH Roofing
A Laravel customer portal for PITCH Roofing, a Florida roofing contractor with five offices. Homeowners follow their project from first appointment to final payment, open their documents, pay online and message their team, while the portal stays in step with the company's AccuLynx CRM.

- Client
- PITCH Roofing, Florida
- Type
- Customer portal and mobile API
- Built with
- Laravel, PHP 8.4, PostgreSQL
- Hosting
- DigitalOcean
- Status
- Live and in active development
The problem
Roof replacement takes weeks, and homeowners want to know where things stand without calling the office. PITCH already ran its jobs in AccuLynx, so the portal had to show customers the truth from that system without asking staff to enter anything twice.
What was built
When a job reaches the right milestone in AccuLynx, the customer is set up in the portal automatically and gets a welcome email. From then on their dashboard follows the job: one layout before the first appointment, another once work is underway, with a clear timeline from first look to paid in full.
Inside the portal
Automatic onboarding
Customers are invited when their job hits the milestone, with a welcome email.
Live project timeline
Status updates arrive from the CRM as they happen, with a nightly sweep for anything missed.
Documents and invoices
Estimates, contracts and invoices as PDFs, including credit invoices.
Online payments
A balance card, card payments and a public pay page, reconciled nightly.
Messaging
Customers message their team, and reps are notified in one click.
Push notifications
Web push on the portal, plus native push in the apps.
Staff tools
Invites, view as customer, rep assignment with office defaults and bulk reassignment.
One sign in
Staff and customers use the same sign in, and see what their role allows.
Mobile API
The same back end powers the PITCH Roofing iPhone and Android apps.
Roofing calculator widget
A lazy loaded satellite calculator embedded on pitchroofing.com.
Screens
Results
- 59 to 86
- Mobile PageSpeed on the calculator page after the widget rebuild
- 10.0s to 3.5s
- Largest Contentful Paint on the same page
- 5
- Offices served from one portal
How it is built
Laravel with PHP 8.4 and PostgreSQL on DigitalOcean, with files in DigitalOcean Spaces. AccuLynx is read through queued webhooks, backed by a nightly discovery job for anything the CRM never sent. Invoices are rendered to PDF on the server, and reminders and balance checks run on a schedule so nothing depends on someone remembering.
Questions
What is the PITCH Partner Portal?
It is the customer portal for PITCH Roofing, where homeowners track their roof project, open their documents, pay invoices and message their PITCH team.
Does the portal connect to AccuLynx?
Yes. It reads jobs, milestones and documents from AccuLynx, so customers see current status without staff entering anything twice.
Can customers pay online?
Yes. Customers can pay their balance by card in the portal or on the public pay page.
Is there a mobile app?
Yes. The same back end powers the PITCH Roofing apps for iPhone and Android.

