Description
KP Dashboard is a subscription-based platform designed for professional associations and unions in the United States to lobby their interests legally. Organizations purchase a membership, import their members into the system, and gain access to tools that automatically connect those members with relevant legislators at different government levels (city, regional, state). One real-world use case was an ophthalmologists’ association in Virginia with ~600 members. The platform continuously updates a database of legislators and automatically matches members to legislators based on geographic and contextual criteria. Matched members become “key persons” responsible for building relationships with specific legislators. Admins can centrally manage outreach campaigns by assigning step-by-step tasks to key persons (introductions, meetings, events, donations, etc.), track progress, and coordinate large-scale communications.
Challenge
The platform had been in active use for years, but its internal foundation no longer supported further growth. The system was built as a legacy monolith where backend and frontend logic were tightly coupled in a single codebase. While users experienced a stable product, any new feature or change required navigating through accumulated technical debt, making development increasingly slow and risky. On the frontend side, the application relied on an outdated UI framework that limited design flexibility and modern UX patterns. Improving usability or visual consistency demanded excessive effort, restricting the product’s ability to evolve and scale. At the same time, the platform could not be taken offline or paused for a full rewrite. Real organizations depended on it daily, so improvements had to be delivered continuously without disrupting existing workflows. Adding to the complexity, the system needed to support large-scale email and SMS campaigns with deep personalization. Messages had to dynamically combine data from members, legislators, and their relationships – all while remaining reliable, scalable, and simple enough for non-technical administrators to manage.
Solution
- Gradual refactoring strategy: refactored critical code paths incrementally without changing business logic
- Split monolith into two independent applications: backend (Laravel) and frontend (Vue)
- Migrated frontend from Vuetify 1.5 to Vuetify 2, unlocking modern UI components and UX improvements
- Fully reworked the frontend architecture and stabilized the application
- Implemented a scalable design system based on Vuetify, allowing new UI elements to be added directly from documentation while preserving brand consistency
- Built advanced mass email & SMS messaging with dynamic variables per member and legislator
- Integrated external services for communication and data enrichment
Technology Stack
- Backend: Laravel (PHP), MySQL, Redis
- Frontend: Vue.js, Vuetify 2
- Integrations: Mailgun (email), Twilio (SMS), Google APIs (legislator data)
- Other: Background jobs, dynamic templating, automated data matching