Files
posts/POST-2.md
T
dejanandClaude Opus 5 35f05cf213 Post 2: die Bildunterschrift steht
Grundlage ist Noahs Absatz von der Website, aber aus der Ich-Form geholt:
das Konto ist hivegrid.de, nicht Noah. Er wird in der dritten Person
eingefuehrt, danach traegt "wir" den Text -- das sind die Gruender, und
Noah ist einer davon.

793 Zeichen, Haken im ersten Absatz mit 121, neun Hashtags. Gemessen und
gegen die Vorgaben aus dem Redaktionsplan geprueft, nicht geschaetzt.
"Verbinden statt ersetzen" bleibt fuer den 14.08. reserviert und kommt
darin nicht vor.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 12:03:51 +02:00

191 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Post 2 · Die Geschichte
**Erscheint Mi 12.08.2026, 12:00 Uhr.** Carousel, 6 Slides, 1080 × 1350 px.
Zweiter Beitrag des Kontos `hivegrid.de` (nach „Vom Handwerker für Handwerker").
Diese Datei ist die Übergabe: alles, was zum Beitrag bekannt ist, damit man ohne
den Gesprächsverlauf weiterarbeiten kann. Der Redaktionsplan drumherum steht in
[`redaktionsplan/`](./redaktionsplan/).
---
## 1. Worum es geht
Die Herkunft, nicht die Funktionen. Warum es HiveGrid gibt: ein SHK-Betrieb in
vierter Generation, der sein Branchenprogramm nicht wechseln konnte und deshalb
drumherum gebaut hat.
**Vorlage ist der Text von der Website** (`HiveGrid-Website`,
`app/playground/PlaygroundClient.tsx`, Abschnitt „Warum es HiveGrid gibt").
Der vollständige Text gehört **unter** den Beitrag, nicht auf die Slides.
> Auf den Slides steht die Zuspitzung, in der Bildunterschrift der ganze Text.
> Ein früherer Stand hatte die Website-Absätze wörtlich auf den Slides. Das war
> falsch: Auf einer Slide muss eine Zeile im Vorbeiscrollen sitzen.
---
## 2. Die sechs Slides
| # | Schlüssel | Überschrift | Fließtext | Visualisierung |
|---|---|---|---|---|
| 1 | `titel` | Die Geschichte fängt **auf der Baustelle an.** | Noah Geerkens, SHK-Betrieb in vierter Generation. | `karte` |
| 2 | `prozesse` | Nicht sinnvoll. **Nur so gewachsen.** | Die Software gibt den Takt vor. Nicht der Betrieb. | `schiene` |
| 3 | `wechseln` | Wechseln? **Kannst du vergessen.** | Jahre an Daten und Wissen hängen drin. Am Ende dasselbe, nur woanders. | `ersetzen` |
| 4 | `mehr` | Wir wollten nicht weg. **Wir wollten mehr.** | KI, CRM, Automatisierung. Und Tools, die miteinander reden. | `lose` |
| 5 | `verbinden` | Dein ERP bleibt. **Der Rest kommt dazu.** | Nichts wird ersetzt. Alles wird verbunden. | `verbinden` |
| 6 | `warteliste` | Gebaut im Betrieb. **Für den Betrieb.** | Setz dich auf die Warteliste. | `warteliste` |
Fett = das mit dem Marker hervorgehobene Akzentwort (`<span class="a">`).
**Zeilenlängen sind geprüft.** Bei 74 px und `-0.03em` passen rund 26 Zeichen in
eine Zeile, mit Marker etwas weniger. Keine Zeile hier ist länger als 22, es
bricht also nichts um und alle Überschriften bleiben zweizeilig. Gemessen wurde
mit der echten Manrope (variables Latin-Subset, Gewicht 800) über die
Vorschubbreiten, nicht geschätzt.
---
## 3. Die Visualisierungen
**Kein Bildmaterial außer Noahs Karte.** Alles andere ist HTML und CSS. Damit
bleibt es beim 3-fachen Export so scharf wie die Schrift, und jede
Visualisierung lässt sich im Canvas verschieben und in der Breite ändern wie
jedes andere Element. Sie heißt dort **„Visualisierung"**.
Gebaut aus derselben Formensprache wie die Slides: chamferte Kästen, Sechsecke,
der eine gelbe Akzent. Durchgezogene Balken heißen verbunden, gestrichelte offen.
| Name | Was zu sehen ist | Gedanke dahinter |
|---|---|---|
| `karte` | Noahs Teamkarte von der Über-uns-Seite | Ein Gesicht, kein Symbol |
| `schiene` | Drei Schritte an einer Schiene mit der Beschriftung „seit Jahren so" | Die Schiene gibt die Reihenfolge vor, nicht der Betrieb |
| `ersetzen` | Schwerer Bestand, durchgestrichener Pfeil, leeres Ziel | Das Kreuz liegt auf dem **Pfeil**, nicht auf dem Ziel: der Wechsel scheitert, nicht das neue System |
| `lose` | Vier Kacheln, deren gestrichelte Stummel ins Leere laufen | KI, CRM, Automation, ERP wissen nichts voneinander |
| `verbinden` | ERP als Sechseck in der Mitte, das Neue drumherum | Der Kern bleibt, außen kommt dazu |
| `warteliste` | Eingabefeld, Knopf, Adresse | Der Abschluss ist ein Feld, kein Bild |
### Noahs Karte
Nachbau der Karte von der Über-uns-Seite **im aktiven Zustand**. Werte direkt aus
`HiveGrid-Website/app/ueber-uns/TeamCards.tsx`:
```
Hintergrund grayscale(.04) saturate(.74) brightness(.73)
Person saturate(1) contrast(1.01)
Kartengrund #0f1a2e Radius außen 38 px, innen 27 px
Namensschild gelb, links unten, "Noah" + "CEO"
```
Bilder liegen unter `assets/team/noah-bg.webp` und `noah-person.webp`.
> **Ohne die weichgezeichnete Ellipse des Originals.** Die hängt an
> `backdrop-filter`, und was `html-to-image` daraus macht, ist nicht verlässlich.
---
## 4. Maße, gemessen
Der Inhaltsblock (Überschrift plus Fließtext) endet je nach Textlänge bei
**y 415 bis 460**. Unten bleiben 92 px Rand. Für die Visualisierung stehen also
rund **800 px Höhe** zur Verfügung, und die soll sie auch füllen.
| Slide | Visualisierung: oben | Höhe | Luft zum Text | Abstand nach unten |
|---|---|---|---|---|
| 1 | 499 | 775 | 84 | 76 |
| 2 | 548 | 682 | 133 | 120 |
| 3 | 566 | 664 | 106 | 120 |
| 4 | 502 | 700 | 70 | 120 |
| 5 | 470 | 732 | 83 | 120 |
| 6 | 603 | 466 | 188 | 281 |
Slide 6 ist bewusst kleiner und steht dafür mittig in der freien Fläche. Ein
Formularfeld auf 700 px aufzublasen sieht aufgeblasen aus.
**Wie nachmessen:** Eine Kopie von `post2.html` anlegen, vor `</body>` ein
Skript hängen, das `getBoundingClientRect` der Elemente in `document.title`
schreibt, und mit
`Google\ Chrome --headless --dump-dom` auslesen. Auf `.holder .slide` warten,
die Seite baut asynchron auf.
---
## 5. Stand der Dinge
**Fertig:** Alle sechs Slides sind gebaut, die Texte auf Slide-Länge, die
Visualisierungen füllen das Format, Noahs Karte sitzt.
**Offen:**
1. **Export und Kontrolle.** Über `Datei → Alle Slides als ZIP`, 3-fach.
Danach jede Slide ansehen: der Export hat schon zweimal Bilder verschluckt,
die Prüfung meldet das inzwischen, aber ein Blick schadet nicht.
2. **Mitgestalter.** Falls Noahs Betriebsprofil mit drauf soll, **beim Posten**
einladen. Nachträglich geht es zwar, aber der Beitrag erscheint dann erst
nach der Annahme bei dessen Followern und die Ausspielung ist vorbei.
---
## 5a. Die Bildunterschrift
Grundlage ist Noahs Absatz von der Website, gekürzt und **aus der Ich-Form
geholt**: das Konto ist `hivegrid.de`, nicht Noah. Er wird deshalb in der
dritten Person eingeführt, danach trägt „wir" den Text — das sind die Gründer,
und Noah ist einer davon.
```
Ein Betrieb in vierter Generation hat nicht nur Erfahrung. Er hat auch Abläufe, die laufen, weil die Software es vorgibt.
Noah Geerkens führt so einen Betrieb, SHK, mit seiner Schwester. Da fängt die Geschichte von HiveGrid an.
Und wechseln? Kannst du vergessen. Da hängen Jahre an Stammdaten, Aufträgen und Buchhaltung drin. Kein Chef fährt seinen Betrieb ein halbes Jahr an die Wand, um am Ende dasselbe zu haben, nur woanders.
Wollten wir auch nicht. Wir wollten mehr: KI, Projektmanagement, Automatisierungen. Dass die Tools im Handwerksbetrieb endlich miteinander reden.
Genau dafür gibt es HiveGrid: kein Ersatz für deine Branchensoftware, sondern der Aufbau drumherum. Dein ERP bleibt, wo es ist.
Kein Startup-Projekt. Entstanden im Handwerksalltag, gebaut für den Handwerksalltag.
#handwerk #shk #handwerksbetrieb #sanitärheizungklima #branchensoftware #digitalisierungimhandwerk #erp #ki #hivegrid
```
**Gegen die Vorgaben aus dem Redaktionsplan geprüft:**
| Vorgabe | Ist |
|---|---|
| Haken in den ersten 125 Zeichen | erster Absatz, 121 Zeichen |
| 300 bis 800 Zeichen | 793 |
| 5 bis 10 Hashtags, unten abgesetzt | 9 |
| Suchwörter zusätzlich im Fließtext | Handwerk, SHK, Branchensoftware, ERP, KI, Automatisierungen |
Zwei Dinge, die nicht drinstehen dürfen und geprüft sind: **„Verbinden statt
ersetzen"** ist für den Beitrag am 14.08. reserviert (§7), und **„Was kaum
einer sagt"** aus dem Website-Text ist raus — die Wendung war schon auf den
Slides gestrichen.
---
## 6. Fallen, die schon zugeschnappt sind
- **Der offene Tab überschreibt die Datei.** `state/post2.json` gewinnt nur
**beim Laden**. Wer die Datei von außen ändert und dann im offenen Tab klickt,
bekommt den alten Stand zurückgeschrieben. Also erst neu laden, dann klicken.
Änderungen, die sicher ankommen müssen, gehören in den Ladepfad (`migrateState`).
- **Probier-Verschiebungen bleiben im Stand.** Slide 1 war unten abgeschnitten,
weil die Karte auf 700 px vergrößert und 250 px nach unten geschoben war. Wenn
eine Vorgabe im Code nicht wirkt, zuerst `edits` im Stand prüfen.
- **Der Server verschluckt Fehler.** Ein Filter in `log_message` ist über
`HTTPStatus` gestolpert und hat den Thread mitgerissen; die Seite blieb dann
ohne Meldung bei „Lade Screens ..." stehen. Behoben, aber wenn die Seite
wieder hängt: zuerst `serve.py` neu starten und in die Ausgabe schauen.
- **Texte von der Website gehören nicht auf Slides.** Siehe oben.
---
## 7. Was danach kommt
Der Redaktionsplan sieht als nächsten Beitrag **Fr 14.08. „Verbinden statt
ersetzen"** vor, ein Einzelbild mit der Kernaussage. Der Satz „Verbinden statt
ersetzen" ist dafür reserviert und taucht deshalb in keiner Bildunterschrift
vorher wörtlich auf.