Alo Yoga Live Demo Hero
Alo Logo White

Interactive Store Locator

Transforming a static list into a dynamic, map-based experience for discovering Alo Store retail locations.

EXECUTIVE SUMMARY

Reimagining Store Discovery

The Alo Yoga Interactive Store Locator project transformed a static list of retail locations into a dynamic, map-based experience—enabling users to visually discover, filter, and navigate to Alo Yoga stores across North America. The proof-of-concept leverages the Google Maps API, client-side geocoding, and custom JavaScript modules to deliver key features such as real-time distance sorting based on user geolocation, a robust city/zip fallback search, and an accessible, mobile-first interface.

200+

Store locations mapped with interactive custom markers

40%

Reduction in lookup time for finding nearest stores

100%

Mobile-optimized with responsive design

PROBLEM & OBJECTIVES

The Challenge

Alo Yoga's website historically presented its retail locations as a simple, static list—forcing users to scroll through hundreds of entries to find a store near them.

  • Difficult to visually understand store distribution and proximity

  • No way to quickly identify the closest location

  • Poor navigation experience, especially on mobile devices

Our Objectives

  • 01

    Improve Discoverability: Provide a visual interface that maps all store locations and highlights those nearest to the user.

  • 02

    Enhance Mobile Experience: Design a responsive UI that seamlessly toggles between list and map views.

  • 03

    Streamline Navigation: Enable users to click directly on map markers or list items to view store details.

  • 04

    Maintain Brand Alignment: Implement a design consistent with Alo Yoga's clean, modern aesthetic.

SOLUTION OVERVIEW

The Interactive Experience

Alo Yoga Store Locator Interface

I developed a proof-of-concept (PoC) that transforms raw store data from Alo Yoga's website into an interactive, map-based interface. The process began with using the Firecrawl MCP server to crawl the live store pages state-by-state, extracting key store details and converting them into a consolidated JSON dataset.

Desktop Map ViewDesktop Map Info Panel

Geolocation & Proximity Sorting

Upon page load, the app requests user geolocation, calculates distances via the Haversine formula, and sorts stores nearest-first.

Fallback City/Zip Search

Users can input a city or ZIP code; the input is geocoded, and if no stores appear in the viewport, the five closest stores to the searched location are displayed.

Real-Time Open/Closed Status

Each store displays current open/closed status based on structured hours data; InfoWindows also indicate when the store will next open or close.

Responsive Mobile UI

A split-view desktop layout transitions to a stacked mobile view with a clear List/Map toggle, ensuring usability on all devices.

Mobile List Panel

Mobile List Panel

Mobile Map Tab View

Mobile Map Tab View

Store Info (Open)

Store Info (Open)

CUSTOM MAP PIN COMPONENTS

Custom Map Pin Components

The Alo Yoga Interactive Store Locator features bespoke map pin components, designed for high contrast and brand alignment. These pins—created as SVG assets are used as interactive markers on the Google Map, with animated overlays and color variants for different map themes. The design and implementation of these pins are detailed in the case study, and they play a key role in the visual clarity and usability of the PoC.

Alo Pin White SVGalo_pin_white.svg
Alo Pin Black SVGalo_pin_black.svg

These assets are used as interactive map markers in the PoC, with animated overlays and color variants for different map themes. See the case study for more details on their design and implementation.

TECHNICAL IMPLEMENTATION

Under the Hood

Architecture & Tech Stack

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+)

  • Maps & Geocoding: Google Maps JavaScript API v3, Google Maps Geocoding API

  • Data Format: JSON master files (allStoresData)

  • Scripting: Python 3.13 for batch geocoding

  • Hosting: Vercel for PoC deployment

Module Breakdown

  • config.js: Central settings (API keys, map style definitions)

  • aloPinOverlay.js: Custom OverlayView subclass for map pins

  • mapManager.js: Map initialization and overlay management

  • storeManager.js: Data fetching, geocoding, and filtering

  • uiManager.js: DOM rendering and user interaction handling

  • app.js: Top-level orchestrator for all modules

Code Snippet: Haversine Distance Calculation

// Calculate distance between two points using Haversine formula
function calculateDistance(lat1, lon1, lat2, lon2) {
  const R = 6371; // Radius of the earth in km
  const dLat = deg2rad(lat2 - lat1);
  const dLon = deg2rad(lon2 - lon1);
  
  const a = 
    Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
    Math.sin(dLon/2) * Math.sin(dLon/2);
  
  const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
  const distance = R * c; // Distance in km
  
  return distance;
}

function deg2rad(deg) {
  return deg * (Math.PI/180);
}

Data Handling & Geocoding

Raw HTML is crawled and structured into JSON, then loaded at runtime to populate the map and store list. A Python script iteratively called the Geocoding API to append latitude/longitude coordinates.

UI/UX Details

The interface features a split-screen desktop view with a 60/40 store list/map ratio and a stacked mobile layout with intuitive one-finger map controls and brand-aligned custom InfoWindows.

RESULTS & IMPACT

Measurable Outcomes

Live Demo Screenshot

Live Demo & Adoption

The PoC is deployed at storemap-gamma.vercel.app, providing stakeholders with an interactive preview of the new UX.

User Experience Improvements

Internal user testing showed a 40% reduction in time required to locate the nearest store, and qualitative feedback praised the visual clarity and responsiveness of the map interface.

Scalability & Maintainability

The modular codebase (six JavaScript modules, each under 300 lines) ensures easy onboarding for new developers and straightforward future feature additions.

Brand Alignment

The custom map styling, typography, and SVG markers received positive feedback from the design team for faithfully reflecting Alo Yoga's aesthetic.

FUTURE ENHANCEMENTS

Looking Ahead

Feature Expansion

  • Amenities filtering

  • User favorites

  • Analytics integration

Backend Evolution

  • Transition to backend data service

  • SQL/Elasticsearch implementation

  • Real-time inventory updates

Testing & Optimization

  • A/B testing UI variations

  • Performance benchmarking

  • Accessibility enhancements

Like what you see?

Let's talk about your next project.

Try the Interactive Map
Connect on LinkedIn