Association Membership Portal Modernization
The Challenge
CIFFA’s old portal made visitors’ own browsers do work that should have happened behind the scenes. Every page pulled in far more raw data than it needed, then left the visitor’s device to sort through it and figure out what to actually show. On a fast computer that meant delays. On anything less, pages could take 30 seconds or longer to load. It also relied on a legacy backend integration to the LMS that turned out to be more complex than initially scoped.
What We Built
Rebuilt the portal on a proper 3-tier architecture: Angular front end, Node.js backend, Dataverse accessed through Graph API
Presented CIFFA with a clear identity migration choice (legacy Azure AD B2C vs. Entra ID) instead of deciding for them, so they made an informed call on their own sign-in infrastructure
Reviewed the former dev team's C# integration code and discovered the LMS auth flow required generating and managing tokens, not just passing an email address as originally scoped, then built the correct flow in Node.js
Delivered entirely inside CIFFA's own infrastructure: their Azure environment, their GitHub, their Jira, with full sprint visibility on a two-week cadence throughout