BS
Bourbon Selector
Find Your Bottle
Get Started
Personalized Whiskey Matching

Find the Whiskey That Fits You.

Answer six quick questions and we’ll narrow more than 600 bourbons, ryes and American whiskeys down to your best matches.

600+
Bottles
6
Questions
10
Matches
/* ========================================================= SCREEN NAVIGATION ========================================================= */ function bsShowScreen(number) { var screens = document.querySelectorAll( “#bourbonSelectorApp .bs-screen” ); for (var i = 0; i = max) { if (changed === “min”) { min = Math.max( 4, max – 2 ); minInput.value = min; } else { max = Math.min( 20, min + 2 ); maxInput.value = max; } } document.getElementById( “bsAgeMinText” ).innerHTML = min === 20 ? “20+” : min; document.getElementById( “bsAgeMaxText” ).innerHTML = max === 20 ? “20+” : max; } /* ========================================================= SIMPLE PILL TOGGLES ========================================================= */ function bsTogglePill(button) { var selected = button.getAttribute( “data-selected” ) === “true”; if (selected) { button.setAttribute( “data-selected”, “false” ); button.style.background = “#FFFFFF”; button.style.borderColor = “#E5DFD7”; button.style.color = “#5E5953”; button.innerHTML = button.innerHTML .replace(“●”, “○”); } else { button.setAttribute( “data-selected”, “true” ); button.style.background = “#FFF3E2”; button.style.borderColor = “#F59A23”; button.style.color = “#171717”; button.innerHTML = button.innerHTML .replace(“○”, “●”); } } /* ========================================================= Q3 + Q4 MULTI SELECT ========================================================= */ function bsToggleOption( button, containerId, allId ) { var selected = button.getAttribute( “data-selected” ) === “true”; if (selected) { bsStyleOption( button, false ); } else { bsStyleOption( button, true ); } var container = document.getElementById( containerId ); var buttons = container.querySelectorAll( “button” ); var anySelected = false; for ( var i = 0; i < buttons.length; i++ ) { if ( buttons[i].getAttribute( "data-selected" ) === "true" ) { anySelected = true; break; } } var allButton = document.getElementById( allId ); if (anySelected) { allButton.setAttribute( "data-selected", "false" ); allButton.style.background = "#F8F6F2"; allButton.style.color = "#6F6962"; allButton.style.borderColor = "#E5DFD7"; } else { bsActivateAll( allButton ); } } function bsStyleOption( button, selected ) { var indicator = button.querySelector( "span" ); if (selected) { button.setAttribute( "data-selected", "true" ); button.style.background = "#FFF3E2"; button.style.borderColor = "#F59A23"; button.style.boxShadow = "inset 0 0 0 1px #F59A23"; if (indicator) { indicator.innerHTML = "●"; indicator.style.color = "#F59A23"; } } else { button.setAttribute( "data-selected", "false" ); button.style.background = "#FFFFFF"; button.style.borderColor = "#E5DFD7"; button.style.boxShadow = "none"; if (indicator) { indicator.innerHTML = "○"; indicator.style.color = "#C1BAB2"; } } } function bsActivateAll(button) { button.setAttribute( "data-selected", "true" ); button.style.background = "#171717"; button.style.color = "#FFFFFF"; button.style.borderColor = "#171717"; } function bsSelectAll( containerId, allId ) { var container = document.getElementById( containerId ); var buttons = container.querySelectorAll( "button" ); for ( var i = 0; i < buttons.length; i++ ) { bsStyleOption( buttons[i], false ); } bsActivateAll( document.getElementById( allId ) ); } /* ========================================================= Q5 + Q6 SINGLE SELECT ========================================================= */ function bsSelectOne( button, containerId ) { var container = document.getElementById( containerId ); var buttons = container.querySelectorAll( "button" ); for ( var i = 0; i < buttons.length; i++ ) { buttons[i].setAttribute( "data-selected", "false" ); if ( containerId === "bsPriceOptions" ) { buttons[i].style.background = "#FFFFFF"; buttons[i].style.color = "#77716A"; buttons[i].style.borderColor = "#E5DFD7"; buttons[i].style.boxShadow = "none"; } else { buttons[i].style.background = "#FFFFFF"; buttons[i].style.borderColor = "#E5DFD7"; var title = buttons[i].querySelector( "strong" ); if (title) { title.innerHTML = title.innerHTML .replace("●", "○"); } } } button.setAttribute( "data-selected", "true" ); if ( containerId === "bsPriceOptions" ) { button.style.background = "#171717"; button.style.color = "#F59A23"; button.style.borderColor = "#171717"; button.style.boxShadow = "0 8px 18px rgba(0,0,0,.12)"; } else { button.style.background = "#FFF3E2"; button.style.borderColor = "#F59A23"; var selectedTitle = button.querySelector( "strong" ); if (selectedTitle) { selectedTitle.innerHTML = selectedTitle.innerHTML .replace("○", "●"); } } } /* ========================================================= COLLECT SELECTED VALUES ========================================================= */ function bsGetMultiValues( containerId ) { var container = document.getElementById( containerId ); var buttons = container.querySelectorAll( "button" ); var values = []; for ( var i = 0; i < buttons.length; i++ ) { if ( buttons[i].getAttribute( "data-selected" ) === "true" ) { values.push( buttons[i].getAttribute( "data-value" ) ); } } return values; } function bsGetSingleValue( containerId ) { var container = document.getElementById( containerId ); var buttons = container.querySelectorAll( "button" ); for ( var i = 0; i < buttons.length; i++ ) { if ( buttons[i].getAttribute( "data-selected" ) === "true" ) { return buttons[i] .getAttribute( "data-value" ); } } return null; } /* ========================================================= FINAL ANSWERS ========================================================= */ function bsGetAnswers() { var brand = parseInt( document.getElementById( "bsBrandRange" ).value ); var mash = bsGetMultiValues( "bsMashOptions" ); var maturation = bsGetMultiValues( "bsMaturationOptions" ); return { craftPercentage: 100 – brand, heritagePercentage: brand, ageMin: parseInt( document.getElementById( "bsAgeMin" ).value ), ageMax: parseInt( document.getElementById( "bsAgeMax" ).value ), ageStatedOnly: document .getElementById( "bsAgeStated" ) .getAttribute( "data-selected" ) === "true", bottledInBondOnly: document .getElementById( "bsBondOnly" ) .getAttribute( "data-selected" ) === "true", mashbill: mash.length ? mash : ["all"], maturation: maturation.length ? maturation : ["all"], priceTier: parseInt( bsGetSingleValue( "bsPriceOptions" ) ), availability: bsGetSingleValue( "bsAvailabilityOptions" ), singleBarrelOnly: document .getElementById( "bsSingleBarrel" ) .getAttribute( "data-selected" ) === "true" }; } /* ========================================================= FIND MATCHES ========================================================= */ function bsFinish() { var answers = bsGetAnswers(); console.log( "Bourbon Selector Answers:", answers ); /* ====================================================== YOUR GOOGLE SHEET / APPS SCRIPT MATCHING CONNECTION WILL GO HERE. The complete selections are available in: answers ====================================================== */ } /* INITIALIZE */ bsUpdateBrand(); bsUpdateAge("min");

Explore Bourbon & Whiskey

Featured posts to help you find the perfect pour.