Las Vegas Sands

Venetian Meetings

Built in Handlebars and integrated in AEM

Venetian Meetings
Full frontend development
Client
Las Vegas Sands
Role
Lead Senior Front-End Engineer
Company
Code and Theory SF
Url
https://www.venetian.com/meetings
Period

Building the Digital Experience for Venetian Meetings

The Venetian Resort in Las Vegas is synonymous with luxury and scale, and its meetings and conventions services are no exception. The goal for the Venetian Meetings digital platform was to create a sophisticated, user-friendly, and high-performance front-end experience that mirrors the premium quality of the physical venue. I was a key developer on the front-end team responsible for bringing this vision to life.

This project involved building a modular, scalable, and maintainable codebase from the ground up, designed to be seamlessly integrated with a content management system (CMS), Adobe Experience Manager (AEM).


A Modular, Mobile-First Approach

From the outset, we adopted a component-based architecture. The user interface was broken down into distinct, reusable modules—such as testimonials, media galleries, and rich text blocks. This strategy, combined with Handlebars for templating, allowed us to construct complex page layouts from a library of independent components, ensuring visual consistency and development efficiency.

Our styling approach was strictly mobile-first. We used SCSS and the BEM (Block, Element, Modifier) naming convention to create a logical and conflict-free stylesheet architecture. Core styles were defined for the smallest viewports, with enhancements for larger screens layered on top using custom breakpoint mixins. This ensured a fast, optimized experience on mobile devices while allowing for richer, more complex layouts on desktops.


Automating the Build with a Custom Static Site Generator

To support our modular architecture, we developed a sophisticated build process using Gulp.js. This wasn’t just about compiling assets; we created custom tasks to automate content aggregation and page generation, effectively creating a powerful static site generator tailored to the project’s needs.

A key feature was our data-driven templating pipeline. We structured all page and component content in a hierarchy of JSON files. A custom Gulp task would traverse this directory structure, concatenating related JSON files into page-specific data sets, and then merging them into a single site-wide content object. The main Handlebars task would then dynamically read our page templates, match them with their corresponding aggregated data, and inject global site configuration. This allowed us to build and manage dozens of unique pages efficiently, with a clear separation between content, structure, and presentation.

We also implemented several custom Handlebars helpers to solve unique design challenges directly within the templates. For instance, a stateful accentCount helper was created to cycle through a set of accent colors or styles within a loop, allowing us to apply varied visual treatments to repeating elements automatically without cluttering the template logic.


Prioritizing Accessibility

A major focus of the project was ensuring the website was accessible to all users. We undertook a comprehensive accessibility initiative, which involved a significant refactor of key interactive elements.

Throughout the site, elements that looked like buttons but were implemented as anchor tags (<a>) were systematically converted to semantic <button> elements. This ensures that users relying on screen readers and other assistive technologies receive the correct context for interactive controls. Furthermore, we implemented “skip navigation” links and audited our use of ARIA attributes to provide a more robust and accessible experience, as documented in our project changelog.


A Disciplined Development Workflow

The project’s success was underpinned by a disciplined and collaborative development process. We adhered to a strict Git workflow, with each new feature or bug fix developed in its own branch, based on its corresponding Jira ticket.

Code quality was maintained through a mandatory peer-review process for all pull requests. This, combined with our detailed CONTRIBUTING.md guide, ensured that every developer on the team was aligned on architectural patterns, coding standards, and best practices, resulting in a clean, consistent, and professional codebase.


Technologies Used