Remove Spirits from the home page

Drops the Spirits venture from the hero icons, the ventures tabs and its 3D bottle,
and from the home copy and meta description, with matching ES/AR translations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Alejandro Veras
2026-10-16 11:30:05 -04:00
parent 965ec4c2c5
commit d99d86a269
5 changed files with 16 additions and 38 deletions
+2 -3
View File
@@ -16,11 +16,10 @@ export const localize = (path, locale) => (locale === DEFAULT_LOCALE ? path : `/
export const JS_STRINGS = [
'Switch to light mode', 'Switch to dark mode', 'Open menu', 'Close menu', 'Copied',
'Your email app should open with the message ready to send.',
'AI Software', 'Marketing & AI Search', 'Spirits', 'Education Technology', 'Cybersecurity', 'E-Commerce',
'MARKETING & AI SEARCH', 'AI SOFTWARE', 'SPIRITS', 'EDUCATION TECHNOLOGY', 'CYBERSECURITY', 'E-COMMERCE',
'AI Software', 'Marketing & AI Search', 'Education Technology', 'Cybersecurity', 'E-Commerce',
'MARKETING & AI SEARCH', 'AI SOFTWARE', 'EDUCATION TECHNOLOGY', 'CYBERSECURITY', 'E-COMMERCE',
'Leading teams through a constantly changing search landscape.',
'Building around new opportunities created by AI.',
'Taking a consumer brand from idea to market.',
'Creating technology designed for real classrooms.',
'Solving security challenges for growing businesses.',
'Turning product ideas into businesses built around real customers.',
+3 -6
View File
@@ -1,6 +1,6 @@
{
"Dylan Mazzei | Founder, Operator &amp; Entrepreneur": "ديلان مازي | مؤسس ومشغّل ورائد أعمال",
"Meet Dylan Mazzei, a founder and operator leading ventures across AI, software, spirits, education, cybersecurity, e-commerce, and more.": "تعرّف على ديلان مازي، المؤسس والمشغّل الذي يقود مشاريع في الذكاء الاصطناعي والبرمجيات والمشروبات الروحية والتعليم والأمن السيبراني والتجارة الإلكترونية وغيرها.",
"Meet Dylan Mazzei, a founder and operator leading ventures across AI, software, education, cybersecurity, e-commerce, and more.": "تعرّف على ديلان مازي، المؤسس والمشغّل الذي يقود مشاريع في الذكاء الاصطناعي والبرمجيات والتعليم والأمن السيبراني والتجارة الإلكترونية وغيرها.",
"Skip to content": "انتقل إلى المحتوى",
"Dylan Mazzei, home": "ديلان مازي، الصفحة الرئيسية",
"Dylan <b>Mazzei</b>": "Dylan <b>Mazzei</b>",
@@ -43,7 +43,7 @@
"DYLAN MAZZEI | FOUNDER &amp; OPERATOR": "ديلان مازي | مؤسس ومشغّل",
"One Good Idea Has Never": "لم تكن فكرة جيدة واحدة",
"Been Enough for Me.": "كافية لي يومًا.",
"I’ve spent the last eight years turning ideas into companies across marketing, AI, software, spirits, education, cybersecurity, e-commerce, and more. Four have been sold. Others are growing. And I’m nowhere near finished building.": "أمضيت السنوات الثماني الماضية في تحويل الأفكار إلى شركات في التسويق والذكاء الاصطناعي والبرمجيات والمشروبات الروحية والتعليم والأمن السيبراني والتجارة الإلكترونية وغيرها. بيعت أربع منها. وأخرى تواصل النمو. وما زلت بعيدًا كل البعد عن التوقف عن البناء.",
"I’ve spent the last eight years turning ideas into companies across marketing, AI, software, education, cybersecurity, e-commerce, and more. Four have been sold. Others are growing. And I’m nowhere near finished building.": "أمضيت السنوات الثماني الماضية في تحويل الأفكار إلى شركات في التسويق والذكاء الاصطناعي والبرمجيات والتعليم والأمن السيبراني والتجارة الإلكترونية وغيرها. بيعت أربع منها. وأخرى تواصل النمو. وما زلت بعيدًا كل البعد عن التوقف عن البناء.",
"MY STORY": "قصتي",
"EXPLORE MY VENTURES": "استكشف مشاريعي",
"Four exits": "أربع صفقات تخارج",
@@ -67,7 +67,6 @@
"MARKETING &amp; AI SEARCH": "التسويق والبحث بالذكاء الاصطناعي",
"Active": "نشطة",
"AI SOFTWARE": "برمجيات الذكاء الاصطناعي",
"SPIRITS": "المشروبات الروحية",
"EDUCATION TECHNOLOGY": "تكنولوجيا التعليم",
"CYBERSECURITY": "الأمن السيبراني",
"E-COMMERCE": "التجارة الإلكترونية",
@@ -96,10 +95,9 @@
"\"finishedBuilding\"": "\"finishedBuilding\"",
"false": "false",
"Current ventures": "المشاريع الحالية",
"Today, I lead businesses across AI, marketing, software, spirits, education technology, cybersecurity, and e-commerce. They operate in very different worlds, which keeps me curious.": "أقود اليوم أعمالًا في الذكاء الاصطناعي والتسويق والبرمجيات والمشروبات الروحية وتكنولوجيا التعليم والأمن السيبراني والتجارة الإلكترونية. تعمل كلها في عوالم مختلفة تمامًا، وهذا ما يبقيني فضوليًا.",
"Today, I lead businesses across AI, marketing, software, education technology, cybersecurity, and e-commerce. They operate in very different worlds, which keeps me curious.": "أقود اليوم أعمالًا في الذكاء الاصطناعي والتسويق والبرمجيات وتكنولوجيا التعليم والأمن السيبراني والتجارة الإلكترونية. تعمل كلها في عوالم مختلفة تمامًا، وهذا ما يبقيني فضوليًا.",
"MARKETING &amp; AI SEARCH Leading teams through a constantly changing search landscape.": "التسويق والبحث بالذكاء الاصطناعي قيادة الفرق في مشهد بحث يتغير باستمرار.",
"AI SOFTWARE Building around new opportunities created by AI.": "برمجيات الذكاء الاصطناعي البناء على الفرص الجديدة التي يخلقها الذكاء الاصطناعي.",
"SPIRITS Taking a consumer brand from idea to market.": "المشروبات الروحية نقل علامة استهلاكية من الفكرة إلى السوق.",
"EDUCATION TECHNOLOGY Creating technology designed for real classrooms.": "تكنولوجيا التعليم ابتكار تقنيات مصممة للفصول الدراسية الحقيقية.",
"CYBERSECURITY Solving security challenges for growing businesses.": "الأمن السيبراني حل تحديات الأمن للشركات النامية.",
"E-COMMERCE Turning product ideas into businesses built around real customers.": "التجارة الإلكترونية تحويل أفكار المنتجات إلى أعمال مبنية حول عملاء حقيقيين.",
@@ -1309,7 +1307,6 @@
"E-Commerce": "التجارة الإلكترونية",
"MARKETING & AI SEARCH": "التسويق والبحث بالذكاء الاصطناعي",
"Building around new opportunities created by AI.": "البناء على الفرص الجديدة التي يخلقها الذكاء الاصطناعي.",
"Taking a consumer brand from idea to market.": "نقل علامة استهلاكية من الفكرة إلى السوق.",
"Creating technology designed for real classrooms.": "ابتكار تقنيات مصممة للفصول الدراسية الحقيقية.",
"Solving security challenges for growing businesses.": "حل تحديات الأمن للشركات النامية.",
"Turning product ideas into businesses built around real customers.": "تحويل أفكار المنتجات إلى أعمال مبنية حول عملاء حقيقيين."
+3 -6
View File
@@ -1,6 +1,6 @@
{
"Dylan Mazzei | Founder, Operator &amp; Entrepreneur": "Dylan Mazzei | Fundador, operador y emprendedor",
"Meet Dylan Mazzei, a founder and operator leading ventures across AI, software, spirits, education, cybersecurity, e-commerce, and more.": "Conoce a Dylan Mazzei, fundador y operador al frente de empresas en IA, software, bebidas espirituosas, educación, ciberseguridad, e-commerce y más.",
"Meet Dylan Mazzei, a founder and operator leading ventures across AI, software, education, cybersecurity, e-commerce, and more.": "Conoce a Dylan Mazzei, fundador y operador al frente de empresas en IA, software, educación, ciberseguridad, e-commerce y más.",
"Skip to content": "Saltar al contenido",
"Dylan Mazzei, home": "Dylan Mazzei, inicio",
"Dylan <b>Mazzei</b>": "Dylan <b>Mazzei</b>",
@@ -43,7 +43,7 @@
"DYLAN MAZZEI | FOUNDER &amp; OPERATOR": "DYLAN MAZZEI | FUNDADOR Y OPERADOR",
"One Good Idea Has Never": "Una buena idea nunca",
"Been Enough for Me.": "me ha bastado.",
"I’ve spent the last eight years turning ideas into companies across marketing, AI, software, spirits, education, cybersecurity, e-commerce, and more. Four have been sold. Others are growing. And I’m nowhere near finished building.": "He pasado los últimos ocho años convirtiendo ideas en empresas de marketing, IA, software, bebidas espirituosas, educación, ciberseguridad, e-commerce y más. Cuatro se han vendido. Otras siguen creciendo. Y no estoy ni cerca de terminar de construir.",
"I’ve spent the last eight years turning ideas into companies across marketing, AI, software, education, cybersecurity, e-commerce, and more. Four have been sold. Others are growing. And I’m nowhere near finished building.": "He pasado los últimos ocho años convirtiendo ideas en empresas de marketing, IA, software, educación, ciberseguridad, e-commerce y más. Cuatro se han vendido. Otras siguen creciendo. Y no estoy ni cerca de terminar de construir.",
"MY STORY": "MI HISTORIA",
"EXPLORE MY VENTURES": "EXPLORA MIS EMPRESAS",
"Four exits": "Cuatro ventas",
@@ -67,7 +67,6 @@
"MARKETING &amp; AI SEARCH": "MARKETING Y BÚSQUEDA CON IA",
"Active": "Activa",
"AI SOFTWARE": "SOFTWARE DE IA",
"SPIRITS": "BEBIDAS ESPIRITUOSAS",
"EDUCATION TECHNOLOGY": "TECNOLOGÍA EDUCATIVA",
"CYBERSECURITY": "CIBERSEGURIDAD",
"E-COMMERCE": "E-COMMERCE",
@@ -96,10 +95,9 @@
"\"finishedBuilding\"": "\"finishedBuilding\"",
"false": "false",
"Current ventures": "Empresas actuales",
"Today, I lead businesses across AI, marketing, software, spirits, education technology, cybersecurity, and e-commerce. They operate in very different worlds, which keeps me curious.": "Hoy lidero negocios de IA, marketing, software, bebidas espirituosas, tecnología educativa, ciberseguridad y e-commerce. Operan en mundos muy distintos, y eso me mantiene curioso.",
"Today, I lead businesses across AI, marketing, software, education technology, cybersecurity, and e-commerce. They operate in very different worlds, which keeps me curious.": "Hoy lidero negocios de IA, marketing, software, tecnología educativa, ciberseguridad y e-commerce. Operan en mundos muy distintos, y eso me mantiene curioso.",
"MARKETING &amp; AI SEARCH Leading teams through a constantly changing search landscape.": "MARKETING Y BÚSQUEDA CON IA Liderando equipos en un panorama de búsqueda que cambia constantemente.",
"AI SOFTWARE Building around new opportunities created by AI.": "SOFTWARE DE IA Construyendo sobre las nuevas oportunidades que crea la IA.",
"SPIRITS Taking a consumer brand from idea to market.": "BEBIDAS ESPIRITUOSAS Llevando una marca de consumo de la idea al mercado.",
"EDUCATION TECHNOLOGY Creating technology designed for real classrooms.": "TECNOLOGÍA EDUCATIVA Creando tecnología pensada para aulas reales.",
"CYBERSECURITY Solving security challenges for growing businesses.": "CIBERSEGURIDAD Resolviendo retos de seguridad para negocios en crecimiento.",
"E-COMMERCE Turning product ideas into businesses built around real customers.": "E-COMMERCE Convirtiendo ideas de producto en negocios construidos alrededor de clientes reales.",
@@ -1309,7 +1307,6 @@
"E-Commerce": "E-commerce",
"MARKETING & AI SEARCH": "MARKETING Y BÚSQUEDA CON IA",
"Building around new opportunities created by AI.": "Construyendo sobre las nuevas oportunidades que crea la IA.",
"Taking a consumer brand from idea to market.": "Llevando una marca de consumo de la idea al mercado.",
"Creating technology designed for real classrooms.": "Creando tecnología pensada para aulas reales.",
"Solving security challenges for growing businesses.": "Resolviendo retos de seguridad para negocios en crecimiento.",
"Turning product ideas into businesses built around real customers.": "Convirtiendo ideas de producto en negocios construidos alrededor de clientes reales."
+4 -6
View File
@@ -3,7 +3,6 @@ import { icon, eyebrow, btn, textLink, mark } from '../layout.mjs';
const ventures = [
['search', 'MARKETING &amp; AI SEARCH'],
['chip', 'AI SOFTWARE'],
['bottle', 'SPIRITS'],
['edu', 'EDUCATION TECHNOLOGY'],
['shield', 'CYBERSECURITY'],
['bag', 'E-COMMERCE'],
@@ -35,7 +34,7 @@ const arrowUR = '<svg viewBox="0 0 14 14" fill="none" stroke="currentColor" stro
export default {
path: '/',
title: 'Dylan Mazzei | Founder, Operator &amp; Entrepreneur',
description: 'Meet Dylan Mazzei, a founder and operator leading ventures across AI, software, spirits, education, cybersecurity, e-commerce, and more.',
description: 'Meet Dylan Mazzei, a founder and operator leading ventures across AI, software, education, cybersecurity, e-commerce, and more.',
head: '<link rel="stylesheet" href="/assets/home.css">',
scripts: '<script src="/assets/o2/three.min.js" defer></script>\n<script src="/assets/home.js" defer></script>',
body: `
@@ -48,7 +47,7 @@ export default {
<div class="emblem" id="emblem"><img alt="Dylan Mazzei monogram" src="/assets/o2/dylan-monogram.webp" width="720" height="480"></div>
${eyebrow('DYLAN MAZZEI | FOUNDER &amp; OPERATOR')}
<h1 id="hero-title"><span class="grad">One Good Idea Has Never</span> <span class="grad2">Been Enough for Me.</span></h1>
<p class="lead">I’ve spent the last eight years turning ideas into companies across marketing, AI, software, spirits, education, cybersecurity, e-commerce, and more. Four have been sold. Others are growing. And I’m nowhere near finished building.</p>
<p class="lead">I’ve spent the last eight years turning ideas into companies across marketing, AI, software, education, cybersecurity, e-commerce, and more. Four have been sold. Others are growing. And I’m nowhere near finished building.</p>
<div class="btn-row">${btn('MY STORY', '/about/')}${btn('EXPLORE MY VENTURES', '#ventures', 'ghost')}</div>
<div class="icon-row" id="iconRow" aria-hidden="true"></div>
</div>
@@ -114,12 +113,11 @@ export default {
<div class="vhead reveal">
${eyebrow('CURRENT VENTURES')}
<h2 id="ventures-title" class="sr-only">Current ventures</h2>
<p class="lead">Today, I lead businesses across AI, marketing, software, spirits, education technology, cybersecurity, and e-commerce. They operate in very different worlds, which keeps me curious.</p>
<p class="lead">Today, I lead businesses across AI, marketing, software, education technology, cybersecurity, and e-commerce. They operate in very different worlds, which keeps me curious.</p>
</div>
<ul class="sr-only">
<li>MARKETING &amp; AI SEARCH Leading teams through a constantly changing search landscape.</li>
<li>AI SOFTWARE Building around new opportunities created by AI.</li>
<li>SPIRITS Taking a consumer brand from idea to market.</li>
<li>EDUCATION TECHNOLOGY Creating technology designed for real classrooms.</li>
<li>CYBERSECURITY Solving security challenges for growing businesses.</li>
<li>E-COMMERCE Turning product ideas into businesses built around real customers.</li>
@@ -127,7 +125,7 @@ export default {
<div class="vtabs reveal" id="vtabs" role="tablist" aria-label="Ventures"></div>
<div class="vpanel reveal" id="vpanel">
<div class="vinfo">
<div><span class="vnum" id="vnum">01 / 06</span></div>
<div><span class="vnum" id="vnum">01 / 05</span></div>
<div class="vt" id="vt" aria-live="polite"><h3 id="vname">MARKETING &amp; AI SEARCH</h3><p id="vdesc">Leading teams through a constantly changing search landscape.</p></div>
<div class="btn-row">${btn('EXPLORE MY VENTURES', '/portfolio/', 'primary', 'btn-sm')}</div>
</div>
+4 -17
View File
@@ -15,10 +15,9 @@
const ICONS = [
{ n: 'AI Software', side: 'l', x: '8%', y: '24%', r: '6deg', d: '0s', p: '<rect x="6" y="6" width="12" height="12" rx="2.5"/><path d="M9 3v3M15 3v3M9 18v3M15 18v3M3 9h3M3 15h3M18 9h3M18 15h3"/><path d="M9.6 15v-3.6L12 9.4l2.4 2V15M9.6 13.4h4.8"/>' },
{ n: 'Marketing & AI Search', side: 'l', x: '15%', y: '50%', r: '-7deg', d: '-2s', p: '<circle cx="10.5" cy="10.5" r="6.2"/><path d="m15.2 15.2 5 5"/><path d="m7.6 12.6 2.2-2.4 1.8 1.6 2.6-3"/>' },
{ n: 'Spirits', side: 'l', x: '6%', y: '73%', r: '8deg', d: '-4s', p: '<path d="M10 2.5h4M10.5 2.5v4.2L8.6 9.4a3 3 0 0 0-.6 1.8V20a1.5 1.5 0 0 0 1.5 1.5h5A1.5 1.5 0 0 0 16 20v-8.8a3 3 0 0 0-.6-1.8l-1.9-2.7V2.5"/><path d="M8 13.5h8v4H8z"/>' },
{ n: 'Education Technology', side: 'r', x: '8%', y: '22%', r: '-6deg', d: '-1s', p: '<path d="m2.5 9.5 9.5-5 9.5 5-9.5 5z"/><path d="M6.5 12v4.2c0 1.2 2.5 2.8 5.5 2.8s5.5-1.6 5.5-2.8V12"/><path d="M21.5 9.5v6"/>' },
{ n: 'Cybersecurity', side: 'r', x: '15%', y: '50%', r: '7deg', d: '-3s', p: '<path d="M12 3 4.5 6v5.5c0 4.5 3.2 7.8 7.5 9.5 4.3-1.7 7.5-5 7.5-9.5V6z"/><rect x="9" y="10.8" width="6" height="5" rx="1"/><path d="M10.2 10.8V9.4a1.8 1.8 0 0 1 3.6 0v1.4"/>' },
{ n: 'E-Commerce', side: 'r', x: '6%', y: '73%', r: '-8deg', d: '-5s', p: '<path d="M5 8h14l-1 12H6z"/><path d="M9 8V7a3 3 0 0 1 6 0v1"/>' },
{ n: 'Education Technology', side: 'r', x: '8%', y: '30%', r: '-6deg', d: '-1s', p: '<path d="m2.5 9.5 9.5-5 9.5 5-9.5 5z"/><path d="M6.5 12v4.2c0 1.2 2.5 2.8 5.5 2.8s5.5-1.6 5.5-2.8V12"/><path d="M21.5 9.5v6"/>' },
{ n: 'Cybersecurity', side: 'r', x: '12%', y: '62%', r: '7deg', d: '-3s', p: '<path d="M12 3 4.5 6v5.5c0 4.5 3.2 7.8 7.5 9.5 4.3-1.7 7.5-5 7.5-9.5V6z"/><rect x="9" y="10.8" width="6" height="5" rx="1"/><path d="M10.2 10.8V9.4a1.8 1.8 0 0 1 3.6 0v1.4"/>' },
{ n: 'E-Commerce', side: 'l', x: '6%', y: '73%', r: '8deg', d: '-5s', p: '<path d="M5 8h14l-1 12H6z"/><path d="M9 8V7a3 3 0 0 1 6 0v1"/>' },
];
const tileHTML = (i) => '<div class="tile">' + svg(i.p) + '</div><span class="tl">' + T(i.n).replace('&', '&amp;') + '</span>';
const fl = $('#floaters'), ir = $('#iconRow');
@@ -215,7 +214,6 @@
const V = [
{ n: 'MARKETING & AI SEARCH', d: 'Leading teams through a constantly changing search landscape.', c: '#1fb7ff', m: 'magnifier' },
{ n: 'AI SOFTWARE', d: 'Building around new opportunities created by AI.', c: '#7a7bff', m: 'chip' },
{ n: 'SPIRITS', d: 'Taking a consumer brand from idea to market.', c: '#3fa9ff', m: 'bottle' },
{ n: 'EDUCATION TECHNOLOGY', d: 'Creating technology designed for real classrooms.', c: '#27d9ff', m: 'cap' },
{ n: 'CYBERSECURITY', d: 'Solving security challenges for growing businesses.', c: '#8a6bff', m: 'lock' },
{ n: 'E-COMMERCE', d: 'Turning product ideas into businesses built around real customers.', c: '#1a8bff', m: 'bag' },
@@ -234,7 +232,7 @@
function setV(i, first) {
vi = (i + V.length) % V.length;
vbtns.forEach((b, n) => b.setAttribute('aria-selected', String(n === vi)));
const apply = () => { vname.textContent = T(V[vi].n); vdesc.textContent = T(V[vi].d); vnum.textContent = '0' + (vi + 1) + ' / 06'; vpanel.style.setProperty('--ac', V[vi].c); vt.classList.remove('out'); };
const apply = () => { vname.textContent = T(V[vi].n); vdesc.textContent = T(V[vi].d); vnum.textContent = '0' + (vi + 1) + ' / 0' + V.length; vpanel.style.setProperty('--ac', V[vi].c); vt.classList.remove('out'); };
if (first || reduce) apply(); else { vt.classList.add('out'); setTimeout(apply, 200); }
vSwitch(vi);
const sel = vbtns[vi];
@@ -315,17 +313,6 @@
g.rotation.x = -.35;
return g;
},
// Spirits: a bottle (lathe profile) with a chrome cap
bottle() {
const g = new THREE.Group();
const pts = [[0, -1.7], [.78, -1.7], [.86, -1.55], [.86, .35], [.7, .7], [.32, 1.05], [.27, 1.55], [0, 1.55]].map(([x, y]) => new THREE.Vector2(x, y));
g.add(M(new THREE.LatheGeometry(pts, 48), glass));
const liquid = M(new THREE.CylinderGeometry(.78, .78, 1.6, 48), metal); liquid.position.y = -.85; g.add(liquid);
const label = M(new THREE.CylinderGeometry(.875, .875, .55, 48, 1, true), glow); label.position.y = -.35; g.add(label);
const cap = M(new THREE.CylinderGeometry(.3, .3, .4, 32), chrome); cap.position.y = 1.72; g.add(cap);
g.scale.setScalar(.85);
return g;
},
// Education Technology: a graduation cap
cap() {
const g = new THREE.Group();