eudai. kairos ← Back to eudai.ai
Launch Planner

Plan the launch everyone rallies behind.

Describe the outcome, the scope, and the ideas. Set a launch date. kairos sequences it into a dated, cross-functional plan — built on a release-readiness model used for real product launches — that you can download and run.

We'll email your plan here, and you can download it as a plan document or a CSV checklist.
Your launch plan is ready.
Launch plan
Launch plan
Next step
A plan is the skeleton. The story is the work.
kairos sequences the launch. eudai builds the narrative, positioning, and assets that make the security market actually show up for it.
'; } function download(filename, content, type){ const blob=new Blob([content],{type}); const url=URL.createObjectURL(blob); const a=document.createElement('a'); a.href=url; a.download=filename; document.body.appendChild(a); a.click(); document.body.removeChild(a); setTimeout(()=>URL.revokeObjectURL(url),1000); } function slug(){ return ((plan&&plan.inp.product||'launch').toLowerCase().replace(/[^a-z0-9]+/g,'-').replace(/^-|-$/g,'')||'launch'); } function downloadPlanHTML(){ download(slug()+'-launch-plan.html', planHTML(), 'text/html'); } function downloadCSV(){ download(slug()+'-launch-plan.csv', planCSV(), 'text/csv'); } function sendResults(){ const { inp } = plan; const confirm=document.getElementById('confirm-text'); confirm.innerHTML="We've sent your launch plan to "+escapeHtml(inp.email)+". Download the full plan or checklist below."; if(!validEmail(inp.email)) return; const data=new FormData(); data.append('company', inp.company||'Not provided'); data.append('email', inp.email); data.append('_replyto', inp.email); data.append('_subject', 'kairos launch plan — '+(inp.product||inp.company||inp.email)); data.append('product', inp.product); data.append('launch_date', fmtDate(plan.launch)); data.append('rollout', inp.tier); data.append('outcomes', inp.outcomes); data.append('scope', inp.scope); data.append('audience', inp.audience); data.append('creative', inp.creative); data.append('plan_csv', planCSV()); try { fetch('https://formspree.io/f/'+FORMSPREE_ID,{method:'POST',headers:{Accept:'application/json'},body:data}).catch(()=>{}); } catch(e){} } function restart(){ showScreen('s-input'); window.scrollTo({top:0}); } document.addEventListener('DOMContentLoaded',()=>{ // default launch date ~12 weeks out const d=new Date(); d.setDate(d.getDate()+84); document.getElementById('date').value = d.toISOString().slice(0,10); });