Client
Emory University and Compassion U
Case study
The project joined a learning workflow and a marketing platform without forcing either system to take responsibility for data and behavior it was not designed to own.
Client
Emory University and Compassion U
Role
WordPress plugin and HubSpot integration development
Year
2025
Summary
Developed a custom WordPress plugin for course and user management while synchronizing website activity into HubSpot for coordinated marketing operations.
Emory University and Compassion U needed course and user workflows that fit their WordPress experience while keeping HubSpot informed for marketing and communication.
I developed a custom plugin and integration so the learning experience could remain grounded in WordPress while relevant activity moved into HubSpot through an intentional contract.
WordPress and HubSpot can both store contact-related information, but that does not make them interchangeable. The course workflow needed application-specific state, while HubSpot needed the context required for communication and automation.
The project had to establish which system owned each value, when updates should cross the boundary, and what should happen when a sync could not complete.
The custom plugin encapsulated the course and user behavior instead of scattering it across theme code or manual processes.
The implementation focused on:
This kept the learning workflow close to the website while allowing HubSpot to participate where it added value.
A plugin created a maintainable boundary around the feature. It made the behavior portable across templates, easier to reason about, and less vulnerable to routine content or theme changes.
It also gave the integration a deliberate source of truth. HubSpot received the data required for downstream workflows without becoming the engine for course state.
This project demonstrates how I design WordPress applications that extend beyond page publishing. The strongest solution came from giving each platform a clear responsibility and connecting them through explicit, recoverable workflow events.
Related writing
Boring integrations stay reliable because their contracts, ownership, and failure handling are explicit from the start.
Integrations stay safer and cheaper to evolve when teams define field meaning, ownership, and failure behavior before the first sync goes live.
Operational simplicity lets teams publish, recover, and change systems without constant escalation or hidden process drag.
Relevant services
WordPress builds, rebuilds, and plugin work for teams that need flexibility, performance, and clean implementation instead of one more brittle theme stack.
Complex HubSpot implementations for teams that need more than standard workflows and out-of-the-box automation.