Case study

Emory University & Compassion U

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.

The brief

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.

The ownership problem

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 approach

The custom plugin encapsulated the course and user behavior instead of scattering it across theme code or manual processes.

The implementation focused on:

  • clear WordPress models and actions for course participation;
  • predictable synchronization points into HubSpot;
  • mapped values rather than loosely copied payloads;
  • handling for incomplete or failed updates;
  • separation between application behavior and presentation; and
  • an admin experience the operating team could understand.

This kept the learning workflow close to the website while allowing HubSpot to participate where it added value.

Why a custom plugin mattered

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.

The takeaway

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