
A CRM built for insurance sales teams.
Client
Plan With a Pro
Role
Project Team Lead & Full Stack Developer
Timeline
August 2024 - August 2025
Category
web
PROJECT OVERVIEW
Overview.
Plan With a Pro is a full-stack, real-time Customer Relationship Management platform purpose-built for the life insurance and final expense insurance industry. It provides agents with lead management, omni-channel communication (calls, SMS, email), marketing automation, quote generation, reporting, and a real-time dashboard — all powered by 141+ REST endpoints across 21 route files.
THE CHALLENGE
Insurance sales teams juggled multiple disconnected tools for lead tracking, calling, messaging, and reporting. Without a unified platform, agents wasted time switching between systems, leads fell through the cracks, and managers lacked real-time visibility into team performance and campaign effectiveness.
Led development of a full-stack TypeScript CRM with end-to-end type safety, integrating Twilio for omni-channel calls and SMS, SendGrid for email with webhook-based delivery tracking, Socket.IO 4.8 for real-time bidirectional events, Cloudflare R2 for file storage with signed URLs, marketing automation with multi-step nurture campaigns, an insurance quote system via Glix API, and a three-tier RBAC system — deployed with frontend on Vercel and backend on Koyeb.
THE SOLUTION
Gallery.
Full CRM walkthrough showing lead management, omni-channel communication (Twilio calls/SMS, SendGrid email), nurture campaigns, and real-time reporting dashboards.
VideoMain CRM dashboard with lead pipeline overview, agent activity, and quick-action navigation — powered by real-time Socket.IO 4.8 events.
Advanced leads table with 50+ filterable fields (timezone, state, insurance type, date range), bulk CSV import, and automatic Google/Facebook Ads capture.
Lead tracker with real-time status updates, assignment tracking, status history with timestamps, and pipeline progression across agents.
Multi-step nurture campaign editor with email, SMS, task, and call steps — supporting drip campaigns, re-engagement, and educational sequences with scheduled execution via node-cron.
Call management dashboard with Twilio-powered inbound/outbound calls, call recording, hold music, call transfer, conference calls, and prerecorded voicemail.
Twilio settings with hold music, voicemail greetings, TTS voice selection, recording configuration, and call forwarding.
Call reports with call history, talk minutes, answered vs. no-answer stats, and direction filtering — visualized with Tremor React charts.
Rich HTML email editor built with TipTap, supporting templates with dynamic field replacement, scheduled delivery, and SendGrid integration.
Email template library with per-insurance-type assignment and reusable templates for nurture campaign sequences.
SendGrid email delivery report with webhook-tracked analytics — opens, clicks, bounces, spam reports, and unsubscribes.
Announcements system with rich content (images/videos), role-targeted delivery, and default announcements for team-wide communications.
Webhook-based lead capture from Google Ads and Facebook Ads campaigns with automatic lead ingestion and source attribution.
Health questionnaire form powered by Glix API integration for insurance qualification, beneficiary data, and underwriting workflows.
Application questionnaire for beneficiary, employment, and underwriting data collection with quote result storage per lead.
TECHNOLOGY
Tech Stack.
Frontend
Next.js 14 (App Router)
React framework with SSR/SSG
TypeScript
End-to-end type safety
shadcn/ui (68+ components)
Customized UI component system
Zustand (3 stores)
Client state management + React Context for auth
TanStack React Query
Server state & caching
FullCalendar 6.1
Calendar with day/week/month views
React Hook Form + Zod
Form management & validation
TipTap (custom extensions)
Rich text editor with anchor links, buttons, video embeds
Recharts
Data visualization & charts
Twilio Client SDK
Browser-based VoIP calling (WebRTC)
Socket.IO Client
Real-time bidirectional events
Tailwind CSS
Utility-first styling with mobile-responsive design
Backend & APIs
Node.js + Express
REST API server (40+ endpoints across 15+ route groups)
MongoDB Atlas (Prisma ORM)
Cloud database with 30+ models, composite indexes, JSON fields
Socket.IO
Room-based real-time events with exponential backoff reconnection
JWT (Access + Refresh tokens) + bcrypt
Authentication with proactive token refresh
node-cron (4 schedulers)
Email/SMS sending, cleanup, database backup, Twilio cleanup
express-rate-limit
Brute-force protection on auth endpoints
Multer
File upload handling with type-specific validators
Third-Party Integrations
Twilio (Voice + SMS + Client SDK)
WebRTC calls, conference calling, call recording, voicemail (Polly.Joanna TTS), IVR/TwiML, SMS with 47+ dynamic fields
SendGrid (Email + Webhooks)
HTML email delivery, webhook tracking (delivered, opened, clicked, bounced, spam, unsubscribed), engagement metrics
Cloudflare R2
Primary file storage (images, audio, CSV) with signed URLs
Cloudinary
Image processing & CDN
MEGA.io (megajs)
Automated database backup storage with level 9 compression
Google Ads
Webhook-based lead capture from Lead Forms
Facebook Lead Ads
Webhook-based lead capture with verification endpoint
Compulife/Glix
Insurance quoting engine — health quotes, application quotes, carrier catalog
Google Tag Manager / AdSense
Analytics & monetization
Nodemailer
Fallback/internal email sending
Infrastructure
Vercel
Frontend hosting & deployment
Koyeb
Backend PaaS hosting with multi-platform Prisma targets
MongoDB Atlas
Managed database cluster
CAPABILITIES
Key Features.
Lead Management
Omni-Channel Communication
Marketing Automation (Nurture Campaigns)
Calendar & Appointments
Reporting & Analytics
Insurance Quote System (Glix Integration)
Authentication & Security
Ads Integration Platform
Settings & Administration
Real-Time Architecture (Socket.IO)
File Management & Backups
IMPACT
Results.
ENGINEERING