Context
PropDaddy is a real-estate web platform where agents work leads end to end: call, follow up, and run outreach without bouncing between apps.
I worked as a full-stack developer on the Laravel application, the Twilio calling experience, and the background jobs that keep campaigns and contact data moving.
The challenge
The team needed to call and follow up with prospects inside the product, run campaigns across email, voicemail, and SMS, and keep large volumes of contact data clean. Leaving the app to dial, then coming back to log the outcome, was the daily leak.
The approach
I integrated a Twilio softphone so calling happens in-app. Outreach went through SendGrid, IMAP, Slybroadcast, and Twilio so a campaign could hit more than one channel from the same record.
Behind that, cron-driven automation and VPS queue workers kept the work off the request path. Skip tracing sat in the same pipeline so duplicate and stale contacts could be consolidated instead of multiplying.
Database query work went with the feature work. A calling and campaign product that stutters on the contact list is not a product.
What shipped
- In-app calling via an integrated Twilio softphone
- Multi-channel outreach (SendGrid, IMAP, Slybroadcast, Twilio)
- Cron-driven automation with supervised queue workers
- Skip tracing to consolidate and clean contact records
How it holds up
Agents can work a lead without leaving the platform. The unglamorous half (queues, crons, cleaned records) is what makes the calling UI honest.
Results
What this engagement left in production.
- In-app calling via an integrated Twilio softphone
- Multi-channel outreach (SendGrid, IMAP, Slybroadcast, Twilio)
- Cron-driven automation with supervised queue workers
- Skip tracing to consolidate and clean contact records