diff --git a/SITE.md b/SITE.md
index 8d97b84..b1864c9 100644
--- a/SITE.md
+++ b/SITE.md
@@ -1,53 +1,23 @@
-# 0012.de — Landing Page (Konzept)
+# 0012.de — Website (Konzept)
-Die Domain soll nicht leer bleiben, aber zum Projekt passen: **externer Beobachter**, nicht Marketing-Seite.
+**0012.de ist eine eigene Website** — Inhalt noch offen. Kein Monitoring-Dashboard auf der Root-Domain.
-## Idee: „Status Beacon“
+Monitoring, Status-Beacons, `ingest.php` usw. laufen später in **Unterverzeichnissen oder Subdomains** (z. B. `status.0012.de`, `/ops/` — noch festzulegen).
-Eine minimalistische **Mission-Control-Oberfläche** — dunkel, monospace, ohne Tracking-Bloat.
+## Aktuell (Platzhalter)
-### Tagline
+Brutalistische Startseite: scharf, dunkel, sarkastisch. Keine Secrets, keine Ops-Daten.
-> **0012** · external observer node
-> Watching from outside.
+## Später: Status / Monitoring (nicht Root)
-„0012“ als Name des Knotens (wie ein Kanal/Rufzeichen), nicht als Marketing-Marke.
+Siehe [`MONITORING.md`](MONITORING.md) und [`todo/06-site-0012-landing.md`](todo/06-site-0012-landing.md) — Zielpfad anpassen, wenn Subdomain/Pfad steht.
-### Inhalt (above the fold)
+## Was 0012.de werden könnte
-1. **Live-Status-Raster** — 12 Kacheln für die wichtigsten überwachten Endpoints (aus `MONITORING.md` Mindestliste):
- - schwenk.online, gitea, pics, medis, portainer, vfb.red, …
- - Farbe: grün / gelb (SSL < 14 Tage, Latenz hoch) / rot (down)
- - Letzter Check-Zeitstempel
+Noch unklar. Die Domain bleibt frei für etwas Eigenes — Portfolio, Experiment, Kunstprojekt, Katalog, whatever.
-2. **boka-Heartbeat** — „Last push from boka: 3 min ago“ oder „⚠ no signal > 15 min“
+## Was bewusst nicht auf 0012.de /
-3. **Meta-Zeile** — „This node runs on wint.global · independent of boka (89.163.231.180)“
-
-### Datenquelle
-
-- Gleiche JSON-Datei oder SQLite, die `monitor.php` beim Cron-Lauf schreibt (`data/last-checks.json`)
-- Landing Page liest nur diese Datei — **kein** Live-curl im Browser (Performance, Timeout)
-
-### Design
-
-- Hintergrund: sehr dunkles Grau (`#0d1117`)
-- Akzent: Amber für Warnung, Grün `#3fb950`, Rot `#f85149` (GitHub-Dark-ähnlich)
-- Schrift: system-ui oder `JetBrains Mono` via Google Fonts (ein Request)
-- Kein JS-Framework — plain PHP + minimal CSS, eine Datei
-
-### Optional (später)
-
-- `/status.json` — öffentliche API für Uptime (read-only)
-- RSS-Feed „incidents“ bei längeren Ausfällen
-- Kleine „About“-Sektion: Link zu GitHub-Repo (wenn public)
-
-### Was bewusst **nicht**
-
-- Kein Blog, kein Portfolio — das ist Ops-Infrastruktur
-- Keine Login-Fläche auf der Startseite
-- Keine Details zu internen IPs/Ports (nur boka-Heartbeat als Text)
-
-## Umsetzung
-
-Siehe [`todo/06-site-0012-landing.md`](todo/06-site-0012-landing.md).
+- Öffentliche Monitoring-Kacheln (→ Subdomain/Pfad)
+- IPs, Tokens, `.env`-Inhalte
+- Comic Sans (never again)
diff --git a/public/index.php b/public/index.php
index ab36b69..4987894 100644
--- a/public/index.php
+++ b/public/index.php
@@ -2,79 +2,238 @@
declare(strict_types=1);
-require_once dirname(__DIR__) . '/private/config/bootstrap.php';
-
-$domain = env('DOMAIN', '0012.de');
-$bokaIp = env('BOKA_IP', '89.163.231.180');
-
-$checksFile = privateDataDir() . '/last-checks.json';
-$checks = is_readable($checksFile)
- ? json_decode((string) file_get_contents($checksFile), true)
- : null;
-
-$lastRun = is_array($checks) && isset($checks['updated_at'])
- ? $checks['updated_at']
- : null;
-
header('Content-Type: text/html; charset=utf-8');
header('X-Robots-Tag: noindex');
+
+$jahr = (int) date('Y');
?>
- = htmlspecialchars($domain, ENT_QUOTES, 'UTF-8') ?> · external observer
+ 0012
-
- 0012
- external observer node · watching from outside
+
+
-
-
-
Monitoring active — last check = htmlspecialchars($lastRun, ENT_QUOTES, 'UTF-8') ?>
-
-
Monitoring not initialized — awaiting first cron run
-
-
- Node = htmlspecialchars($domain, ENT_QUOTES, 'UTF-8') ?>
- · independent of boka (= htmlspecialchars($bokaIp, ENT_QUOTES, 'UTF-8') ?>)
+
+ Status: unbelegt
+
+ Willkommen auf 0012.de. Hier entsteht irgendwann etwas.
+ Was genau, ist noch nicht entschieden — und das ist halb Strategie, halb Bequemlichkeit.
-
-
+
+
+
+ Was wir anbieten
+
+
+ Produkt
+ Alles Noch nichts.
+ Aber mit Überzeugung.
+
+
+ Support
+ Schreiben Sie an die Leere.
+ Antwortzeit: ∞
+
+
+ Preise
+ Kostenlos.
+ Der Preis ist Ihre Zeit, die Sie gerade verschwenden.
+
+
+ Datenschutz
+ Wir sammeln nichts.
+ Nicht aus Tugend — aus Inkompetenz.
+
+
+
+
+
+ Roadmap = $jahr ?>–= $jahr + 3 ?>
+ Q1 — Idee haben
Q2 — Idee vergessen
Q3 — Diese Seite
Q4 — Sie lesen das
+ Fortschritt zur „finalen Vision“:
+
+ 3 % · gerundet von 0 %
+
+
+
+ Pressestimmen (intern)
+
+ „Sieht aus wie eine Website.“ — Entwickler, bezahlt
+ „0012 — eine Zahl vor dem Fehler.“ — Logfile, 03:14 Uhr
+ „Wenigstens keine Comic Sans.“ — Besucher mit Standards
+
+
+
+
+ Live
+
+ ■
+ System operational · Inhalt pending · Bedeutung not found
+
+
+
+ Keine IPs. Keine Tokens. Nichts auf dem Server, der Ihnen zulächelt.
+ Nur diese Seite — und Ihr schlechtes Gewissen, noch nicht weiterzuklicken.
+
+
+
+
+