Dashboard
Health:
0%
Level 0 • 0 XP

\uD83C\uDFAF Quick Actions

📈 Dein Fortschritt

Entscheidungen
${S.memory.decisions.length}
Erkenntnisse
${S.memory.insights.length}
Meilensteine
${S.memory.milestones.length}
XP Level
${S.xp.level}
`; } // ============================================================================ // XBRAIN VIEW — Wissenspipeline UI // ============================================================================ function renderXBrain() { const atomCount = S.maschinenraum?.atoms?.length || 0; const synthCount = S.maschinenraum?.syntheses?.length || 0; const sources = S.maschinenraum?.sources || []; const recentAtoms = S.maschinenraum.atoms.slice(-10).reverse(); const latestSynthesis = S.maschinenraum.syntheses?.length > 0 ? S.maschinenraum.syntheses[S.maschinenraum.syntheses.length - 1] : null; const clusters = S.maschinenraum.clusters || {}; const edges = S.maschinenraum.edges || []; return `

🧠 XBRAIN — Wissenspipeline

${atomCount}
Atome
${synthCount}
Synthesen
${Object.keys(clusters).length}
Cluster
${edges.length}
Verbindungen

📥 Quellen

${sources.map(src => `
${src.icon || '📦'}
${src.name}
${src.atomCount || 0} Atome
`).join('')}

⚛️ Neueste Atome

${atomCount === 0 ? '
⚛️

Noch keine Atome. Starte die Pipeline oder füge eine Quelle hinzu.

' : recentAtoms.map(atom => `
${atom.text.substring(0, 120)}
${atom.source} · ${new Date(atom.date).toLocaleDateString('de-DE')}
${atom.tags?.length ? '
' + atom.tags.map(t => '' + t + '').join('') + '
' : ''}
`).join('')}

🧬 Synthesen

${!latestSynthesis ? '

Noch keine Synthesen. Klicke auf "Synthese" oder starte die Full Pipeline.

' : `
Letzte Synthese: ${new Date(latestSynthesis.date).toLocaleDateString('de-DE')}
${(latestSynthesis.syntheses || []).map(s => `
${s.insight}
${s.action ? '
→ ' + s.action + '
' : ''}
`).join('')} ${latestSynthesis.blindspots?.length ? '
⚠️ Blindspots:
' + latestSynthesis.blindspots.map(b => '
• ' + b + '
').join('') + '
' : ''} `}

📚 Akademisches Crawling

Generiere fundierte Wissensatome aus akademischen Quellen für jede Kategorie.

${Object.keys(S.maschinenraum?.clusters || {}).length > 0 ? Object.keys(S.maschinenraum.clusters).slice(0, 8).map(cat => '' ).join('') : ['strategie', 'finanzen', 'marketing', 'produkt', 'kunden', 'technologie'].map(cat => '' ).join('')}
`; } // ============================================================================ // GAP 1: IDEALAB RENDER // ============================================================================ function renderIdeaLab() { if (!S.idealab.tab) S.idealab.tab = 'ikigai'; if (!S.idealab.persona) S.idealab.persona = { name: '', alter: '', beruf: '', problem: '', ziel: '', budget: '' }; if (!S.idealab.psf) S.idealab.psf = { problem: '', existing: '', solution: '', unique: '', channel: '' }; const tab = S.idealab.tab; const tabs = [ { id: 'ikigai', label: 'Ikigai', icon: '🎯' }, { id: 'persona', label: 'Persona', icon: '👤' }, { id: 'psf', label: 'Problem-Solution', icon: '🔍' }, { id: 'generator', label: 'AI Generator', icon: '🤖' }, ]; let html = `
${tabs.map(t => ``).join('')}
`; if (tab === 'persona') { const p = S.idealab.persona; html += `

👤 Zielkunden-Persona

Definiere deinen idealen Kunden so konkret wie möglich.

${S.idealab.personaInsight ? `
${S.idealab.personaInsight}
` : ''}
`; } else if (tab === 'psf') { const p = S.idealab.psf; html += `

🔍 Problem-Solution Fit

Validiere ob deine L\u00f6sung ein echtes Problem l\u00f6st.

${S.idealab.psfResult ? `
${S.idealab.psfResult}
` : ''}
`; } else if (tab === 'generator') { html += `

🤖 AI Ideen-Generator

Basierend auf deinem Ikigai, deiner Persona und XBRAIN Markt-Insights.

`; if (S.idealab.ideas.length > 0) { html += `

\uD83D\uDC8E Generierte Ideen

`; S.idealab.ideas.forEach((idea, idx) => { const score = S.idealab.scores[idx] || 0; const sc = score > 80 ? 'var(--green)' : score > 60 ? 'var(--yellow)' : 'var(--red)'; html += `
${idea}
Score: ${score}/100
`; }); html += `
`; } } else { // Ikigai tab (default) html += `

🎯 Ikigai — Finde deine Bestimmung

Nutze das Ikigai-Framework, um deine perfekte Geschäftsidee zu entdecken.

`; html += `
`; } // end ikigai tab return html; } async function generatePersonaInsights() { const p = S.idealab.persona; if (!p.problem || !p.beruf) { toast('Bitte mindestens Problem und Beruf ausf\u00fcllen', 'error'); return; } toast('Analysiere Persona...', 'info'); const result = await ai([{role:'user',content:`Analysiere diese Zielkunden-Persona und gib mir 5 konkrete Insights: Name: ${p.name}, Beruf: ${p.beruf}, Alter: ${p.alter} Problem: ${p.problem} Ziel: ${p.ziel} Budget: ${p.budget} Gib mir: 1. Kaufmotivation 2. Einw\u00e4nde 3. Beste Ansprache-Kan\u00e4le 4. Preisbereitschaft 5. Trigger-Events die zum Kauf f\u00fchren.`}], 'Du bist ein Customer Research Experte. Antworte auf Deutsch, konkret und actionable.'); if (result) { S.idealab.personaInsight = result; saveState(); render(); } } async function validatePSF() { const p = S.idealab.psf; if (!p.problem || !p.solution) { toast('Bitte Problem und L\u00f6sung ausf\u00fcllen', 'error'); return; } toast('Validiere Problem-Solution Fit...', 'info'); const result = await ai([{role:'user',content:`Bewerte diesen Problem-Solution Fit auf einer Skala von 1-10: PROBLEM: ${p.problem} AKTUELLE L\u00d6SUNGEN: ${p.existing} MEINE L\u00d6SUNG: ${p.solution} UNFAIR ADVANTAGE: ${p.unique} KANAL: ${p.channel} Bewerte: 1. Problem-Gr\u00f6\u00dfe (1-10) 2. L\u00f6sungs-Fit (1-10) 3. Differenzierung (1-10) 4. Umsetzbarkeit (1-10) Gib f\u00fcr jeden Punkt eine kurze Begr\u00fcndung und am Ende 3 konkrete n\u00e4chste Schritte.`}], 'Du bist ein Startup-Validator und Lean Startup Experte. Sei ehrlich und konstruktiv. Deutsch.'); if (result) { S.idealab.psfResult = result; saveState(); render(); } } async function generateIdeas() { toast('Generiere Ideen mit AI + XBRAIN Markt-Insights...', 'info'); const ik = S.idealab.ikigai; const p = S.idealab.persona; const psf = S.idealab.psf; let ctx = 'Generiere 5 konkrete, sofort umsetzbare One-Person-Business Ideen.\n\n'; if (ik.love) ctx += `IKIGAI:\n- Leidenschaft: ${ik.love}\n- F\u00e4higkeiten: ${ik.good}\n- Marktbedarf: ${ik.need}\n- Monetarisierung: ${ik.paid}\n\n`; if (p.problem) ctx += `ZIELKUNDE: ${p.beruf}, Problem: ${p.problem}, Ziel: ${p.ziel}, Budget: ${p.budget}\n\n`; if (psf.problem) ctx += `PROBLEM-SOLUTION: ${psf.problem} \u2192 ${psf.solution}\n\n`; ctx += `F\u00fcr JEDE Idee gib:\n1. Name (kurz, pr\u00e4gnant)\n2. Ein-Satz-Beschreibung\n3. Gesch\u00e4ftsmodell (SaaS/Service/Produkt/Content)\n4. Ersten Schritt\n5. Umsatzpotenzial (niedrig/mittel/hoch)\n\nNummeriere die Ideen 1-5.`; const result = await ai([{role:'user',content:ctx}], 'Du bist ein Solopreneur-Experte und Gesch\u00e4ftsideen-Generator. Fokus auf One-Person-Businesses die mit AI-Tools skalierbar sind. Deutsch, konkret, realistisch.'); if (result) { const ideas = result.split('\n').filter(l => l.trim().match(/^\d+[\.\)]/)).map(l => l.replace(/^\d+[\.\)]\s*/, '').split(/[:\u2014\u2013–]/)[0].trim()).filter(i => i.length > 5); S.idealab.ideas = ideas.slice(0, 5); S.idealab.scores = S.idealab.ideas.map(() => Math.floor(Math.random() * 30 + 65)); S.idealab.fullResult = result; saveState(); render(); toast(ideas.length + ' Ideen generiert!', 'success'); } } // ============================================================================ // GAP 2: COMPANY FOUNDATION RENDER // ============================================================================ function renderCompany() { let html = `

🏢 Unternehmensform wählen

Wähle die beste Rechtsform für dein Vorhaben.

`; const forms = [ { id: 'einzelunternehmen', name: 'Einzelunternehmen', desc: 'Einfach, keine Kapitalanforderung' }, { id: 'freiberufler', name: 'Freiberufler', desc: 'Für beratende Tätigkeiten' }, { id: 'gbr', name: 'GbR', desc: 'Personengesellschaft für mehrere' }, { id: 'ug', name: 'UG (haftungsbeschränkt)', desc: 'Mini-GmbH, ab 1€ Kapital' }, { id: 'gmbh', name: 'GmbH', desc: 'Maximaler Schutz mit Kapitalanforderung' }, { id: 'ag', name: 'AG', desc: 'Für größere Unternehmen' } ]; html += `
`; forms.forEach(form => { const selected = S.company.rechtsform === form.id; html += `
${form.name}
${form.desc}
`; }); html += `
`; if (S.company.rechtsform) { const kostenData = { einzelunternehmen: { notar: 0, register: 0, stammkapital: 0, gewerbe: 30, steuerberater: 80, ihk: 0, label: 'Einzelunternehmen' }, freiberufler: { notar: 0, register: 0, stammkapital: 0, gewerbe: 0, steuerberater: 100, ihk: 0, label: 'Freiberufler' }, gbr: { notar: 0, register: 0, stammkapital: 0, gewerbe: 60, steuerberater: 150, ihk: 150, label: 'GbR' }, ug: { notar: 300, register: 150, stammkapital: 1, gewerbe: 30, steuerberater: 200, ihk: 150, label: 'UG (haftungsbeschr\u00e4nkt)' }, gmbh: { notar: 800, register: 150, stammkapital: 25000, gewerbe: 30, steuerberater: 300, ihk: 250, label: 'GmbH' }, ag: { notar: 2000, register: 300, stammkapital: 50000, gewerbe: 30, steuerberater: 500, ihk: 500, label: 'AG' } }; const k = kostenData[S.company.rechtsform] || kostenData.ug; const einmalig = k.notar + k.register + k.gewerbe; const monatlich = k.steuerberater + Math.round(k.ihk / 12); const checklist = { einzelunternehmen: ['Gewerbeanmeldung beim Gewerbeamt', 'Fragebogen zur steuerl. Erfassung (Finanzamt)', 'Gesch\u00e4ftskonto er\u00f6ffnen', 'DSGVO Datenschutzerkl\u00e4rung', 'Impressum erstellen'], freiberufler: ['Fragebogen zur steuerl. Erfassung (Finanzamt)', 'Gesch\u00e4ftskonto er\u00f6ffnen', 'Berufshaftpflicht pr\u00fcfen', 'DSGVO Datenschutzerkl\u00e4rung', 'Impressum erstellen'], gbr: ['GbR-Vertrag aufsetzen', 'Gewerbeanmeldung (alle Gesellschafter)', 'Finanzamt anmelden', 'Gesch\u00e4ftskonto er\u00f6ffnen', 'IHK Anmeldung', 'DSGVO Setup'], ug: ['Gesellschaftsvertrag/Satzung', 'Notartermin (Beurkundung)', 'Handelsregister-Eintragung', 'Gewerbe anmelden', 'Finanzamt (steuerl. Erfassung)', 'Gesch\u00e4ftskonto + Stammkapital einzahlen', 'IHK Anmeldung', 'DSGVO Setup', 'Transparenzregister'], gmbh: ['Gesellschaftsvertrag/Satzung', 'Notartermin (Beurkundung)', 'Stammkapital einzahlen (25.000\u20AC)', 'Handelsregister-Eintragung', 'Gewerbe anmelden', 'Finanzamt (steuerl. Erfassung)', 'Gesch\u00e4ftskonto', 'IHK Anmeldung', 'DSGVO Setup', 'Transparenzregister', 'Gesch\u00e4ftsf\u00fchrervertrag'], ag: ['Satzung erstellen', 'Gr\u00fcndungspr\u00fcfung', 'Notartermin', 'Stammkapital einzahlen (50.000\u20AC)', 'Handelsregister', 'Aufsichtsrat bestellen', 'Gewerbe + Finanzamt', 'IHK', 'DSGVO + Compliance'] }; const items = checklist[S.company.rechtsform] || checklist.ug; const done = items.filter(i => S.company.gruendung.steps[i]).length; html += `

\uD83D\uDCCB Gr\u00fcndungs-Checkliste — ${k.label}

${done}/${items.length}
`; items.forEach(item => { const checked = S.company.gruendung.steps[item]; html += `
${item}
`; }); html += `

\uD83D\uDCB0 Kostenrechner — ${k.label}

Einmalige Kosten
${k.notar ? `
Notar${k.notar}\u20AC
` : ''} ${k.register ? `
Handelsregister${k.register}\u20AC
` : ''} ${k.gewerbe ? `
Gewerbeanmeldung${k.gewerbe}\u20AC
` : ''} ${k.stammkapital ? `
Stammkapital${k.stammkapital.toLocaleString('de')}\u20AC
` : ''}
Summe (ohne Kapital)${einmalig}\u20AC
Laufende Kosten / Monat
Steuerberater${k.steuerberater}\u20AC
${k.ihk ? `
IHK (${k.ihk}\u20AC/Jahr)${Math.round(k.ihk/12)}\u20AC
` : ''}
Tools & Software (gesch.)~100\u20AC
Summe / Monat~${monatlich + 100}\u20AC
`; } return html; } // ============================================================================ // GAP 3: PIPELINE/CRM RENDER // ============================================================================ function renderPipeline() { let html = `

🎯 Sales Pipeline

Totaler Pipeline-Wert: ${S.pipeline.leads.reduce((s, l) => s + (l.wert || 0), 0)}€

`; html += `
`; S.pipeline.stages.forEach(stage => { const leads = S.pipeline.leads.filter(l => l.stage === stage); const stageValue = leads.reduce((s, l) => s + (l.wert || 0), 0); html += `
${stage} (${leads.length}) ${stageValue}€
`; leads.forEach((lead, idx) => { html += `
${lead.name}
${lead.firma}
${lead.wert}€
`; }); html += `
`; }); html += `
`; return html; } // ============================================================================ // GAP 4: CALENDAR & AUTOMATION RENDER // ============================================================================ function renderKalender() { let html = `

📅 Content Kalender

`; html += `
`; for (let i = 1; i <= 28; i++) { const posts = S.kalender.posts.filter(p => p.date && p.date.endsWith(String(i).padStart(2, '0'))); html += `
${i}
${posts.length} Posts
`; } html += `
`; html += `

🤖 Automation Rezepte

Pre-built Automations um dein Content zu skalieren.

`; const recipes = [ { name: 'Wöchentlicher LinkedIn Post', desc: 'Jeden Montag um 9 Uhr', freq: 'Wöchentlich' }, { name: 'Monthly Newsletter', desc: 'Newsletter generieren und versenden', freq: 'Monatlich' }, { name: 'Blog-to-Social Repurposing', desc: 'Blog-Artikel automatisch in Posts umwandeln', freq: 'Ad-hoc' }, { name: 'Customer Testimonial Request', desc: 'Kundenumfrage versenden', freq: 'Monatlich' }, { name: 'Competitor Watch', desc: 'Konkurrenz-Updates sammeln', freq: 'Täglich' } ]; recipes.forEach(recipe => { const active = S.automations.includes(recipe.name); html += `
${recipe.name}
${recipe.desc}
${recipe.freq} ${active ? '✓ Aktiviert' : ''}
`; }); html += `
`; return html; } // ============================================================================ // GAP 5: FINANZEN (Enhanced KPIs) // ============================================================================ function renderFinanzen() { if (!S.kpis.cashflow) S.kpis.cashflow = Array(12).fill(null).map(() => ({rev:0,cost:0})); const costs = S.kpis.costs?.current || 0; const rev = S.kpis.revenue?.current || 0; const customers = S.kpis.customers?.current || 0; const cac = S.kpis.cac || 0; const ltv = S.kpis.ltv || 0; const mrr = S.kpis.mrr || 0; const churn = S.kpis.churn || 0; const netBurn = costs - rev; const runway = netBurn > 0 ? Math.round((S.kpis.kapital || 0) / netBurn) : (S.kpis.kapital > 0 ? 99 : 0); const ltvCac = cac > 0 ? (ltv / cac).toFixed(1) : '—'; const runwayColor = runway > 12 ? 'var(--green)' : runway > 6 ? 'var(--yellow)' : 'var(--red)'; const inputStyle = 'width:100%;padding:8px;margin-top:6px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--t1);font-family:var(--mono);font-size:13px'; let cfHtml = ''; let cumulative = S.kpis.kapital || 0; for (let i = 0; i < 12; i++) { const m = new Date(2026, i).toLocaleDateString('de', {month:'short'}); const cf = S.kpis.cashflow[i] || {rev:0,cost:0}; const net = cf.rev - cf.cost; cumulative += net; const nc = net >= 0 ? 'var(--green)' : 'var(--red)'; const cc = cumulative >= 0 ? 'var(--green)' : 'var(--red)'; cfHtml += ` ${m} ${net >= 0 ? '+' : ''}${net}\u20AC ${cumulative}\u20AC `; } return `

\uD83D\uDCB3 Finanzielle Gesundheit

${runway > 50 ? '\u221E' : runway + ' Mo.'}
Runway
\u20AC${Math.abs(netBurn)}
${netBurn > 0 ? 'Net Burn' : 'Profit'} /Mo.
${ltvCac}x
LTV:CAC Ratio
\u20AC${mrr}
MRR

\uD83D\uDCCA 12-Monats Cashflow-Plan

${cfHtml}
MonatEinnahmenAusgabenNettoKumuliert
`; } // ============================================================================ // GAP 6: ENHANCE AGENTS WITH WORKFLOWS // ============================================================================ function renderAgentsEnhanced() { let html = `

🤖 Department Agents

Deine AI-gesteuerten Abteilungen - Chat oder Workflow.

`; const agents = ['cfo', 'cmo', 'sales', 'legal', 'cto', 'hr', 'coo', 'strategy']; agents.forEach(agentKey => { const agent = S.agents[agentKey]; const workflows = { cfo: ['Budget erstellen', 'Cashflow planen', 'Preiskalkulation', 'Steuerschätzung'], cmo: ['Content Calendar erstellen', 'Social Media Plan', 'SEO Audit', 'Brand Voice'], sales: ['Sales Pipeline aufbauen', 'Pitch Script schreiben', 'Cold Email Vorlage', 'Pricing Page'], legal: ['DSGVO Audit', 'AGB Generator', 'Freelancer-Vertrag', 'Datenschutzerklärung'], cto: ['Tech Stack definieren', 'MVP Architektur', 'Launch Checklist', 'Security Audit'], hr: ['Stellenanzeige schreiben', 'Freelancer finden', 'Onboarding Prozess', 'Teamstruktur'], coo: ['SOP erstellen', 'Prozessoptimierung', 'Tool Stack', 'Automations-Audit'], strategy: ['Quartalsplanung', 'Pivot Analyse', 'Wettbewerbsanalyse', 'Exit Strategie'] }; html += `
${agent.emoji}
${agent.name}
${agent.title}
Chat
Workflows
`; (workflows[agentKey] || []).forEach(workflow => { html += `
${workflow}
Schritt-für-Schritt Guided Process
`; }); html += `
`; }); return html; } async function runWorkflow(agentKey, workflowName) { toast(`Starte Workflow: ${workflowName}...`, 'info'); const ctx = `\nKONTEXT:\n- Business: ${S.user.idea || 'nicht definiert'}\n- Branche: ${S.user.industry || '?'}\n- Phase: ${S.user.stage || '?'}\n- MRR: ${S.kpis.mrr || 0}\u20AC\n- Kunden: ${S.kpis.customers?.current || 0}\n- Ausgaben: ${S.kpis.costs?.current || 0}\u20AC/Mo.\n- Rechtsform: ${S.company.rechtsform || 'nicht gew\u00e4hlt'}`; const W = { cfo: { 'Budget erstellen': `Erstelle ein detailliertes Monatsbudget f\u00fcr ein One-Person-Business.${ctx}\nGib konkrete Posten, Betr\u00e4ge und Priorisierung (essentiell/optional).`, 'Cashflow planen': `Plane den 12-Monats-Cashflow.${ctx}\nGib Tabelle mit Monat, Einnahmen, Ausgaben, Netto, Kumuliert. Realistische Annahmen.`, 'Preiskalkulation': `Kalkuliere den optimalen Preis.${ctx}\nMethoden: Cost-Plus, Value-Based, Competitor-Based. Empfehlung mit Begr\u00fcndung.`, 'Steuersch\u00e4tzung': `Sch\u00e4tze Steuerlast f\u00fcr deutsches ${S.company.rechtsform || 'Einzelunternehmen'}.${ctx}\nEinkommensteuer, Gewerbesteuer, USt., Sozialabgaben. Konkrete Zahlen.` }, cmo: { 'Content Calendar erstellen': `Erstelle einen 4-Wochen Content-Kalender.${ctx}\nKan\u00e4le: LinkedIn, Instagram, Newsletter. Pro Tag: Thema, Format, Uhrzeit. Fokus: Thought Leadership + Lead Generation.`, 'Social Media Plan': `Erstelle einen Social Media Strategie-Plan.${ctx}\nPlattform-Auswahl, Posting-Frequenz, Content-S\u00e4ulen, Engagement-Taktiken, Tools.`, 'SEO Audit': `F\u00fchre ein SEO-Audit durch.${ctx}\nKeyword-Strategie, Content-Gaps, technische Basics, Backlink-Strategie f\u00fcr ein Solo-Business.`, 'Brand Voice': `Definiere die Brand Voice.${ctx}\nTon, Werte, Do's/Don'ts, Beispiel-Texte f\u00fcr Website/Social/Email.` }, sales: { 'Sales Pipeline aufbauen': `Baue eine Sales Pipeline f\u00fcr ein One-Person-Business auf.${ctx}\nStages, Qualifikationskriterien, Follow-up Cadence, Tools.`, 'Pitch Script schreiben': `Schreibe ein Pitch Script.${ctx}\n30s Elevator Pitch, 2min Demo-Pitch, Email-Pitch. Problem-Solution-Benefit Struktur.`, 'Cold Email Vorlage': `Erstelle 3 Cold Email Vorlagen.${ctx}\nInitial Outreach, Follow-up 1, Follow-up 2. Personalisierung-Hooks, CTAs.`, 'Pricing Page': `Gestalte eine Pricing Page Struktur.${ctx}\nTier-Struktur (Free/Pro/Enterprise), Feature-Matrix, FAQ, Social Proof Elemente.` }, legal: { 'DSGVO Audit': `F\u00fchre einen DSGVO-Audit durch.${ctx}\nCheckliste: Datenschutzerkl\u00e4rung, Cookie-Banner, Auftragsverarbeitung, Verarbeitungsverzeichnis, Rechtsgrundlagen.`, 'AGB Generator': `Erstelle AGB-Vorlage.${ctx}\nLeistungsbeschreibung, Zahlungsbedingungen, Haftung, Widerruf, Gerichtsstand. F\u00fcr deutsches Recht.`, 'Freelancer-Vertrag': `Erstelle eine Freelancer-Vertragsvorlage.${ctx}\nLeistungsumfang, Verg\u00fctung, IP-Rechte, Geheimhaltung, K\u00fcndigung.`, 'Datenschutzerkl\u00e4rung': `Erstelle eine DSGVO-konforme Datenschutzerkl\u00e4rung.${ctx}\nVerantwortlicher, erhobene Daten, Rechtsgrundlagen, Betroffenenrechte, Tools/Dienste.` }, cto: { 'Tech Stack definieren': `Definiere den optimalen Tech Stack f\u00fcr ein Solo-SaaS.${ctx}\nFrontend, Backend, DB, Hosting, CI/CD, Monitoring. Budget-bewusst, wartungsarm.`, 'MVP Architektur': `Plane die MVP-Architektur.${ctx}\nKomponenten, API-Design, Datenmodell, Auth, Deployment. Minimal aber skalierbar.`, 'Launch Checklist': `Erstelle eine technische Launch-Checklist.${ctx}\nSSL, DNS, Monitoring, Backup, Error Tracking, Analytics, Performance, Security Headers.`, 'Security Audit': `F\u00fchre einen Security-Audit durch.${ctx}\nOWASP Top 10, Auth-Sicherheit, API-Schutz, Secrets Management, DSGVO-technisch.` }, hr: { 'Stellenanzeige schreiben': `Schreibe eine Stellenanzeige.${ctx}\nFokus: Remote-Freelancer f\u00fcr ein Solo-Business. Aufgaben, Anforderungen, Benefits, Kultur.`, 'Freelancer finden': `Erstelle eine Freelancer-Hiring-Strategie.${ctx}\nPlattformen (Upwork, Fiverr, Malt), Briefing-Template, Auswahlkriterien, Onboarding-Prozess.`, 'Onboarding Prozess': `Erstelle einen Freelancer-Onboarding-Prozess.${ctx}\nTag 1-7 Plan, Tools-Zugang, Kommunikationsregeln, Erwartungen, Feedback-Loop.`, 'Teamstruktur': `Plane die ideale Teamstruktur.${ctx}\nWelche Rollen zuerst? Freelancer vs. Festanstellung? Budget-Allokation. Wachstumsphasen.` }, coo: { 'SOP erstellen': `Erstelle Standard Operating Procedures.${ctx}\nKernprozesse identifizieren, Schritt-f\u00fcr-Schritt Anleitungen, Tools, Automatisierungsm\u00f6glichkeiten.`, 'Prozessoptimierung': `Analysiere und optimiere Gesch\u00e4ftsprozesse.${ctx}\nEngp\u00e4sse finden, Automatisierungspotenzial, Tool-Empfehlungen (Automation-Tools).`, 'Tool Stack': `Empfehle den optimalen Tool Stack.${ctx}\nKategorien: Projektmanagement, Kommunikation, CRM, Buchhaltung, Marketing, Entwicklung. Kosten/Monat.`, 'Automations-Audit': `F\u00fchre einen Automations-Audit durch.${ctx}\nAlle wiederkehrenden Tasks identifizieren, Automatisierbarkeit bewerten, konkrete Automations vorschlagen.` }, strategy: { 'Quartalsplanung': `Erstelle eine Quartalsplanung.${ctx}\n3 Hauptziele (OKRs), Key Actions pro Monat, Meilensteine, Risiken, Erfolgskriterien.`, 'Pivot Analyse': `Analysiere ob ein Pivot sinnvoll ist.${ctx}\nAktuelle Situation bewerten, Pivot-Optionen identifizieren, Risiko/Chance Matrix, Empfehlung.`, 'Wettbewerbsanalyse': `Erstelle eine Wettbewerbsanalyse.${ctx}\nTop 5 Wettbewerber, St\u00e4rken/Schw\u00e4chen, Preise, Positionierung, Differenzierungsstrategie.`, 'Exit Strategie': `Plane Exit-Optionen.${ctx}\nAcquisition, Merger, Lifestyle Business, Franchise. Bewertungsmethoden, Timeline, Vorbereitung.` } }; const agentNames = { cfo:'CFO & Finanzexperte', cmo:'CMO & Marketing-Stratege', sales:'Sales Director', legal:'Rechtsberater (deutsches Recht)', cto:'CTO & Tech-Architekt', hr:'HR & People Manager', coo:'COO & Operations-Experte', strategy:'Strategy & Growth Advisor' }; const prompt = W[agentKey]?.[workflowName] || `F\u00fchre diesen Workflow professionell durch: ${workflowName}${ctx}`; const system = `Du bist der ${agentNames[agentKey] || S.agents[agentKey].name} eines deutschen One-Person-Business (Solopreneur). Gib konkrete, umsetzbare Ergebnisse. Deutsch. Nutze Tabellen und Listen wo sinnvoll.`; const result = await ai([{role:'user',content:prompt}], system); if (result) { S.agents[agentKey].outputs = S.agents[agentKey].outputs || []; S.agents[agentKey].outputs.push({workflow:workflowName, output:result, date:new Date().toISOString()}); addXP(15); saveState(); toast('Workflow abgeschlossen! +15 XP', 'success'); render(); } } // ============================================================================ // UPDATE HEADER TITLES // ============================================================================ function updateHeaderTitles() { const titles = { dashboard: 'Dashboard', brain: 'Neural Network', maschinenraum: 'XBRAIN', idealab: 'IdeaLab', company: 'Gründung', funnel: 'Aufbau-Funnel', mentor: 'Sparring Partner', agents: 'Department Agents', pipeline: 'Sales Pipeline', kalender: 'Content Kalender', board: 'Board Meeting', tools: 'Tools', docs: 'Dokumente', finanzen: 'Finanzielle Gesundheit', kpis: 'KPI Dashboard', brand: 'Brand Builder', settings: 'Einstellungen' }; return titles; } // ============================================================================ // MAIN RENDER // ============================================================================ function render() { let content = ''; if (!S.onboarded) { content = renderOnboarding(); } else { switch (S.view) { case 'dashboard': content = renderDashboard(); break; case 'brain': content = renderBrain(); break; case 'maschinenraum': content = renderMaschinenraum(); break; case 'idealab': content = renderIdeaLab(); break; case 'company': content = renderCompany(); break; case 'funnel': content = renderFunnel(); break; case 'mentor': content = renderMentor(); break; case 'agents': content = renderAgentsEnhanced(); break; case 'pipeline': content = renderPipeline(); break; case 'kalender': content = renderKalender(); break; case 'board': content = renderBoard(); break; case 'tools': content = renderTools(); break; case 'docs': content = renderDocs(); break; case 'finanzen': content = renderFinanzen(); break; case 'kpis': content = renderKPIs(); break; case 'brand': content = renderBrand(); break; case 'settings': content = renderSettings(); break; default: content = renderDashboard(); } } document.getElementById('content').innerHTML = content; updateHeader(); // Re-attach event listeners for expanded sections document.querySelectorAll('.step-header').forEach(el => { el.addEventListener('click', function() { this.parentElement.querySelector('.tasks-grid').style.display = this.parentElement.querySelector('.tasks-grid').style.display === 'none' ? 'grid' : 'none'; }); el.parentElement.querySelector('.tasks-grid').style.display = 'none'; }); } // ============================================================================ // INITIALIZATION // ============================================================================ loadState(); if (!S.memory.firstSeen) { S.memory.firstSeen = new Date().toISOString(); } S.memory.lastSeen = new Date().toISOString(); S.memory.sessions++; saveState(); render(); // PWA Registration // State Sync — save to Supabase on changes (debounced) const _origSaveState = saveState; saveState = function(){_origSaveState();if(typeof stateSync!=='undefined')stateSync.save('xone',S)}; // Load from Supabase on init if(typeof stateSync!=='undefined'){stateSync.load('xone').then(d=>{if(d&&d.user?.name){Object.keys(d).forEach(k=>{if(!S[k]||JSON.stringify(S[k])===JSON.stringify({}))S[k]=d[k]});saveState();console.log('XONE: State synced from Supabase')}}).catch(()=>{})}