const C = { bg: '#F5EFE6', bgAlt: '#EDE4D3', surface: '#FFFFFF', ink: '#1A1A1F', ink70: 'rgba(26,26,31,0.72)', ink50: 'rgba(26,26,31,0.5)', ink20: 'rgba(26,26,31,0.18)', ink10: 'rgba(26,26,31,0.08)', accent: '#C8553D', accentDeep: '#7A2E1F', blush: '#F1D9CF', gold: '#C9941E', }; const QUESTIONS = [ { id: 'business', title: 'What kind of business are you running?', sub: 'Pick the closest match.', options: [ { v: 'restaurant', label: 'Full-service restaurant', sub: 'Korean BBQ, sushi, AYCE, sit-down', emoji: '๐Ÿœ' }, { v: 'qsr', label: 'Quick-service / Takeout', sub: 'Plate lunch, poke, fast casual', emoji: '๐Ÿฅก' }, { v: 'cafe', label: 'Coffee shop / Cafe', sub: 'Coffee, boba, bakery, dessert', emoji: 'โ˜•' }, { v: 'bar', label: 'Bar / Pub / Lounge', sub: 'Bar-forward, cocktails, late night', emoji: '๐Ÿบ' }, { v: 'foodcourt', label: 'Food court / Food hall', sub: 'Multiple kitchens, one space', emoji: '๐Ÿช' }, { v: 'ghost', label: 'Ghost kitchen / Delivery-only', sub: 'No dine-in, all online', emoji: '๐Ÿ›ต' }, { v: 'liquor', label: 'Liquor store', sub: 'Wine, beer, spirits', emoji: '๐Ÿท' }, { v: 'market', label: 'Convenience / Mini-market', sub: 'Grocery, deli, mini-mart', emoji: '๐Ÿ›’' }, { v: 'retail', label: 'Retail / Other', sub: 'Gift shop, clothing, salon', emoji: '๐Ÿ›' }, ], }, { id: 'size', title: 'How big is your team?', sub: 'Including you and part-timers.', options: [ { v: 'solo', label: '1โ€“5 people', sub: 'Just opened or family-run', emoji: '๐Ÿ‘ค' }, { v: 'small', label: '6โ€“15 people', sub: 'Single location, busy', emoji: '๐Ÿ‘ฅ' }, { v: 'medium', label: '16โ€“30 people', sub: 'Established, growing', emoji: '๐Ÿ‘จ' }, { v: 'multi', label: '30+ or multi-location', sub: 'Multiple stores', emoji: '๐Ÿฌ' }, ], }, { id: 'stage', title: 'Where are you in your journey?', sub: 'This helps us pace the recommendation.', options: [ { v: 'planning', label: 'Planning a new store', sub: 'Opening soon', emoji: '๐ŸŒฑ' }, { v: 'basic', label: 'Open but using basic POS', sub: 'Square, Toast, generic Clover', emoji: '๐Ÿ”ง' }, { v: 'upgrade', label: 'Open and looking to upgrade', sub: 'Current system can\'t keep up', emoji: 'โšก' }, { v: 'clover', label: 'Already on Clover', sub: 'Just need apps and integrations', emoji: '๐Ÿ”' }, ], }, { id: 'pain', title: 'What is the biggest headache right now?', sub: 'Pick the one that hurts most. We\'ll address others too.', options: [ { v: 'labor', label: 'Labor is too expensive', sub: 'Hard to find, expensive to keep', emoji: '๐Ÿ’ธ' }, { v: 'inventory', label: 'Inventory is a mess', sub: 'Running out, over-ordering, waste', emoji: '๐Ÿ“ฆ' }, { v: 'orders', label: 'Missed or slow orders', sub: 'Tickets get lost, customers wait', emoji: 'โฑ' }, { v: 'customers', label: 'Not enough customers', sub: 'Need marketing, delivery, awareness', emoji: '๐Ÿ“ฃ' }, { v: 'fees', label: 'Processing fees too high', sub: 'Toast/Square taking too much', emoji: '๐Ÿ’ณ' }, { v: 'silos', label: 'Systems don\'t talk', sub: 'POS, inventory, delivery all separate', emoji: '๐Ÿงฉ' }, { v: 'custom', label: 'I need custom software', sub: 'Off-the-shelf doesn\'t fit my workflow', emoji: '๐Ÿ› ' }, ], }, { id: 'goals', title: 'What would help your business most?', sub: 'Pick all that apply โ€” we\'ll tailor the recommendation.', multi: true, options: [ { v: 'cut-labor', label: 'Cut labor hours', sub: 'Replace tasks staff hate', emoji: 'โšก' }, { v: 'self-order', label: 'Self-order (kiosk / tablet / QR)', sub: 'Customers order themselves', emoji: '๐Ÿ“ฑ' }, { v: 'delivery', label: 'Connect delivery apps', sub: 'DoorDash, Uber, GrubHub', emoji: '๐Ÿ›ต' }, { v: 'marketing', label: 'In-store TV / digital signage', sub: 'Promote menu, lift tickets', emoji: '๐Ÿ“บ' }, { v: 'auto-order', label: 'Auto-reorder inventory', sub: 'Stop running out of staples', emoji: '๐Ÿ”' }, { v: 'loyalty', label: 'Loyalty / repeat customers', sub: 'Bring people back', emoji: '๐ŸŽ' }, { v: 'lower-rates', label: 'Lower credit card rates', sub: 'Local processing, no mainland', emoji: '๐Ÿ’ณ' }, { v: 'multi-loc', label: 'Multi-location reporting', sub: 'Manage all stores from one place', emoji: '๐Ÿฌ' }, ], }, ]; // Recommendation logic function recommend(a) { const products = new Set(); const savings = []; let custom = false; // Always processing products.add('processing'); // Custom software pain โ€” special signal if (a.pain === 'custom') { custom = true; products.add('custom-build'); savings.push({ icon: '', label: 'We build software for a living', detail: 'Inventory Master, Food Court Master, Soul Chicken, Sura tablets โ€” all built in-house. If you can describe it, we can ship it on top of Clover.' }); } // Business type if (a.business === 'foodcourt') { products.add('food-court-master'); savings.push({ icon: '', label: 'Run every kitchen from one ticket', detail: 'Food Court Master routes orders automatically. Cuts the runner role entirely.' }); } if (a.business === 'restaurant' || a.business === 'cafe' || a.business === 'qsr') { products.add('table-order'); } if (a.business === 'cafe') { products.add('kiosk'); } if (a.business === 'bar') { products.add('inventory-master'); savings.push({ icon: '', label: 'Pour cost & spirit inventory under control', detail: 'Inventory Master tracks bottles by oz with auto-reorder. Owners stop guessing what walked out.' }); } if (a.business === 'ghost') { products.add('delivery-hub'); savings.push({ icon: '', label: 'All delivery apps on one screen', detail: 'DoorDash, Uber Eats, GrubHub on a single tablet. No more juggling 4 devices at peak.' }); } if (a.business === 'liquor' || a.business === 'market' || a.business === 'retail') { products.add('inventory-master'); products.add('display-network'); } // Pain points if (a.pain === 'labor') { products.add('table-order'); products.add('kiosk'); savings.push({ icon: '', label: 'Cut server hours with self-order', detail: 'Table Order + Smart Kiosk replace order-taking. Servers focus on service, not paperwork.' }); } if (a.pain === 'inventory') { products.add('inventory-master'); savings.push({ icon: '', label: 'Save 5โ€“7 manager hours/week', detail: 'Inventory Master uses Vision OCR on invoices and auto-reorders. Live at Soul Chicken Hawaii.' }); } if (a.pain === 'orders') { products.add('food-court-master'); products.add('table-order'); savings.push({ icon: 'โฑ', label: 'Stop missed and slow orders', detail: 'Tickets route directly to KDS. Guests order at their pace. No waiting on a server.' }); } if (a.pain === 'customers') { products.add('display-network'); products.add('delivery-hub'); savings.push({ icon: '', label: 'Lift tickets without staff effort', detail: 'In-store TV signage promotes menu items automatically. Plus delivery apps in one screen.' }); } if (a.pain === 'fees') { savings.push({ icon: '', label: 'Local Hawaii processing rates', detail: 'Direct merchant services through us. Not a mainland call center. We\'ll quote against your current statement.' }); } if (a.pain === 'silos') { savings.push({ icon: '', label: 'One system, end to end', detail: 'POS + Inventory + Delivery + Signage all on Clover, talking to each other. No more spreadsheet bridges.' }); } // Goals if ((a.goals || []).includes('lower-rates')) { savings.push({ icon: '', label: 'Lower processing rates than Toast/Square', detail: 'Local Hawaii rates, direct merchant services. We\'ll show you the math against your current statement.' }); } if ((a.goals || []).includes('delivery')) products.add('delivery-hub'); if ((a.goals || []).includes('marketing')) products.add('display-network'); if ((a.goals || []).includes('auto-order')) products.add('inventory-master'); if ((a.goals || []).includes('self-order')) { products.add('table-order'); products.add('kiosk'); } if ((a.goals || []).includes('cut-labor')) { products.add('table-order'); products.add('kiosk'); products.add('inventory-master'); } if ((a.goals || []).includes('loyalty')) { products.add('custom-build'); savings.push({ icon: '', label: 'Loyalty built into your POS', detail: 'We integrate Clover loyalty + custom rewards apps. Repeat customers without printed punch cards.' }); } if ((a.goals || []).includes('multi-loc') || a.size === 'multi') { savings.push({ icon: '', label: 'One backoffice across stores', detail: 'Per-store tenancy with central reporting. Copy setup to a new location in 5 minutes.' }); } // Stage messaging if (a.stage === 'planning') { savings.unshift({ icon: '', label: 'Day-one setup, done right', detail: 'We help plan the floor, install hardware, configure menus before you open. No retrofitting later.' }); } if (a.stage === 'upgrade' || a.stage === 'basic') { savings.push({ icon: '', label: 'Migrate your menu and data', detail: 'We move your menu, modifiers, and pricing from Square/Toast/old Clover. You don\'t restart from zero.' }); } return { products: [...products], savings, custom }; } const PRODUCT_INFO = { 'processing': { name: 'Credit Card Processing', tag: 'PROCESSING', color: '#0E5BA8', body: 'Hawaii-local rates. Direct Clover-authorized merchant services. One support number for all of it.', link: 'index.html#processing' }, 'food-court-master':{ name: 'Food Court Master', tag: 'POS', color: '#7A2E1F', body: 'Multi-vendor POS. One ticket, every kitchen paid. Built for food halls.', link: 'products/food-court-master.html' }, 'inventory-master': { name: 'Inventory Master', tag: 'INVENTORY', color: '#1F6E4D', body: 'Vision-OCR invoices. Auto-reorder. Live at Soul Chicken Hawaii.', link: 'products/inventory-master.html' }, 'table-order': { name: 'Table Order', tag: 'ORDERING', color: '#C8553D', body: 'Zorder tablets at every table. AYCE rounds. Live at Sura & Choi\'s Garden.', link: 'products/table-order.html' }, 'delivery-hub': { name: 'Delivery Hub', tag: 'DELIVERY', color: '#C9941E', body: 'DoorDash, Uber Eats, GrubHub on one screen. Stop juggling tablets.', link: 'index.html#products' }, 'kiosk': { name: 'Smart Kiosk', tag: 'KIOSK', color: '#5B3FA8', body: 'Bilingual self-order. Replaces a counter cashier at peak hours.', link: 'index.html#products' }, 'display-network': { name: 'Display Network', tag: 'DISPLAYS', color: '#0E1A24', body: 'Your in-store TVs sell for you. Auto-promote menu items, lift ticket size.', link: 'index.html#products' }, 'custom-build': { name: 'Custom Software Build', tag: 'CUSTOM', color: '#C8553D', body: 'Off-the-shelf doesn\'t fit? We build. In-house dev team, all running on Clover.', link: 'index.html#products' }, }; function FindYourFit() { var isMobile = useIsMobile(); var _s = React.useState(0), step = _s[0], setStep = _s[1]; var _a = React.useState({}), answers = _a[0], setAnswers = _a[1]; var total = QUESTIONS.length; var done = step >= total; var q = QUESTIONS[step]; var select = function(v) { if (q.multi) { var cur = answers[q.id] || []; var next = cur.indexOf(v) >= 0 ? cur.filter(function(x){return x !== v}) : cur.concat([v]); var newA = Object.assign({}, answers); newA[q.id] = next; setAnswers(newA); } else { var newA = Object.assign({}, answers); newA[q.id] = v; setAnswers(newA); setTimeout(function(){ setStep(step + 1); }, 220); } }; var restart = function() { setAnswers({}); setStep(0); }; return (
Aloha Smart System.
{done ? 'Your fit' : (isMobile ? (step + 1) + ' / ' + total : 'Question ' + (step + 1) + ' of ' + total)}
{!done && ( 0 ? function(){ setStep(step - 1); } : null} isLast={step === total - 1} /> )} {done && }
); } function QuestionView(props) { var q = props.q, value = props.value, onSelect = props.onSelect; var onNext = props.onNext, onBack = props.onBack, isLast = props.isLast; var isMobile = props.isMobile; var isMulti = !!q.multi; var selected = isMulti ? (value || []) : value; var hasSelection = isMulti ? selected.length > 0 : !!selected; return (

{q.title}

{q.sub}

{q.options.map(function(opt) { var isSel = isMulti ? selected.indexOf(opt.v) >= 0 : selected === opt.v; return ( ); })}
{isMulti && (
)} {!isMulti && onBack && (
)}
); } function ResultView(props) { var answers = props.answers, onRestart = props.onRestart, isMobile = props.isMobile; var result = recommend(answers); var products = result.products, savings = result.savings, custom = result.custom; return (
Your tailored recommendation

{custom ? 'Whatever you need - ' : 'Here is what Aloha Smart System gives '} {custom ? 'we can build it.' : 'your business.'}

{custom ? 'Based on your answers, we combine our products with custom development. Same Clover hardware everyone uses - but with software no one else has.' : 'Based on your answers, these are the products and outcomes we recommend. Same Clover hardware everyone uses - but with apps no one else has.' }

{savings.length > 0 && (
What you save and gain
{savings.map(function(s, i) { return (
{s.icon}
{s.label}
{s.detail}
); })}
)}
Your stack ({products.length} {products.length === 1 ? 'product' : 'products'})
{products.map(function(pid) { var p = PRODUCT_INFO[pid]; return (
{p.tag}
{p.name}
{p.body}
Learn more
); })}
); } function ContactForm(props) { var answers = props.answers, products = props.products, custom = props.custom, onRestart = props.onRestart, isMobile = props.isMobile; var _n = React.useState(''), name = _n[0], setName = _n[1]; var _e = React.useState(''), email = _e[0], setEmail = _e[1]; var _p = React.useState(''), phone = _p[0], setPhone = _p[1]; var _b = React.useState(''), biz = _b[0], setBiz = _b[1]; var _no = React.useState(''), note = _no[0], setNote = _no[1]; var _s = React.useState(false), sent = _s[0], setSent = _s[1]; var bizType = (QUESTIONS[0].options.find(function(o){return o.v === answers.business}) || {}).label || ''; var teamSize = (QUESTIONS[1].options.find(function(o){return o.v === answers.size}) || {}).label || ''; var stage = (QUESTIONS[2].options.find(function(o){return o.v === answers.stage}) || {}).label || ''; var pain = (QUESTIONS[3].options.find(function(o){return o.v === answers.pain}) || {}).label || ''; var goals = (answers.goals || []).map(function(g){ return (QUESTIONS[4].options.find(function(o){return o.v === g}) || {}).label; }).filter(Boolean).join(', '); var recProducts = products.map(function(pid){ var p = PRODUCT_INFO[pid]; return p ? p.name : pid; }).join(', '); var quizSummary = 'Business: ' + bizType + '\nTeam: ' + teamSize + '\nStage: ' + stage + '\nBiggest pain: ' + pain + '\nGoals: ' + goals + '\nRecommended: ' + recProducts; var handleSubmit = function() { var subject = custom ? 'Custom Build Inquiry - Aloha Smart System' : 'Quote Request - Aloha Smart System'; var parts = ['Name: ' + name, 'Email: ' + email, 'Phone: ' + phone]; if (biz) parts.push('Business: ' + biz); if (note) parts.push('Note: ' + note); parts.push(''); parts.push('--- Quiz Results ---'); parts.push(quizSummary); var body = parts.join('\n'); window.location.href = 'mailto:info@alohasmartsystem.com?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body); setSent(true); }; var valid = name.trim() && email.trim() && phone.trim(); if (sent) { return (
Email app opened!
Your quiz results are pre-filled in the email. Hit send and we reply within 24 hours.
); } return (
{custom ? 'Tell us what you need.' : 'Get in touch.'}
{custom ? 'Our team will scope your project and come back with a build plan. Clover-authorized. Honolulu-based.' : 'Our team will look at your setup and walk you through these products. Clover-authorized. Honolulu-based.' }
Your quiz answers (auto-included)
Type: {bizType}
Team: {teamSize}
Stage: {stage}
Pain: {pain}
{goals &&
Goals: {goals}
}
Recommended: {recProducts}
Quick info