Cruise Lines International Association – Vendor Member Directory

Authenticated Web Application (B2B Member Platform)
Authenticated directory application combining multiple CRM endpoints into a unified search experience

Technologies

JavaScript, HTML5, SCSS (CSS3), jQuery, REST APIs, CRM Integration, Sitecore CMS

Role

Frontend Developer

Overview

At CLIA, one of the numerous projects I worked on was a member-only directory application called “Who’s Who,” designed to provide cruise industry members with a centralized way to search and browse cruise lines, vendors, and people.

The application pulled structured data from CLIA’s CRM through custom API endpoints and presented it within the existing Sitecore-driven website. For cruise line entries, the experience also incorporated fleet data, including ship details and capacity, aggregated from additional endpoints.

*Data obfuscated for presentation purposes. All visible information and branding is publicly available and under the ownership of their respective rights holders.

Overview

At CLIA, one of the numerous projects I worked on was a member-only directory application called “Who’s Who,” designed to provide cruise industry members with a centralized way to search and browse cruise lines, vendors, and people.

The application pulled structured data from CLIA’s CRM through custom API endpoints and presented it within the existing Sitecore-driven website. For cruise line entries, the experience also incorporated fleet data, including ship details and capacity, aggregated from additional endpoints.

*Data obfuscated for presentation purposes. All visible information and branding is publicly available and under the ownership of their respective rights holders.

My Role

CLIA was outsourcing a similar directory to an outside agency. As part of a cost-saving strategy I built a frontend application within CLIA’s existing design framework, creating custom layouts and interaction states that aligned with the broader site’s component system.

The interface allowed members to select between multiple directory types (cruise lines, vendors, and people), each with distinct result formats and detail views. For cruise line entries, I implemented logic to merge and display data from multiple CRM endpoints so that fleet information could be presented alongside core directory details.

Because the broader site relied heavily on jQuery, I implemented the application using a combination of vanilla JavaScript and jQuery to maintain consistency with the existing frontend architecture.

I worked closely with the CRM provider’s backend developers to define and consume the required API endpoints.

Approach

When a member accessed the directory, the application executed a sequence of API calls to retrieve all necessary datasets. Data from four endpoints was fetched in succession, then normalized and organized client-side before being rendered.

After the initial load, searching, filtering, and view switching were handled entirely in the browser to provide a fast, responsive experience without repeated server requests.

Managing UI state across multiple directory types and interaction modes required a consistent state-tracking strategy. I implemented a persistent global state object that tracked the active directory, selected records, and view context. UI updates were driven by changes to this shared state, ensuring predictable behavior as users navigated between results and detail views.

Outcome

The “Who’s Who” directory provided CLIA members with a structured, searchable interface that unified multiple CRM datasets into a single experience. The client-side architecture enabled fast navigation after the initial data load and supported multiple directory formats within a consistent framework.

The system replaced a previously outsourced directory solution, allowing the organization to bring the functionality in-house and reduce ongoing vendor dependency. Access to the directory was sold as part of CLIA’s member offerings, positioning it as a gated, value-added resource within the association’s revenue model.

Other projects