upd
This commit is contained in:
parent
ba95f31f71
commit
d8c0ba9237
4 changed files with 604 additions and 44 deletions
198
strategy/AI-Extraktion und BUHA-Sync.html
Normal file
198
strategy/AI-Extraktion und BUHA-Sync.html
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>AI-Extraktion und BUHA-Sync — PowerOn</title>
|
||||
<meta name="description" content="Dokumente per Upload oder SharePoint-Sync erfassen, mit KI Inhalte extrahieren und automatisch in Ihre Buchhaltung (Abacus, Bexio, RunMyAccount) übertragen. Vollautomatisch mit Kontrollmechanismen.">
|
||||
<meta property="og:title" content="AI-Extraktion und BUHA-Sync — PowerOn">
|
||||
<meta property="og:description" content="Upload oder SharePoint-Sync, KI-Inhaltsextraktion, Sync in Abacus, Bexio, RunMyAccount. Vollautomatisch, mit Kontrolle.">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://poweron.swiss">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
||||
:root{
|
||||
--coral:#F25843;
|
||||
--coral-dark:#D94A37;
|
||||
--beige:#C7C5B2;
|
||||
--beige-light:#EFEDE5;
|
||||
--text:#3A3A3A;
|
||||
--text-light:#6F7373;
|
||||
--bg:#F8F9FA;
|
||||
--white:#fff;
|
||||
--gray-border:#E0DDD3;
|
||||
}
|
||||
html{scroll-behavior:smooth;font-size:16px}
|
||||
body{font-family:'DM Sans',sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
|
||||
a{color:var(--coral);text-decoration:none}
|
||||
a:hover{color:var(--coral-dark)}
|
||||
.container{max-width:960px;margin:0 auto;padding:0 24px}
|
||||
|
||||
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(248,249,250,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-border);padding:14px 0}
|
||||
nav .container{display:flex;align-items:center;justify-content:space-between}
|
||||
.logo-text{height:34px;font-size:1.35rem;font-weight:700;color:var(--text)}
|
||||
.nav-cta{display:inline-block;background:var(--coral);color:var(--white);padding:9px 26px;border-radius:30px;font-weight:600;font-size:.85rem;transition:all .2s}
|
||||
.nav-cta:hover{background:var(--coral-dark);color:var(--white);transform:translateY(-1px)}
|
||||
|
||||
section{padding:80px 0}
|
||||
.section-label{display:inline-block;color:var(--coral);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
|
||||
.section-title{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}
|
||||
.section-title.text-left{text-align:left}
|
||||
.section-desc{font-size:.95rem;color:var(--text-light);max-width:540px;line-height:1.6;margin-bottom:40px}
|
||||
.center{text-align:center}
|
||||
.center .section-desc{margin-left:auto;margin-right:auto}
|
||||
|
||||
.hero{padding:140px 0 80px;text-align:center;position:relative}
|
||||
.hero::before{content:'';position:absolute;top:60px;left:50%;transform:translateX(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(242,88,67,.07) 0%,transparent 70%);pointer-events:none}
|
||||
.hero-badge{display:inline-block;background:rgba(242,88,67,.1);color:var(--coral);padding:6px 18px;border-radius:30px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px}
|
||||
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:16px}
|
||||
.hero h1 em{font-style:normal;color:var(--coral)}
|
||||
.hero-sub{font-size:clamp(1rem,2vw,1.15rem);color:var(--text-light);max-width:520px;margin:0 auto 32px;line-height:1.5}
|
||||
.btn-primary{display:inline-block;background:var(--coral);color:var(--white);padding:14px 40px;border-radius:30px;font-size:1rem;font-weight:600;transition:all .25s;box-shadow:0 4px 20px rgba(242,88,67,.25)}
|
||||
.btn-primary:hover{background:var(--coral-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 8px 28px rgba(242,88,67,.3)}
|
||||
|
||||
.game-changer{background:var(--white)}
|
||||
.gc-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:40px}
|
||||
.gc-card{padding:32px 28px;border-radius:15px;border:1px solid var(--gray-border);text-align:left}
|
||||
.gc-card.old{background:var(--bg)}
|
||||
.gc-card.new{background:linear-gradient(135deg,rgba(242,88,67,.03),rgba(242,88,67,.09));border-color:rgba(242,88,67,.2)}
|
||||
.gc-card h3{font-size:1rem;font-weight:600;margin-bottom:16px}
|
||||
.gc-card.new h3{color:var(--coral)}
|
||||
.gc-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:.88rem;line-height:1.4;text-align:left}
|
||||
.gc-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;margin-top:1px}
|
||||
.gc-card.old .gc-icon{background:rgba(111,115,115,.1);color:var(--text-light)}
|
||||
.gc-card.new .gc-icon{background:rgba(242,88,67,.15);color:var(--coral)}
|
||||
|
||||
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
|
||||
.feat-grid.two-cols{grid-template-columns:repeat(2,1fr)}
|
||||
.feat{padding:28px 22px;background:var(--white);border:1px solid var(--gray-border);border-radius:12px;transition:all .3s}
|
||||
.feat:hover{border-color:var(--coral);transform:translateY(-2px)}
|
||||
.feat-ico{width:40px;height:40px;background:rgba(242,88,67,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
|
||||
.feat-ico svg{width:20px;height:20px;color:var(--coral)}
|
||||
.feat h3{font-size:.95rem;font-weight:600;margin-bottom:6px}
|
||||
.feat p{font-size:.82rem;color:var(--text-light);line-height:1.45}
|
||||
|
||||
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
|
||||
.fact{text-align:center;padding:24px 12px;background:var(--white);border:1px solid var(--gray-border);border-radius:12px;transition:all .3s}
|
||||
.fact:hover{border-color:var(--coral);transform:translateY(-2px)}
|
||||
.fact-val{font-size:1.3rem;font-weight:700;color:var(--coral);margin-bottom:4px}
|
||||
.fact-lbl{font-size:.78rem;color:var(--text-light);font-weight:500}
|
||||
|
||||
.footer-cta{text-align:center;padding:80px 0 48px}
|
||||
.footer-cta h2{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
|
||||
.footer-cta h2 em{font-style:normal;color:var(--coral)}
|
||||
.footer-cta p{font-size:.95rem;color:var(--text-light);margin-bottom:32px;max-width:400px;margin-left:auto;margin-right:auto}
|
||||
footer{text-align:center;padding:24px 0;border-top:1px solid var(--gray-border);font-size:.75rem;color:var(--text-light)}
|
||||
footer .logo-text{height:26px;margin-bottom:6px;font-size:1.1rem}
|
||||
|
||||
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
|
||||
.reveal.visible{opacity:1;transform:translateY(0)}
|
||||
|
||||
@media(max-width:768px){
|
||||
.gc-grid{grid-template-columns:1fr}
|
||||
.facts{grid-template-columns:1fr 1fr}
|
||||
.feat-grid,.feat-grid.two-cols{grid-template-columns:1fr}
|
||||
.hero{padding:120px 0 60px}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav>
|
||||
<div class="container">
|
||||
<span class="logo-text">PowerOn</span>
|
||||
<a href="https://poweron.swiss" class="nav-cta" target="_blank" rel="noopener">Mehr erfahren</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<div class="hero-badge">Neu von PowerOn</div>
|
||||
<h1><em>AI-Extraktion</em> und BUHA-Sync</h1>
|
||||
<p class="hero-sub">Dokumente erfassen, Inhalte mit KI extrahieren und automatisch in Ihre Buchhaltung übertragen. Zwei Wege: <strong>Upload</strong> oder <strong>SharePoint-Sync</strong>. Vollautomatisch, mit Kontrolle.</p>
|
||||
<a href="https://poweron.swiss" class="btn-primary" target="_blank" rel="noopener">Jetzt entdecken</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="game-changer">
|
||||
<div class="container center">
|
||||
<div class="section-label reveal">Anwendungsfälle</div>
|
||||
<h2 class="section-title reveal">Zwei Wege ins System.</h2>
|
||||
<p class="section-desc reveal">
|
||||
Ob Sie einzelne Belege hochladen oder ganze Ordner aus SharePoint synchronisieren: Die KI extrahiert relevante Daten und bereitet den Sync in Ihre BUHA vor.
|
||||
</p>
|
||||
|
||||
<div class="feat-grid two-cols reveal">
|
||||
<div class="feat">
|
||||
<div class="feat-ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg></div>
|
||||
<h3>Upload-Datei</h3>
|
||||
<p>Belege und Dokumente direkt hochladen. KI erkennt Typ, Beträge, Datum, Konten und bereitet die Buchung vor.</p>
|
||||
</div>
|
||||
<div class="feat">
|
||||
<div class="feat-ico"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/><rect x="8" y="6" width="8" height="4"/></svg></div>
|
||||
<h3>SharePoint-Sync</h3>
|
||||
<p>Ordner oder Bibliotheken anbinden. Neue und geänderte Dateien werden automatisch erfasst, extrahiert und zur Buchung bereitgestellt.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<div class="container center">
|
||||
<div class="section-label reveal">BUHA-Anbindung</div>
|
||||
<h2 class="section-title reveal">Sync in alle grossen BUHA-Systeme.</h2>
|
||||
<p class="section-desc reveal">
|
||||
Anbindung per API an die drei grossen Schweizer Buchhaltungssysteme. Kein manuelles Abtippen, keine Doppelpflege.
|
||||
</p>
|
||||
|
||||
<div class="gc-grid reveal">
|
||||
<div class="gc-card old">
|
||||
<h3>Klassisch</h3>
|
||||
<div class="gc-item"><div class="gc-icon">×</div><div>Belege manuell erfassen und abtippen</div></div>
|
||||
<div class="gc-item"><div class="gc-icon">×</div><div>Pro BUHA eigene Schnittstelle, hoher Aufwand</div></div>
|
||||
<div class="gc-item"><div class="gc-icon">×</div><div>Keine KI-Extraktion, keine Automatik</div></div>
|
||||
</div>
|
||||
<div class="gc-card new">
|
||||
<h3>Mit PowerOn</h3>
|
||||
<div class="gc-item"><div class="gc-icon">✓</div><div>KI extrahiert Inhalte aus Upload oder SharePoint</div></div>
|
||||
<div class="gc-item"><div class="gc-icon">✓</div><div>Abacus, Bexio, RunMyAccount — alle drei per API</div></div>
|
||||
<div class="gc-item"><div class="gc-icon">✓</div><div>Vollautomatisch mit Freigabe- und Kontrollmechanismen</div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="facts reveal">
|
||||
<div class="fact"><div class="fact-val">Upload</div><div class="fact-lbl">Datei hochladen</div></div>
|
||||
<div class="fact"><div class="fact-val">SharePoint</div><div class="fact-lbl">Sync von Ordnern</div></div>
|
||||
<div class="fact"><div class="fact-val">3 BUHA</div><div class="fact-lbl">Abacus, Bexio, RunMyAccount</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="footer-cta">
|
||||
<div class="container">
|
||||
<h2>Bereit für <em>AI-Extraktion</em> und BUHA-Sync?</h2>
|
||||
<p>Vollautomatisch. Mit Kontrolle. Abacus, Bexio, RunMyAccount per API.</p>
|
||||
<a href="https://poweron.swiss" class="btn-primary" target="_blank" rel="noopener">poweron.swiss besuchen</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<div class="container">
|
||||
<span class="logo-text">PowerOn</span>
|
||||
<p>© 2026 PowerOn AG. Alle Rechte vorbehalten.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded',function(){
|
||||
var r=document.querySelectorAll('.reveal');
|
||||
if(!('IntersectionObserver' in window)){r.forEach(function(e){e.classList.add('visible')});return}
|
||||
var o=new IntersectionObserver(function(en){en.forEach(function(e){if(e.isIntersecting){e.target.classList.add('visible');o.unobserve(e.target)}})},{threshold:.12,rootMargin:'0px 0px -30px 0px'});
|
||||
r.forEach(function(e){o.observe(e)});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
289
strategy/Dev-Ops-Budget-Pace-VR-Sitzung.html
Normal file
289
strategy/Dev-Ops-Budget-Pace-VR-Sitzung.html
Normal file
|
|
@ -0,0 +1,289 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Dev & Ops Budget & Pace — VR-Sitzung</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
||||
:root{
|
||||
--coral:#F25843;
|
||||
--coral-dark:#D94A37;
|
||||
--beige:#C7C5B2;
|
||||
--beige-light:#EFEDE5;
|
||||
--text:#3A3A3A;
|
||||
--text-light:#6F7373;
|
||||
--bg:#F8F9FA;
|
||||
--white:#fff;
|
||||
--gray-border:#E0DDD3;
|
||||
}
|
||||
html{scroll-behavior:smooth;font-size:16px}
|
||||
body{font-family:'DM Sans',sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
|
||||
a{color:var(--coral);text-decoration:none}
|
||||
.container{max-width:960px;margin:0 auto;padding:0 24px}
|
||||
|
||||
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(248,249,250,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-border);padding:12px 0}
|
||||
nav .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
|
||||
nav a{padding:6px 14px;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--text)}
|
||||
nav a:hover,nav a.active{background:rgba(242,88,67,.12);color:var(--coral)}
|
||||
|
||||
section{padding:64px 0}
|
||||
.section-label{display:inline-block;color:var(--coral);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
|
||||
.section-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:12px}
|
||||
.section-desc{font-size:.95rem;color:var(--text-light);max-width:640px;line-height:1.6;margin-bottom:24px}
|
||||
.center{text-align:center}
|
||||
.center .section-desc{margin-left:auto;margin-right:auto}
|
||||
|
||||
.hero{padding:100px 0 48px;text-align:center}
|
||||
.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
|
||||
.hero h1 em{font-style:normal;color:var(--coral)}
|
||||
.hero-sub{font-size:1rem;color:var(--text-light);max-width:560px;margin:0 auto 24px}
|
||||
|
||||
/* Cards */
|
||||
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
|
||||
.card{padding:24px;background:var(--white);border:1px solid var(--gray-border);border-radius:12px}
|
||||
.card h3{font-size:1rem;font-weight:600;margin-bottom:12px;color:var(--coral)}
|
||||
.card p{font-size:.88rem;color:var(--text-light);line-height:1.5}
|
||||
|
||||
/* Table benchmark */
|
||||
.bench-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:16px}
|
||||
table.bench{width:100%;border-collapse:collapse;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05);font-size:.82rem}
|
||||
table.bench th,table.bench td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--gray-border)}
|
||||
table.bench th{background:var(--bg);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light)}
|
||||
table.bench tr:last-child td{border-bottom:none}
|
||||
table.bench .num{text-align:right}
|
||||
table.bench .us{background:rgba(242,88,67,.06)}
|
||||
table.bench .classic{color:var(--text-light)}
|
||||
|
||||
/* Tabs */
|
||||
.tabs{display:flex;gap:4px;margin-bottom:24px;flex-wrap:wrap}
|
||||
.tabs button{padding:10px 20px;border:1px solid var(--gray-border);background:var(--white);border-radius:8px;font-family:inherit;font-size:.9rem;cursor:pointer;color:var(--text)}
|
||||
.tabs button:hover{border-color:var(--coral);color:var(--coral)}
|
||||
.tabs button.active{background:var(--coral);color:var(--white);border-color:var(--coral)}
|
||||
.tab-panel{display:none}
|
||||
.tab-panel.active{display:block}
|
||||
|
||||
/* Slider panel */
|
||||
.slider-panel{background:var(--white);border:1px solid var(--gray-border);border-radius:12px;padding:28px;margin-bottom:24px}
|
||||
.slider-row{display:grid;grid-template-columns:1fr auto 120px;align-items:center;gap:16px;margin-bottom:20px}
|
||||
.slider-row label{font-weight:500;font-size:.9rem}
|
||||
.slider-row input[type="range"]{width:100%;accent-color:var(--coral)}
|
||||
.slider-row .val{font-weight:600;color:var(--coral);text-align:right;font-size:.95rem}
|
||||
.outcomes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:28px}
|
||||
.outcome{text-align:center;padding:20px 12px;background:var(--bg);border-radius:10px;border:1px solid var(--gray-border)}
|
||||
.outcome .label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:4px}
|
||||
.outcome .value{font-size:1.25rem;font-weight:700;color:var(--coral)}
|
||||
|
||||
/* Bullets */
|
||||
.ul-compact{margin:0;padding-left:1.2em}
|
||||
.ul-compact li{margin-bottom:6px;font-size:.9rem;color:var(--text-light)}
|
||||
|
||||
footer{padding:24px 0;border-top:1px solid var(--gray-border);font-size:.8rem;color:var(--text-light);text-align:center}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav>
|
||||
<div class="container">
|
||||
<span style="font-weight:600;color:var(--text)">Dev & Ops Budget & Pace</span>
|
||||
<div>
|
||||
<a href="#intro" class="active">Intro</a>
|
||||
<a href="#modell">AI-Modell</a>
|
||||
<a href="#benchmark">Benchmark</a>
|
||||
<a href="#pace">Pace</a>
|
||||
<a href="#slider">Szenario</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section id="intro" class="hero">
|
||||
<div class="container">
|
||||
<div class="section-label">VR-Sitzung</div>
|
||||
<h1>Dev & Ops: Budget, Pace und Mehrwert</h1>
|
||||
<p class="hero-sub">Wie legen wir als Führungsgremium Monatsbudget und Entwicklungsgeschwindigkeit fest? Fokus: Speed of Dev, Entlastung Personal, klare Konsequenzen von «voll gas» vs. «Bremse».</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="modell">
|
||||
<div class="container">
|
||||
<div class="section-label">Arbeitsmodell</div>
|
||||
<h2 class="section-title">Komplett AI-enhanced</h2>
|
||||
<p class="section-desc">Wir entwickeln mit AI Crew (Cursor). Die Rollen sind klar getrennt: Menschen für Kunden, Use Cases, Architektur und Methodik; AI für Codebase, Struktur, Umsetzung und Testing.</p>
|
||||
<div class="card-grid">
|
||||
<div class="card">
|
||||
<h3>Menschen (2 Dev)</h3>
|
||||
<p>Kunden, Use Cases, Architektur, Methodik, Entscheidungen. Nicht primär Tipparbeit oder Boilerplate.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>AI (Cursor / Crew)</h3>
|
||||
<p>Codebase, Struktur, Umsetzung, Tests. Schnelle Iteration, konsistente Qualität, weniger Kontextverlust.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="benchmark" style="background:var(--white)">
|
||||
<div class="container">
|
||||
<div class="section-label">Benchmark</div>
|
||||
<h2 class="section-title">Letzte fünf Komponenten: Klassik vs. uns</h2>
|
||||
<p class="section-desc">Was hätte eine klassische Softwarefirma an Aufwand und Zeit benötigt? Vergleich in CHF (Tagessatz 1'200 CHF, Developer intern voll belastet).</p>
|
||||
<div class="bench-wrap">
|
||||
<table class="bench">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Komponente</th>
|
||||
<th class="num">Klassisch (CHF)</th>
|
||||
<th class="num">Wir (CHF)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="us">
|
||||
<td><strong>Trustee-Feature</strong><br><span class="classic">3 BUHA (Abacus, Bexio, RMA), API-Interfaces. Klassisch ~20 PT; wir 6 PT, 3 Wo, 4'000 CHF AI</span></td>
|
||||
<td class="num classic">24'000</td>
|
||||
<td class="num">11'200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Nyla Teams Integration</strong><br><span class="classic">R&D Bridge, komplette Bridge (service-teams-browser-bot). Klassisch ~27 PT; wir 4 PT, 2'000 CHF AI</span></td>
|
||||
<td class="num classic">32'400</td>
|
||||
<td class="num">6'800</td>
|
||||
</tr>
|
||||
<tr class="us">
|
||||
<td><strong>Private LLM</strong><br><span class="classic">Komponente CH-RZ (private-llm), Ollama/Vision/OCR. Klassisch ~11 PT; wir 2 PT, 1'500 CHF AI</span></td>
|
||||
<td class="num classic">13'200</td>
|
||||
<td class="num">3'900</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Kundenprojekt (plattformunabhängig)</strong><br><span class="classic">Applikation dokumentiert und migriert. Kunde 10–15 PT geplant; wir 2 PT, 3'000 CHF AI</span></td>
|
||||
<td class="num classic">14'400</td>
|
||||
<td class="num">5'400</td>
|
||||
</tr>
|
||||
<tr style="background:var(--bg);font-weight:700">
|
||||
<td>Summe (4 Komponenten)</td>
|
||||
<td class="num classic">84'000</td>
|
||||
<td class="num">27'300</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p style="margin-top:16px;font-size:.88rem;color:var(--text-light)">Fazit: Klassisch rund 84'000 CHF (nur Personentage), wir rund 27'300 CHF (Personentage + AI). Ersparnis ca. 56'700 CHF bei kürzerer Zeit und weniger PT.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="pace">
|
||||
<div class="container">
|
||||
<div class="section-label">Pace & Budget</div>
|
||||
<h2 class="section-title">Wie viel Pace, wie viel Bremse?</h2>
|
||||
<p class="section-desc">Maximaler Pace aktuell rund 6'000 CHF/Monat (AI). Wir können langsamer fahren, indem wir langsamere (günstigere) Modelle nutzen – aber das bremst euch als Entwickler und frisst Kapazität: Menschen werden teurer, Effizienz sinkt.</p>
|
||||
<ul class="ul-compact">
|
||||
<li><strong>Max Pace (~6'000 CHF/mt):</strong> Schnelle Modelle (z. B. Anthropic fast). Höchste Speed, beste Entlastung, höchste AI-Kosten.</li>
|
||||
<li><strong>Bremse (langsamere Modelle):</strong> Geringere AI-Kosten, aber mehr Wartezeit und Revisionsrunden → mehr menschliche PT pro Feature, weniger Durchsatz.</li>
|
||||
</ul>
|
||||
<p class="section-desc" style="margin-top:16px">Im VR wollen wir fixieren: Welchen Pace fahren wir? Wo stehen wir bewusst auf der Bremse – und wo nicht?</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="slider" style="background:var(--white)">
|
||||
<div class="container">
|
||||
<div class="section-label">Interaktiv</div>
|
||||
<h2 class="section-title">Szenario: Budget & Modell wählen</h2>
|
||||
<p class="section-desc">Sliders einstellen → Konsequenzen auf Speed, Kosten, Entlastung Personal und Durchsatz sehen. Basis: 2 Entwickler, AI Crew über Cursor.</p>
|
||||
|
||||
<div class="tabs">
|
||||
<button type="button" class="active" data-tab="slider">Sliders</button>
|
||||
<button type="button" data-tab="notes">Fragen fürs VR</button>
|
||||
</div>
|
||||
|
||||
<div id="panel-slider" class="tab-panel active">
|
||||
<div class="slider-panel">
|
||||
<div class="slider-row">
|
||||
<label>AI-Budget pro Monat (CHF)</label>
|
||||
<input type="range" min="1500" max="6000" step="500" value="4500" oninput="recalc()">
|
||||
<span class="val" id="sl-budget">4'500</span>
|
||||
</div>
|
||||
<div class="slider-row">
|
||||
<label>Modell-Geschwindigkeit (langsam → schnell)</label>
|
||||
<input type="range" min="0" max="100" value="80" oninput="recalc()">
|
||||
<span class="val" id="sl-speed">Schnell</span>
|
||||
</div>
|
||||
<div class="slider-row">
|
||||
<label>Gewünschter Pace (Bremse → Max)</label>
|
||||
<input type="range" min="0" max="100" value="70" oninput="recalc()">
|
||||
<span class="val" id="sl-pace">Hoch</span>
|
||||
</div>
|
||||
</div>
|
||||
<h3 style="font-size:1rem;margin-bottom:12px">Konsequenzen (orientativ)</h3>
|
||||
<div class="outcomes">
|
||||
<div class="outcome"><div class="label">Dev-Speed</div><div class="value" id="box-speed">-</div></div>
|
||||
<div class="outcome"><div class="label">AI-Kosten/mt</div><div class="value" id="box-cost">-</div></div>
|
||||
<div class="outcome"><div class="label">Entlastung Personal</div><div class="value" id="box-relief">-</div></div>
|
||||
<div class="outcome"><div class="label">Durchsatz Features</div><div class="value" id="box-throughput">-</div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="panel-notes" class="tab-panel">
|
||||
<div class="card" style="max-width:640px">
|
||||
<h3>Fragen für die VR-Sitzung</h3>
|
||||
<ul class="ul-compact" style="margin-top:12px">
|
||||
<li>Welchen monatlichen AI-Rahmen wollen wir fixieren (z. B. 4'000 / 5'000 / 6'000 CHF)?</li>
|
||||
<li>Wo sind wir bereit, bewusst langsamer zu fahren (z. B. nur bei weniger kritischen Tasks)?</li>
|
||||
<li>Wie messen wir «Speed of Dev» und Mehrwert (z. B. Features pro Quartal, Time-to-Market)?</li>
|
||||
<li>Ab wann gilt: «Bremse» nur in Ausnahme, Standard = schnelle Modelle?</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<div class="container">PowerOn Strategy — Dev & Ops Budget & Pace. Stand Vorbereitung VR-Sitzung.</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
function recalc() {
|
||||
var sliders = document.querySelectorAll('.slider-panel input[type="range"]');
|
||||
var budget = Number(sliders[0].value);
|
||||
var speed = Number(sliders[1].value) / 100;
|
||||
var pace = Number(sliders[2].value) / 100;
|
||||
|
||||
document.getElementById('sl-budget').textContent = budget.toLocaleString('de-CH');
|
||||
document.getElementById('sl-speed').textContent = speed < 0.4 ? 'Langsam' : speed < 0.7 ? 'Mittel' : 'Schnell';
|
||||
document.getElementById('sl-pace').textContent = pace < 0.3 ? 'Niedrig' : pace < 0.7 ? 'Mittel' : 'Hoch';
|
||||
|
||||
var bf = budget / 6000;
|
||||
var composite = (bf + speed + pace) / 3;
|
||||
|
||||
var devSpeed = composite > 0.8 ? 'Sehr hoch' : composite > 0.6 ? 'Hoch' : composite > 0.4 ? 'Mittel' : 'Niedrig';
|
||||
var relief = speed > 0.7 && pace > 0.5 ? 'Sehr hoch' : speed > 0.5 ? 'Hoch' : speed > 0.3 ? 'Mittel' : 'Gering';
|
||||
var tp = composite > 0.8 ? '3\u20134/mt' : composite > 0.55 ? '2\u20133/mt' : composite > 0.35 ? '1\u20132/mt' : '0.5\u20131/mt';
|
||||
|
||||
document.getElementById('box-speed').textContent = devSpeed;
|
||||
document.getElementById('box-cost').textContent = budget.toLocaleString('de-CH') + ' CHF';
|
||||
document.getElementById('box-relief').textContent = relief;
|
||||
document.getElementById('box-throughput').textContent = '~' + tp;
|
||||
}
|
||||
recalc();
|
||||
|
||||
document.querySelectorAll('.tabs button').forEach(function(btn){
|
||||
btn.onclick = function(){
|
||||
document.querySelectorAll('.tabs button').forEach(function(b){ b.classList.remove('active'); });
|
||||
document.querySelectorAll('.tab-panel').forEach(function(p){ p.classList.remove('active'); });
|
||||
btn.classList.add('active');
|
||||
var panel = document.getElementById('panel-' + btn.getAttribute('data-tab'));
|
||||
if(panel) panel.classList.add('active');
|
||||
};
|
||||
});
|
||||
|
||||
document.querySelectorAll('nav a[href^="#"]').forEach(function(link){
|
||||
link.onclick = function(){
|
||||
document.querySelectorAll('nav a').forEach(function(a){ a.classList.remove('active'); });
|
||||
this.classList.add('active');
|
||||
var el = document.getElementById(this.getAttribute('href').slice(1));
|
||||
if(el) el.scrollIntoView({ behavior: 'smooth' });
|
||||
};
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
Loading…
Reference in a new issue