Case Study · Front-End Development

A component library
for Miller School
of Medicine.

Four production-ready Sitecore components built to extend Miller School's content authoring system. Each one began as an AI-prototyped baseline, then was refined to match University of Miami brand standards and meet WCAG 2.2 accessibility guidelines.

Client
Miller School of Medicine
Agency
Aegis Digital LLC
Duration
Fall 2025
Role
Developer
Miller School Component Library
Sitecore Components
Modular building blocks for med.miami.edu
A–Z
Treatment List
2:1
Staggered Gallery
$1.5M
Animated Stats
3D
Video Slider
WCAG 2.2 · RESPONSIVE · ACCESSIBLE
Components Shipped
4
Production ready, deployed
Stack
HTML · CSS · JS
Sitecore CMS environment
Standard
WCAG 2.2 AA
Accessibility compliant
Live Showcase
um-fall-components-
2025.madelinecole.com
Demo deployment
01
Part One

Introduction to the project.

The setup. Who the work was for, what was made, who it served, who built it, and how long it took.

Client Product Type Project Name Problem Audience Team Size Duration Role
1.1 / OVERVIEW
The setup at a glance

Helping a teaching hospital tell its story, one block at a time.

The University of Miami Miller School of Medicine is one of the largest academic medical centers in the Southeast, with hundreds of pages spanning patient care, research, and education across med.miami.edu. Their Sitecore site is built and maintained for them by Aegis Digital LLC, the agency I work for as a developer.

For the Fall 2025 semester, my assignment was to expand Miller School's library of authoring components: small, self-contained building blocks that content authors can drop into any page without writing a line of code. I shipped four of them under the working title of the UHealth Sitecore Component Library.

Client
University of Miami Miller School of Medicinemed.miami.edu · engaged through Aegis Digital LLC
Product Type
Custom Sitecore component libraryFront-end build, four modular authoring components
Project Name
UHealth Sitecore Component LibraryFall 2025 cohort
Team Size
3 peopleDeveloper, design lead, final approver
Duration
Fall 2025~16 weeks of iterative work, one component cycle at a time
My Role
DeveloperComponent build, brand application, accessibility, deployment
" 1.2 / The Problem

Miller School content authors had stories to tell about research breakthroughs, patient outcomes, and student life, but no flexible way to tell them visually.

The existing Sitecore library covered the basics: hero banners, accordions, CTA cards. It stopped short of richer storytelling formats. Authors were left pasting screenshots into rich-text fields, asking developers for one-off builds, or settling for layouts that didn't match the polish of the rest of med.miami.edu. The library needed components that could surface treatments, showcase research data, highlight social media content, and present galleries — all without authors writing a line of code, and all on brand with the existing UHealth design system.

1.3 / TEAM
Who built it

A small, fast feedback loop. One developer, two layers of review.

MC
Developer

Madeline Cole

Built each component end to end. Owned the technical architecture, brand application, accessibility audit, Sitecore integration, and deployment to the live showcase. That's me.

A
Designer & Project Lead

Adam

My direct boss. Made design decisions and reviewed every iteration of every component, surfacing UX adjustments and brand-alignment notes before passing work upstream.

T
Final Approver

Tauffyt

Adam's boss and the final sign-off on every component. Approved the production-ready version of each piece before it was considered shipped.

1.4 / AUDIENCE
Who it's for

Designed for the visitors of med.miami.edu.

The Miller School site serves four distinct audiences, each arriving with different goals. The components had to read clearly to all of them.

Patients & Families

Researching treatments, finding specialists, understanding care options at one of the region's largest academic medical centers.

Prospective Students

Exploring M.D., Ph.D., and dual-degree programs, evaluating fit, and looking for proof points like research output and faculty quality.

Researchers & Faculty

Reviewing the school's published work, finding collaborators, and verifying credentials of programs and labs.

Content Authors

Internal Sitecore users — the secondary audience. Components have to be authoring-friendly so the public-facing experience stays consistent.

02
Part Two

The content section.

The work itself. Process, methods, constraints, and the deliverables that came out the other side.

Process Methods Challenges Constraints Deliverables Style Guide Application Final Build
2.1 / PROCESS
Process phases & methods

A repeatable workflow, six phases per component.

Every component followed the same loop. The defining method of this engagement was AI as a development accelerator: I prompted Claude to build a working baseline of each component, then took ownership of brand application, accessibility, Sitecore integration, and the review cycle.

01

Brief

Adam defined the content gap, target page, and reference examples. I confirmed scope and acceptance criteria.

↳ Spec notes
02

AI Prototype

Worked with Claude to generate a functional vanilla HTML, CSS, and JS baseline that hit the spec without any branding applied.

↳ Generic component
03

Brand Apply

Replaced placeholder colors, fonts, and spacing with University of Miami tokens from the UHealth style guide.

↳ On-brand component
04

Audit

Hardened for production: WCAG 2.2 AA accessibility, Sitecore-safe CSS isolation, IIFE-scoped JS, edge-case handling.

↳ Production code
05

Review

Adam reviewed every iteration. I revised, then routed final output to Tauffyt for sign-off.

↳ Approved build
06

Deploy

Pushed to Sitecore, then mirrored to a public showcase at um-fall-components-2025.madelinecole.com.

↳ Live URL
AI
Method spotlight: the AI-assisted workflow

Claude handled the boilerplate. I handled everything that mattered.

The AI baseline saved hours of writing scaffolding code, but always needed real engineering judgment afterward: enforcing CSS isolation in Sitecore's shared style environment, applying brand tokens consistently, fixing accessibility gaps the model missed, and adapting markup to match patterns the rest of the Miller School library already used. The result is faster delivery without compromising on craft or accountability.

2.2 / CHALLENGES & CONSTRAINTS
What was hard, and what I did about it

Building inside an enterprise CMS introduces constraints you don't see in greenfield projects.

Challenge 01

AI baselines were generic, not on-brand

Components generated by Claude were functional but visually neutral: default fonts, placeholder colors, generic spacing. They looked nothing like the rest of med.miami.edu.

Solution

Used the UHealth style guide as the source of truth. Replaced every placeholder with a brand token: green #005030, orange #F47321, blue #59A1CD, plus the approved typography scale. Treated the AI output as scaffolding and the brand application as the real engineering work.

Challenge 02

Style isolation in a shared CSS environment

Sitecore loads global stylesheets that aggressively style every element on the page. New components were inheriting unwanted padding, font sizes, and border styles from the parent theme.

Solution

Adopted a strict naming convention. Every component prefixed all classes with a unique slug like .uhealth-az-d5__. For elements that needed to fight inheritance, used all: unset to reset everything before applying component styles.

Challenge 03

Reliable JavaScript across page load timings

Sitecore pages render asynchronously, with components sometimes injected after DOMContentLoaded. Initial scripts ran before their target elements existed, breaking the gallery and slider.

Solution

Wrapped each component's JavaScript in an IIFE and added a defensive querySelector guard before initializing. Components fail silently if their root element is missing, rather than throwing console errors that break the whole page.

Challenge 04

WCAG 2.2 compliance for interactive components

The 3D video slider and hover-revealed gallery captions both posed accessibility risks. Keyboard users couldn't trigger reveals, and screen reader users had no way to announce slide changes.

Solution

Added focus states that mirror hover states, ARIA roles for the carousel (role="region", aria-label), full keyboard navigation with arrow keys, and visible focus outlines on every interactive element. Tested with VoiceOver and keyboard-only flows.

2.3 / DELIVERABLES — THE COMPONENTS
Mockups · Prototypes · Final builds

Four building blocks, each solving a specific authoring problem.

01 — DIRECTORY

A-Z Treatment List

A scannable, alphabetized treatment directory with sticky letter navigation and a visual distinction between linked and unlinked entries. Replaces a flat 3-column unordered list that visitors couldn't scan.

  • Smooth scroll plus flash highlight on letter click for visual feedback
  • Disabled state for letters with no matching treatments, shown in gray and not clickable
  • Auto-grouping by first letter, so authors just add a flat list
  • Responsive grid reflows from multiple columns to one on mobile
A-Z Treatment List
Treatments A–Z
A
Acne
Allergies
Anemia
Asthma
B
Bladder Control
Bloodless Surgery
Brain Tumor
02 — VISUAL STORYTELLING

Staggered Rows Gallery

An editorial image gallery with alternating 2:1 and 1:2 row ratios, GLightbox integration, and hover-revealed captions. Designed to feel curated rather than gridded.

  • Asymmetric ratios create visual rhythm and avoid monotony
  • GLightbox enables full-screen viewing with custom Miller School styling
  • Captions reveal on hover with staggered fade-in for polish
  • Mobile friendly: stacks to single column with always-visible text
Staggered Rows Gallery
03 — DATA DISPLAY

Animated Stats Display

A counter component for showcasing research metrics, faculty stats, and student outcomes. Numbers animate from zero on scroll, using IntersectionObserver and a cubic ease-out curve.

  • Scroll-triggered animation via IntersectionObserver. No autoplay waste.
  • Configurable prefix and suffix ($, %, " Million", " Years")
  • Three accent colors map to UHealth brand: green, orange, blue
  • Auto-grid layout handles 1 to 8 stats responsively
Animated Stats Display
$1.5 Million
In extramural grant funding by graduate students
8.7
Average publications per M.D./Ph.D. graduate
5.57 Years
Average years to degree for Biomedical Ph.D. students
04 — SOCIAL CONTENT

Instagram Video Slider

A 3D perspective carousel for embedded Instagram Reels, with a click-to-open lightbox player. Solves the problem of how to feature student life and #MedCanes content directly on med.miami.edu.

  • 3D perspective transform creates depth and focus on the active reel
  • Lightbox player opens full-size video without leaving the page
  • Auto-advance with hover pause, plus arrow and indicator navigation
  • Keyboard support: arrows navigate, Escape closes lightbox
Instagram Video Slider
Watch Latest
2.4 / FINAL DELIVERABLES
What shipped at the end of the engagement

Code, audits, integration, and a public showcase.

Source Code

Four self-contained components in HTML, CSS, and vanilla JavaScript. Each one drops into Sitecore as a single block of markup.

Accessibility Audit

WCAG 2.2 AA verified. Keyboard navigation, focus states, ARIA roles, contrast ratios, and reduced-motion preferences all addressed.

Sitecore Integration

Each component deployed to the Miller School Sitecore environment, ready for content authors to drop into any page.

Showcase Site

Live demo at um-fall-components-2025.madelinecole.com, showing every component in isolation with full interactivity.

Style guide applied · tooling & stack
UHealth Style Guide
#005030 · Green
#F47321 · Orange
#59A1CD · Blue
HTML5
CSS3
Vanilla JS
Sitecore CMS
Claude AI
GLightbox
Instagram Embed API
IntersectionObserver
WCAG 2.2 AA
03
Part Three

Conclusion & next steps.

Closing the loop. A summary of what shipped, what I learned, and what should come next.

Project Summary Lessons Learned Recommendations
3.1 / SUMMARY
A brief summary of the project

A library, not just a list of one-off components.

Across the Fall 2025 semester, the Miller School Sitecore library grew by four production-ready components: an A-Z Treatment List, a Staggered Rows Gallery, an Animated Stats Display, and an Instagram Video Slider. Each one closed a specific content gap that had been forcing authors into workarounds, and each one shipped on brand and on accessibility standard.

The defining characteristic of the engagement was the division of labor between AI and engineer. Letting Claude generate the structural baseline meant I could spend my time on the work that actually moves a project from "functional" to "production": brand fidelity, accessibility, CMS-specific edge cases, and reviewer feedback. Adam reviewed every iteration; Tauffyt approved every final build. The result is live at um-fall-components-2025.madelinecole.com and inside the Miller School Sitecore environment.

3.2 / LESSONS LEARNED
Reflection on what the project taught me

Four things I took away from this engagement.

  1. 01
    AI is a starter, not a finisher.

    Claude generated functional baselines fast, but the gap between "works" and "ready for med.miami.edu" was always significant. The brand application, accessibility hardening, and Sitecore-specific fixes were where my time and judgment actually mattered.

  2. 02
    A style guide is a contract.

    Having the UHealth tokens documented in advance meant brand application was mechanical, not interpretive. Every color, font weight, and spacing value had a canonical source. That removed an entire category of subjective debate from review cycles.

  3. 03
    Tight feedback loops beat exhaustive specs.

    Rather than over-documenting up front, the team relied on Adam reviewing each iteration and Tauffyt approving the final cut. Small loops with two reviewers caught issues earlier than a heavy spec ever would have.

  4. 04
    Isolation makes scaling possible.

    Strict CSS prefixes and IIFE-wrapped JavaScript looked like overkill on a single component. Across four components on the same page, they were the difference between a library and a pile of conflicting code.

3.3 / NEXT STEPS
Recommendations for future development

Where this could go in the next iteration.

01 — DOCUMENTATION

A real component README

Right now the showcase is the documentation. A future iteration would include a written README per component with usage notes, prop options, and accessibility notes for future developers and content authors.

02 — EXPANSION

More authoring components

Obvious next candidates: a research publication card, a faculty profile grid, an interactive timeline, and a comparison table. Each one would extend the library further into Miller School's specific content patterns.

03 — PERFORMANCE

Lighthouse and bundle audits

Each component is performant in isolation. The next iteration would benchmark them stacked together on real Miller School pages to catch any cumulative load impact and optimize for Core Web Vitals.