The client has several web sites using complex logic to display information to visitors. Their main goal is a phone call or an online form submission. Some visitors may need to be shown localized information, as well. Changes were incredibly difficult to make on the previous version, and small changes often had huge repercussions.

Code snippet
Main controller, providing variables to the templates

I took the functional HTML build and design as a base and used it to create reusable elements, keeping future site conversions in mind. There are now default values which are overridden by definitions in a single YAML file. This provides expandability and ease of editing since data can be added/removed as needed, and template files only need to be created to override the defaults.

Folder structure
Simple structure for all of the reusable and overridable elements

This project sparked great enthusiasm from the client due to the easier presentation of important information and little need for maintenance.

YAML snippet
Definitions of states, and which ones have overrides