Work Portfolio

Every project here reflects my belief that great front-end work balances creativity, structure, and performance. From building design systems in Storybook to optimizing user flows with semantic SEO and accessibility in mind, I strive to make the web not just work—but work beautifully. These highlights capture how I approach front-end challenges across teams, tools, and user goals.

Agile Workflow Implementation & Jira Project Management

Sr. Front End Developer · 2023-2025

Jira kanban board for main front end development tasks. Divided into swimlines for each business, with quick filters for urgent tasks and tasks related to specific projects. To-Do, In Progress, In Review, and On Hold columns track workflow.
Main Jira Board

Overview

In my role as Sr. Front End Developer, I led the effort to streamline team collaboration by implementing a unified Jira Kanban board across multiple retail brands. I centralized task tracking by consolidating workstreams from Sally Beauty and BSG into a single FEDX project, improving visibility and cross-functional coordination. I structured Epics and swimlanes for clarity, migrated and organized backlog items, and implemented GitHub commit linking for traceable development workflows. Acting as Scrum Master, I facilitated daily standups, defined lightweight Agile processes tailored to our needs, and drove continuous improvement through prioritized workflows and documented standards in Confluence. This initiative enhanced transparency, accountability, and team efficiency across the organization.

Jira kanban board for front end development tasks by assignee. Divided into swimlines for each team member. To-Do, In Progress, In Review, and On Hold columns track workflow.
Assignee Jira Board
Jira backlog for priortizing upcoming work. Tasks are in Ready or Not Ready states, and assigned to quarterly Epics to determine prioritization, in addition to ranked listing.
Jira Backlog
Jira dashboard to determine front end development team's bandwidth and workload. Each block is sorted by assignee and ranked according to the number of tasks in that given filter. Blocks exist for input to each assignee, current work in flight for each assignee, completed items for each assignee: all in the past 2 weeks. Another block is used to show the number of total items completed per assignee over the last 6 months.
Jira Dashboard

SEO & Accessibility: Hair Color Landing Page

Sr. Front End Developer · 2023

Hair Color Glossary SEO section featuring semantic HTML, internal linking strategy, and accessibility enhancements.
SEO Glossary

Glossary Section – Structured Information Architecture

I implemented a comprehensive Hair Color Glossary to educate users and boost search engine visibility for long-tail keywords:

  • Semantic HTML: Each term is wrapped in a proper heading (<h3>) followed by a <p> definition, ensuring screen readers and search engines can interpret the structure accurately.
  • Internal Linking Strategy: Every term includes a clearly labeled “Shop Now” <a> tag with aria-label attributes, improving both accessibility and SEO crawlability. These links directly target filtered product category pages using SFCC’s $url(...)$ syntax.
  • Accessibility Enhancements: All glossary links include aria-labels for context-aware screen reader navigation. The use of consistent heading hierarchy and plain language definitions improves readability for assistive technology users.

This glossary not only increases user engagement but also targets rich snippet eligibility for Google searches like “what is demi-permanent hair color?” or “hair color developer definition.”

Hair Color Glossary SEO section featuring Strategic Keyword Placement, Contextual Anchor Links, Paragraphs designed for Featured Snippets, and an accordion FAQ section with JSON-LD Schema Support, Expandable Content, and accessible interactivity.
SEO Content & FAQs

SEO Section – Keyword-Driven, Accessible Content Blocks

The “More About Hair Color” content block is crafted with both readability and search intent in mind:

  • Strategic Keyword Placement: Targeted phrases like “gray coverage,” “semi-permanent,” and “bleach” are embedded in natural language paragraphs, maximizing relevance without keyword stuffing.
  • Contextual Anchor Links: Inline <a> tags use descriptive, keyword-rich anchor text. All links contain data-event-* attributes for GTM tracking, enabling performance insights.
  • Paragraphs designed for Featured Snippets: Each block addresses a specific user query (e.g., benefits of semi-permanent hair color) in concise, informative text. Emphasis on verbs like "create," "refresh," "find," and "try" aligns with user action intents.

FAQ Accordion – Structured Data + Accessibility

The FAQ section utilizes a JavaScript-powered accordion component built with:

  • JSON-LD Schema Support: Questions and answers are structured in a way compatible with schema generation (if integrated), supporting rich results.
  • Expandable Content: Enhances page length and topical relevance without overwhelming the user upfront.
  • Interactive but Accessible: Toggle buttons use descriptive headings (<h3> equivalent roles). Text content inside is fully keyboard accessible, promoting WCAG compliance.
Resulting Benefits for SEO & Accessibility
Benefit Feature Implemented
🎯 Rich snippets / glossary targets Structured glossary with keyword-aligned links
⏱️ Higher time on page Internal educational content and FAQs
🗣️ Screen reader support Aria-labels, proper heading use, no redundant navigation
🐛 Crawlable structure Clean semantic HTML, keyword-targeted anchors
✏️ GTM Analytics All glossary and SEO links tagged with data-event-*

Similar Items Experience

Sr. Front End Developer · 03-2025

Overview

This Similar Items Comparison Chart experience was built as an A/B split test in Monetate to determine the effectiveness of product comparison information vs a product carousel. The experiement was a success, determining that users preferred seeing detailed product information up front, and were more likely to add products to bag directly from the chart and reach the conversion stage more quickly.

Desktop design for similar items comparison chart featuring product image, brand, product name, add to bag button, price, rating, and other category-specific attributes like hair color type, duration, need for developer, and other benefits
Similar Items (Desktop)

Skills Demonstrated

  • DOM Manipulation (Vanilla JS):
    • Proficient manipulation of the DOM using document.createElement, insertAdjacentHTML, and querySelectorAll.
    • Built dynamic UI tables using vanilla JavaScript for product comparison, adapting layouts and content on-the-fly based on API data.
  • Asynchronous JavaScript / Promises:
    • Usage of Promise.then() for asynchronous API data retrieval.
    • Fetched and rendered live product data asynchronously with custom API integrations.
  • Data Parsing & Filtering:
    • Conditional logic to process product attributes (e.g., filtering promotions, calculating rating stars, handling variant vs. master products).
    • Parsed and filtered product data structures to display dynamic promotional, pricing, and rating content.
  • Modular & Reusable Logic:
    • Use of helper functions (getWarrantyForPrice) and reusable switch cases for modular row generation.
    • Engineered modular logic for dynamic row generation across customizable product attributes.
  • Responsive Layout with Utility Classes:
    • Integration with utility-first class structures (Bootstrap + custom CSS).
    • Implemented responsive, mobile-first product layouts using utility class architecture.
  • Accessibility Enhancements:
    • Semantic HTML (.sr-only class) and accessible navigation (aria-label, keyboard-friendly links)
    • Ensured accessible navigation and product ratings via screen reader-friendly markup and ARIA attributes.
  • Edge Case Handling & Fallbacks: Anticipated edge cases and implemented UI fallbacks for missing product data and empty states.
  • Dynamic Data-driven Rendering: Programmatically generated data-driven UI for ratings, price comparisons, and warranty matching.
  • eCommerce Context & Experience:
    • Product info rendering (e.g. name, brand, image, add-to-cart button) with marketing tracking (data-event-action, data-event-label).
    • Developed interactive product detail modules aligned with eCommerce goals and marketing tracking needs.
Mobile design for similar items comparison chart featuring product image, brand, product name, add to bag button, price, rating, and other category-specific attributes like hair color type, duration, need for developer, and other benefits
Similar Items (Mobile)

Storybook

Sr. Front End Developer · 04-2025

Overview

Working in collaboration with UX, I began laying the foundation for a scalable design system using Storybook. My goal was to provide developers with accessible documentation and reusable components that reflected our approved brand tokens. I established the structure, architecture, and tooling that could support long-term adoption and handoff.

Storybook UI Button overview in Autodocs. Shows sidebar with story implmentations and documentation. Butto story docs show a preview of a CTA button, information and controls for variant, size, width, and text content, as well as usage guidelines.
Storybook Component

Tech Stack & Tooling

  • Framework: React 18 + Vite
  • Storybook: Version 8, using the @storybook/react-vite framework
  • TypeScript: Strongly typed components and stories
  • SCSS: Modular SCSS structure with utility classes for variants, states, spacing, typography, and color
  • Design Tokens: SCSS variables structured across palettes like Primary, Neutral, and Alert states
  • Bootstrap: Used for layout scaffolding within Storybook decorators
  • Accessibility: Focus styling and keyboard support in components
  • Addon Features:
    • @storybook/addon-controls: Interactive props editing
    • @storybook/addon-docs and @storybook/blocks: MDX-based docs with custom layouts and visual swatches
    • @whitespace/storybook-addon-html: Shows underlying HTML output
    • @storybook/test: Testing hooks for future visual/interaction testing
  • Linting: ESLint with Storybook plugin and TypeScript integration

Design System Integration

  • Color Documentation:
    • Created reusable <ColorItem> blocks using @storybook/blocks to document brand, neutral, and semantic color tokens (e.g., Sally Red, Error BG, etc.)
    • Structured into sections like Primary, Natural, Alert Text, and Alert Background palettes for UX parity with Figma
  • Typography & Layout:
    • Typography tokens defined in _typography.scss and referenced in MDX files
    • SCSS modifiers applied using structured class patterns: .df_template--[variant] and .df_template--[status]
Storybook UI for Button Primary Story. Features viewport breakpoint, interactive controls, and HTML output.
Story (Button - Primary)

Component Architecture

  • Reusable Component: TemplateComponent built with flexible props
    • variant: for block vs inline styles
    • status: for semantic intent (success, error, warning, info)
    • children: customizable message content
  • Styled Using: BEM-style SCSS utility classes for consistent design application
  • Dynamic Rendering in Stories:
    • Storybook story uses useFirstRender() hook to toggle between default and reactive content for live previewing component behavior
Storybook documentation for Button component. Features live variant displays and info, as well as colors and context from design system for HEX code reference.
Story Documentation

Storybook Documentation & Controls

  • Custom MDX Layouts:
    • Used <Title>, <Primary>, <Controls>, <Stories>, and <ColorPalette> from @storybook/blocks to structure intuitive documentation
  • Interactive Controls:
    • Storybook’s Controls tab wired to argTypes for live prop manipulation of status, variant, and content
  • Live Code Examples:
    • Stories include dynamic examples and static snapshots for each alert state to support visual QA and documentation
Skills Demonstrated in Storybook
Skill Application
🖌️ Component Design Modular, variant-based components with clear status handling
🔨 SCSS Architecture Utility class system for layout and states, global variable usage
📘 Design System Adaptation Converted Figma tokens into Storybook-documented design tokens
💯 Storybook Proficiency Custom docs layout, decorators, dynamic arg usage, MDX
💻 React & TypeScript Functional components with strict typing and prop management
♻️ Tooling & Automation ESLint integration, NPM scripts for Storybook builds (storybook, build-storybook)

Design System MVP Implementation

Created an MVP branch of the Design System to provide immediate access to UX-approved color, typography, and border radius utility classes. This foundational setup allows developers to begin using the design system without waiting for full integration.

Key Features:
  • SCSS Utilities: Centralized in branch and imported into the site's scss
  • Global Variables & Mixins: Configured via sass-resources-loader in the Webpack config, enabling use without manual imports
  • Font Integration: included webfont files and wired them to typography utilities
  • Non-intrusive Setup: Can be optionally commented out to avoid duplication with existing css


Promo Disclaimer

Sr. Front End Developer · 04-2024

Overview

Developed a dynamic script to inject promotional banner content with responsive imagery and a tooltip-style disclaimer for legal clarity. Collaborated with stakeholders by creating a visual PDF showcasing design variants for feedback and approval.

Mockup of promo disclaimer for desktop and mobile, with design specifications and variant for disclaimer position relative to banner
Promo Disclaimer Mockup (PDF)

E-Commerce Landing Page: Mindful at Sally

Sr. Front End Developer · 04-2024

Platform: Salesforce Commerce Cloud (SFCC)

Tools & Technologies: HTML5, SCSS, JavaScript, jQuery, Bootstrap, GTM, Responsive Design, Accessibility

Overview

A responsive, accessible landing page designed to highlight a sustainable product collection on SallyBeauty.com. Built using Salesforce Commerce Cloud, the page integrates dynamic carousels, analytics tagging, custom JavaScript interactivity, and structured content modules.

Screenshot of Mindful landing page on mobile, featuring hero image and description
Mindful LP (Mobile)
Screenshot of mindful hero on desktop, featuring hero image, description, shop all CTA, and benefits section with informational icons
Mindful Hero
Mindful desktop screenshot featuring learn more block with CTA, shop by category pill nav, and mindful hair care product carousel
Category Navigation & Product Carousel
Screenshot of Mindful LP on desktop feauturing FAQ accordion items and product gallery
FAQ and Product Gallery

Key Skills Demonstrated

  • Modular + Responsive HTML/CSS Development:
    • Created a modular, mobile-first layout using SFCC-compatible HTML and BEM-style class structuring.
    • Custom media queries for breakpoint-specific behavior (e.g., adaptive image swaps, hiding breadcrumbs).
    • SCSS-based utility classes for typography, color, and spacing using tokenized brand variables.
  • Accessibility & SEO Enhancements:
    • Implemented visually hidden <h1> and <h2> tags (.sr-only) for semantic SEO while maintaining layout control.
    • FAQ accordion uses proper ARIA roles and keyboard focus management (scrollIntoView(), focus()), including conditionally removing outlines on mouse interaction.
  • Component Architecture & Reusability:
    • Used content-asset and Demandware includes ($include(...)$) to structure reusable content modules and product tiles.
    • Dynamically built product carousels with fedx.buildVn() and FAQs with fedx.buildAccordion()—custom JavaScript utility patterns within SFCC.
  • User Experience Features:
    • Interactive “Learn More” button scrolls and expands specific FAQ accordion content to educate users, improving discoverability and flow.
    • Smooth hover transitions and responsive navigation for category filtering using pill-style buttons and GTM events for click tracking.
  • Integration with Salesforce Commerce Cloud:
    • Used SFCC-specific syntax for image and URL linking ($staticlink$, $url(...)$) ensuring compatibility with site controllers and pipelines.
    • Dynamic product tiles populate carousel sections using server-side includes mapped to product IDs, maintaining scalability.
Feature Highlights
Feature Details
🖼️ Hero Image & Messaging Responsive <picture> tag with alt text, conveying brand mission visually and accessibly.
🧭 Category Pill Navigation Navigation using GTM-linked anchors for analytics and customer segmentation.
🎠 Dynamic Product Carousel Carousel powered by SFCC includes and JavaScript rendering; supports promotional logic and user reviews.
❓ Informational FAQs Schema.org JSON-LD structured data embedded for SEO; custom accordion interface.
🌱 Sustainability Messaging Icons and visual content tied to brand pillars (Cruelty-Free, Vegan, etc.), reflecting marketing alignment.

Campaign Landing Page: Hispanic Heritage Month

Sr. Front End Developer · 03-2023

Platform: Salesforce Commerce Cloud (SFCC)

Tools & Technologies: HTML5, SCSS, JavaScript, Responsive Design, Accessibility, GTM Event Tagging

Overview

A branded landing page celebrating Hispanic Heritage Month, featuring dynamic content tiles, responsive layouts, custom quote styling, and integrated e-commerce product navigation. Built on Salesforce Commerce Cloud with a strong emphasis on accessibility, storytelling, and scalable design.

Hispanic Heritage landing page on desktop. Includes page title, hero banner, stylized description, and brand exploration CTA.
Hero Section
Screenshot of Hispanic Heritage Month landing page featuring assoicates with quotes about their heritage in a highly stylized responsive layout
Associate Quotes (Mobile)
Hispanic Heritage landing page on desktop. Includes imagery, quotes from associates, and a highly responsive stylized layout.
Associate Quotes (Desktop)
Hispanic Heritage landing page on desktop. Includes information about hispanic founded brands. Include photos of founders, quotes, brand CTAs, and product information: all in a highly stylized responsive layout.
Brand Founders

Key Skills Demonstrated

  • Advanced Responsive Layouts with Grid + Clamp:
    • Employed advanced CSS Grid and clamp() typography to scale beautifully across all screen sizes.
    • Designed overlapping, layered elements (e.g., quote blocks on background images) with precise media query adjustments from min-width: 410px to 1320px+ breakpoints.
  • Dynamic Content & Brand Storytelling:
    • Integrated visually rich brand spotlights using SFCC component includes ($url(...)$) and <blockquote> layouts for storytelling content.
    • Combined <picture> tags with lazy loading for performance-optimized media presentation.
  • Accessibility & Semantic HTML:
    • Used semantic tags (<section>, <blockquote>, <cite>) and descriptive alt text to support accessibility and SEO.
    • Implemented hover/focus states and accessible CTAs with clear visual feedback.
  • Custom JavaScript Enhancements:
    • Populated dynamic content tiles using a buildVn() function that injected HTML into the DOM based on defined brand data.
    • Created a modular component approach for product navigation and tiles, supporting reuse and localization.
  • Thematic Styling & Brand Identity:
    • Developed a cohesive visual identity using SCSS tokens (.hhm__orange, .hhm__heading--large) and themed color variables.
    • Implemented background overlays and visual hierarchy to emphasize cultural storytelling, brand equity, and social mission.
  • E-Commerce Integration:
    • Used GTM-friendly event labels (data-event-action, data-event-label) for all interactive elements to support analytics and campaign performance tracking.
    • Product category navigation built with SFCC’s Demandware $url(...)$ hooks for filterable shopping experiences.
Feature Highlights
Feature Description
🎞️ Hero Animation <picture>-based hero section swaps animated .gif between mobile and desktop.
🧑‍🤝‍🧑 Associate Spotlights Grid-based quotes and <blockquote>s layered over custom image backgrounds.
🌟 Brand Showcase Modules Featured founders and brands with responsive layouts, images, and pull-quotes.
🧭 Category Navigation Custom pill nav and tile-based product browsing.
📦 Visual Navigation (VN) Dynamically rendered VN tiles via JavaScript config for easy updates.