feat: tägliche KI-generierte Fake-Startup-Seite mit Archiv und Auflösungsseite

MOBEA ist jeden Tag ein anderes Startup: Ein Generator-Container erzeugt
1x täglich via OpenRouter Texte und via Pixazo SDXL ein Hero-Bild,
rendert statisches HTML nach public/ (nginx) und archiviert alle
Ausgaben unter /archiv. Alle CTAs führen auf die Satire-Auflösung
unter /echt-jetzt/.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Frank Schwenk
2026-06-12 17:17:52 +02:00
commit 8874c63262
13 changed files with 2189 additions and 0 deletions
+244
View File
@@ -0,0 +1,244 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<title>Echt jetzt? MOBEA</title>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--bg: #12141a;
--bg-soft: #1a1d26;
--text: #e4e6eb;
--text-muted: #9aa0ad;
--accent: #c9a227;
--accent-hover: #ddb83a;
--border: rgba(255, 255, 255, 0.08);
--max-width: 42rem;
}
html {
font-size: 100%;
-webkit-text-size-adjust: 100%;
}
body {
min-height: 100vh;
background: var(--bg);
background-image:
radial-gradient(ellipse 80% 50% at 50% -20%, rgba(201, 162, 39, 0.07), transparent),
radial-gradient(ellipse 60% 40% at 100% 100%, rgba(255, 255, 255, 0.02), transparent);
color: var(--text);
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1.0625rem;
line-height: 1.65;
-webkit-font-smoothing: antialiased;
}
.wrap {
max-width: var(--max-width);
margin: 0 auto;
padding: 3rem 1.5rem 4rem;
}
.curtain-badge {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.8125rem;
font-weight: 500;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 2rem;
opacity: 0.9;
}
h1 {
font-size: clamp(1.875rem, 5vw, 2.5rem);
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.02em;
margin-bottom: 1.75rem;
}
.lead {
font-size: 1.125rem;
color: var(--text-muted);
margin-bottom: 3rem;
}
.lead strong {
color: var(--text);
font-weight: 600;
}
section {
margin-bottom: 2.75rem;
}
section h2 {
font-size: 1rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 0.875rem;
}
section p {
color: var(--text-muted);
}
section p + p {
margin-top: 0.875rem;
}
.archive-block {
background: var(--bg-soft);
border: 1px solid var(--border);
border-radius: 0.75rem;
padding: 1.75rem 1.5rem;
margin-bottom: 2.75rem;
}
.archive-block h2 {
font-size: 1.25rem;
font-weight: 600;
text-transform: none;
letter-spacing: -0.01em;
color: var(--text);
margin-bottom: 0.625rem;
}
.archive-block p {
font-size: 0.9375rem;
color: var(--text-muted);
margin-bottom: 1.25rem;
}
.actions {
display: flex;
flex-direction: column;
gap: 0.875rem;
margin-bottom: 3rem;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.875rem 1.375rem;
font-size: 0.9375rem;
font-weight: 600;
text-decoration: none;
border-radius: 0.5rem;
transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}
.btn:active {
transform: scale(0.98);
}
.btn-primary {
background: var(--accent);
color: #1a1508;
border: 1px solid var(--accent);
}
.btn-primary:hover {
background: var(--accent-hover);
border-color: var(--accent-hover);
}
.btn-secondary {
background: transparent;
color: var(--text);
border: 1px solid var(--border);
}
.btn-secondary:hover {
border-color: rgba(255, 255, 255, 0.18);
background: rgba(255, 255, 255, 0.04);
}
footer {
padding-top: 2rem;
border-top: 1px solid var(--border);
}
footer p {
font-size: 0.8125rem;
color: var(--text-muted);
line-height: 1.6;
}
@media (min-width: 480px) {
.wrap {
padding: 4rem 2rem 5rem;
}
.actions {
flex-direction: row;
flex-wrap: wrap;
}
.btn {
flex: 1 1 auto;
}
}
</style>
</head>
<body>
<div class="wrap">
<p class="curtain-badge" aria-hidden="true">🎭 Hinter dem Vorhang</p>
<h1>Oh. Du hast das wirklich geglaubt?</h1>
<p class="lead">
<strong>MOBEA ist kein Startup.</strong> MOBEA ist jeden Tag ein anderes Startup
eine täglich von einer KI neu erfundene, todernst vorgetragene Fake-Firma.
Es gibt nichts zu kaufen, niemanden zu kontaktieren, und das Impressum führt …
nun ja, hierher.
</p>
<section aria-labelledby="how-heading">
<h2 id="how-heading">Wie funktioniert das?</h2>
<p>
Eine KI würfelt jeden Tag Themen Tech-Buzzwords, Esoterik, harmlose Verschwörungen,
Coaching-Sprech und was sonst noch im Buzzword-Bingo steht und erfindet dazu ein
Startup samt Preisen, Testimonials und Kennzahlen. Alles frei erfunden.
</p>
<p>
Jede Ähnlichkeit mit echten Startups ist rein zufällig, aber statistisch
schwer vermeidbar. 😬
</p>
</section>
<aside class="archive-block" aria-labelledby="archive-heading">
<h2 id="archive-heading">Unsere bisherigen Pivots</h2>
<p>
Jeden Tag ein neues Gesicht und irgendwo liegt das Archiv aller
vergangenen Inkarnationen. Diese Seite ist der einzige Ort, der dorthin verlinkt.
</p>
<a class="btn btn-primary" href="/archiv">Zum geheimen Archiv</a>
</aside>
<nav class="actions" aria-label="Navigation">
<a class="btn btn-secondary" href="/">Zurück zum heutigen Startup morgen sind wir wer anderes.</a>
</nav>
<footer>
<p>
Kein echtes Impressum nötig? Doch: MOBEA ist ein privates Satireprojekt
ohne Tracking, ohne Cookies, ohne Datensammlung.
Die Cookie-Banner sind übrigens auch Satire. Wir speichern nichts.
Nicht mal deine Enttäuschung.
</p>
</footer>
</div>
</body>
</html>
+3
View File
@@ -0,0 +1,3 @@
User-agent: *
Disallow: /archiv
Disallow: /echt-jetzt