b9ad7f0c40
Project character, agent rules, and run/deploy docs for mobea.de. Co-authored-by: Cursor <cursoragent@cursor.com>
177 lines
8.6 KiB
Markdown
177 lines
8.6 KiB
Markdown
# SOUL — mobea.de
|
||
|
||
> Diese Datei ist das Herzstück des Projekts: **wofür** MOBEA existiert und **wie** wir daran arbeiten.
|
||
> Für Menschen, für zukünftige Agents, für Frank-in-6-Monaten-der-vergessen-hat-warum-Pivot.
|
||
|
||
---
|
||
|
||
## Was MOBEA ist
|
||
|
||
**MOBEA** ist kein Startup. Es ist eine **tägliche Satire-Website** unter [mobea.de](https://mobea.de/) — jeden Tag erfindet eine KI eine neue absurde Firma und präsentiert sie als völlig ernste Landing Page.
|
||
|
||
**Tagline:** *Das Startup, das jeden Tag ein anderes Startup ist.*
|
||
|
||
**Der 3-Sekunden-Test:** Ein Besucher soll kurz denken: *„Moment — ist das echt? … nein, oder? … haha, nein."*
|
||
**Nicht:** *„Noch eine langweilige KI-Demo-Seite mit einem Witz im Footer."*
|
||
|
||
**Identitätsmerkmal:** Der Name **MOBEA** ist immer ein **Backronym** — fünf deutsche Wörter, deren Anfangsbuchstaben M-O-B-E-A ergeben. Das ist kein Easter Egg, sondern Teil des täglichen Rituals.
|
||
|
||
**Ablauf (vereinfacht):**
|
||
1. Generator würfelt 1–2 Themen aus dem Pool (`topics.py`)
|
||
2. OpenRouter schreibt JSON-Inhalt (Pitch, Features, Preise, Testimonials, FAQ, Stats)
|
||
3. Optional: Pixazo SDXL erzeugt ein Hero-Bild
|
||
4. Jinja2 rendert `startup.html.j2` → `public/index.html` + Archiv-Kopie
|
||
5. Alle Kauf-/Kontakt-CTAs führen zu `/echt-jetzt/` — der Vorhang fällt
|
||
|
||
**Satire ≠ Täuschung:** Die Landing täuscht bewusst Startup-Ernst vor; `/echt-jetzt/` sagt ehrlich Bescheid. Kein echtes Produkt, kein Newsletter, kein Impressum mit Firma dahinter.
|
||
|
||
---
|
||
|
||
## Zielgruppe
|
||
|
||
| Wer | Was sie erwarten |
|
||
|-----|------------------|
|
||
| Neugierige von [schwenk.online](https://schwenk.online/) oder der Mail-Signatur | Kurz reinschauen, lachen oder verwirrt sein, vielleicht morgen wiederkommen |
|
||
| Startup-affine mit Buzzword-Allergie | Den Ton erkennen, den Gag mitbekommen |
|
||
| Leute, die kurz reinfallen | Ein ehrlicher Ausweg — nicht ein Sales-Funnel |
|
||
|
||
**Nicht die Zielgruppe:** Investoren, Kunden, Journalisten auf der Suche nach einem echten Unternehmen. Die sollen zum Vorhang, nicht in einen Checkout.
|
||
|
||
---
|
||
|
||
## Stimme & Ton
|
||
|
||
MOBEA spricht in **drei Schichten**. Jede hat eigene Regeln — nicht vermischen.
|
||
|
||
### 1. Tages-Landing (KI-Inhalt + Template-Rahmen)
|
||
|
||
- **Sprache:** Deutsch. Formelles **Sie** in Marketing-Sektionen.
|
||
- **Ton:** Todesernst. Wie echtes Startup-Deutsch 2024–2026: *disruptiv, skalierbar, enterprise-ready, Pivot*.
|
||
- **Englische Lehnwörter:** Ja, wo Startup-Sprech sie verlangt — *Features, FAQ, Enterprise, Newsletter, Pivot*.
|
||
- **Humor:** Entsteht durch **Kontrast** (absurder Inhalt + überzeugter Ton), nicht durch 😂 oder „Haha, Satire!"-Labels auf der Landing.
|
||
- **Template-Rahmen:** Trockene Seitenhiebe in Untertiteln und Footer — ein Augenzwinkern, kein Comedy-Moderator.
|
||
|
||
### 2. Echt-jetzt (`/echt-jetzt/`)
|
||
|
||
- **Sprache:** Deutsch. Informelles **du**.
|
||
- **Ton:** Direkt, selbstironisch, Fourth-Wall. Satire wird **erklärt**, nicht verkauft.
|
||
- **Kein Buzzword** — außer wenn zitiert („Buzzword-Bingo").
|
||
|
||
### 3. Archiv (`/archiv/`)
|
||
|
||
- **Ton:** Nüchtern, leicht morbide — *„Hier ruhen die bisherigen Pivots."*
|
||
- Meta-Ebene für Insider; Prompts optional einblendbar.
|
||
|
||
**Werte (außerhalb der Parodie-Schicht):** Kein echtes Tracking, keine Datensammlung, keine Dark Patterns die wirklich funktionieren. Der Cookie-Banner ist Satire — er setzt nichts.
|
||
|
||
**Verboten in echten Projekt-Texten** (nicht in der absichtlichen Startup-Parodie): LinkedIn-Coach-Sprech als eigene Stimme, „leverage", „synergize", KI-Slop ohne Biss, Täuschung als Businessmodell.
|
||
|
||
### Wording-Beispiele
|
||
|
||
| Kontext | Gut | Schlecht |
|
||
|---------|-----|----------|
|
||
| Section-Untertitel | *„100 % authentisch. 0 % überprüfbar."* | *„Unsere zufriedenen Kunden lieben uns!"* (zu generisch, kein Witz) |
|
||
| Preise | *„Keine versteckten Kosten. Nur versteckte Absichten."* | *„Faire Preise für jeden!"* |
|
||
| CTA-Banner | *„Schließen Sie sich Tausenden zufriedener Nutzer an, die es auch nicht sind."* | *„Jetzt kostenlos testen!"* (klingt nach echtem SaaS) |
|
||
| Cookie-Banner | *„Wir verwenden Cookies, Karma und Schwingungsdaten."* | Echter Consent-Manager mit Tracking |
|
||
| Echt-jetzt | *„Oh. Du hast das wirklich geglaubt?"* | *„Willkommen auf unserer Satire-Website!"* (zu meta, zu früh) |
|
||
| Footer | *„© MOBEA. Alle Rechte vorbehalten. Irgendwie."* | *„Made with ❤️ and AI"* |
|
||
| Leerer Zustand (Archiv) | *„Noch keine Pivots. Komm morgen wieder."* | *„Keine Einträge gefunden."* |
|
||
|
||
---
|
||
|
||
## Visuelle DNA
|
||
|
||
Jeden Tag ein anderes **Theme** — gewürfelt per Datum, nicht per Laune:
|
||
|
||
| Theme | Akzent | Feel |
|
||
|-------|--------|------|
|
||
| **corporate** | `#2563eb` Blau | Clean SaaS, system-ui, abgerundet |
|
||
| **neon** | `#00f5d4` + `#a855f7` | Dark Cyber, Glow |
|
||
| **mystic** | `#d4a853` Gold | Dunkel-lila, Georgia, esoterisch |
|
||
| **brutalist** | `#ff0000` Rot | Schwarze Borders, Courier, harte Schatten |
|
||
| **pastel** | `#f472b6` + `#6ee7b7` | Weiche Gradients, große Radien |
|
||
|
||
**Konstanten:** Favicon `#2563eb` mit weißem **M**. OG/Meta über `_head_common.html.j2`.
|
||
|
||
**Eigene Welten (nicht theme-rotierend):**
|
||
|
||
| Seite | Palette | Feel |
|
||
|-------|---------|------|
|
||
| **Archiv** | `#111118` / `#1a1a24` | Friedhof der Pivots — dunkel, sachlich |
|
||
| **Echt-jetzt** | `#12141a` + Gold `#c9a227` | Backstage — ehrlich, kein Marketing-Glanz |
|
||
|
||
| Element | Ja | Nö |
|
||
|---------|----|----|
|
||
| Überzeugende SaaS-Landing-Struktur (Hero, Features, Pricing, FAQ) | ✓ | |
|
||
| Täglich wechselnde visuelle Identität | ✓ | |
|
||
| Responsive Layout, semantisches HTML | ✓ | |
|
||
| Fake-Cookie-Banner (ohne Funktion) | ✓ | |
|
||
| Ein Theme dauerhaft dominieren | | ✓ |
|
||
| Echtes Tracking / Analytics | | ✓ |
|
||
| Stock-Corporate als einziger Look | | ✓ |
|
||
| „LOL SATIRE"-Banner auf der Tages-Landing | | ✓ |
|
||
|
||
**Technik-Philosophie:** Statisches HTML, wenig JS (Cookie-Dismiss, Mobile-Nav), Python-Generator in Docker, nginx vor `public/`. Privacy by design — keine Analytics, `robots.txt` blockiert `/archiv` und `/echt-jetzt` für Crawler.
|
||
|
||
---
|
||
|
||
## Non-Goals (Anti-Manifest)
|
||
|
||
- **Kein echtes Startup** — nichts zu kaufen, niemanden zu kontaktieren, kein echtes Impressum
|
||
- **Keine Lead-Gen** — Newsletter-Link führt zum Vorhang, nicht zu Mailchimp
|
||
- **Kein Engagement-Bait** — kein „Teile dein tägliches Startup!", kein Streak-Gamification
|
||
- **Kein Daten-Hoarding** — nichts speichern, nicht mal Enttäuschung
|
||
- **Nicht zu erklärend auf der Landing** — der Gag lebt vom Ernst, nicht vom Disclaimer
|
||
- **Nicht zu langweilig** — generischer KI-Slop ohne absurden Kern ist schlimmer als ein schlechter Witz
|
||
- **Nicht zu corporate** — dann wäre es das, was wir parodieren, ohne den Witz
|
||
- **Kein WordPress-Agentur-Vibe** — MOBEA ist Kunst/Experiment, keine Visitenkarte mit CTA
|
||
|
||
---
|
||
|
||
## Wie wir zusammenarbeiten
|
||
|
||
### Frank liefert, Agent bindet ein
|
||
|
||
| Datei | Zweck |
|
||
|-------|-------|
|
||
| [`NOTES.md`](NOTES.md) | Franks Scratchpad — frei, chaotisch erlaubt |
|
||
| [`SOUL.md`](SOUL.md) | Vision, Ton, Arbeitsweise (du bist hier) |
|
||
|
||
### Arbeitsmodus Agent
|
||
|
||
1. **Generator-Output ist Runtime** — `public/index.html`, `public/archiv/`, `public/img/` werden generiert und sind gitignored. Änderungen an **Templates** (`startup.html.j2`, …) und **Prompts** (`generate.py`) sind die eigentliche Quelle.
|
||
2. **Ton-Änderungen doppelt prüfen** — statische Template-Zeilen *und* LLM-System-Prompt müssen zusammenpassen.
|
||
3. **Kein Scope-Creep** — nur anfassen, was die Aufgabe verlangt.
|
||
4. **Deploy:** Fränky (`INFRASTRUCTURE.md` — `mobea` → `/home/frank/mobea.de` auf `boka`).
|
||
5. **Keine Commits / kein Push** ohne explizite Anweisung (siehe `AGENTS.md`).
|
||
6. **CI/CD** nur mit Fränkys OK.
|
||
|
||
### Prioritäten bei Konflikten
|
||
|
||
```
|
||
Satire-Treue (Ernst + Absurdität) > visueller Wow-Effekt
|
||
Ehrlicher Vorhang (/echt-jetzt/) > überzeugende Täuschung
|
||
Weniger erklärender Text auf der Landing > mehr Meta-Humor
|
||
Privacy (kein Tracking) > Analytics-„Insights"
|
||
```
|
||
|
||
---
|
||
|
||
## Für Agents: Quick Start
|
||
|
||
1. [`SOUL.md`](SOUL.md) lesen (du bist hier)
|
||
2. [`generator/generate.py`](generator/generate.py) — System-Prompt, Schema, Tageslogik
|
||
3. [`generator/templates/startup.html.j2`](generator/templates/startup.html.j2) — Landing-Struktur, Themes, statische Witze
|
||
4. [`generator/topics.py`](generator/topics.py) — Themen-Pool
|
||
5. [`public/echt-jetzt/index.html`](public/echt-jetzt/index.html) — Satire-Disclaimer, ehrliche Stimme
|
||
6. [`compose.yml`](compose.yml) — nginx + Generator-Container
|
||
7. Änderungen am **Ton** gegen SOUL abgleichen
|
||
8. Vor „fertig": Generator lokal/Docker testen; Mobile (390×844) bei UI-Änderungen
|
||
|
||
---
|
||
|
||
## Ein Satz zum Mitnehmen
|
||
|
||
**mobea.de** ist ein täglicher Startup-Parodie-Automat — todernst verkauft, absurder Inhalt, ehrlicher Vorhang: KI-Humor mit Haltung, nicht LinkedIn-Slop mit Disclaimer.
|