Kann ich Instatus vibecoden?
JEIN · WochenendprojektKein belastbarer Europreis verfügbar
Die Startseite zeigt nur den kostenlosen Tarif mit 0 Dollar pro Monat. Preise für bezahlte Pläne stehen dort nicht.
geprüft am 17.09.2026 · Quelle ↗ · so prüfen wir
Die Seite selbst ist der leichte Teil: Komponenten, farbige Punkte, eine Vorfall-Zeitleiste, ein Balken mit 90 Tagen Verfügbarkeit, ein Agent gibt dir das an einem Nachmittag. Die Verteilung der Benachrichtigungen ist der lästige Teil: Mail ist ein Resend-Konto und eine Schleife, aber du erbst Double-Opt-in, Abmeldungen, Bounce-Behandlung und die Erklärung, warum die Vorfallmail während des Ausfalls im Spam landete. Hosting ist die andere Hälfte: Eine Statusseite auf derselben Infrastruktur wie das, worüber sie berichtet, ist Dekoration, also brauchst du einen getrennten Host, eine eigene Domain und die Disziplin, sie langweilig zu halten. Dazu der Ablauf, den Instatus leise mitliefert: um zwei Uhr nachts vom Handy ein Update schreiben, Abonnenten pro Komponente, Slack, RSS und Webhooks. An einem Wochenende baubar für ein persönliches Projekt, nicht das Richtige zum Selbstbauen, wenn ein echter Kundenvertrag das Wort Statusseite enthält.
Build a self-hosted status page app in an empty folder. Stack, no substitutions: Node 20, Fastify, better-sqlite3, server-rendered HTML via Fastify's reply.type('text/html') and plain template literal functions, vanilla CSS in one file. No React, no build step, no ORM.
What it does:
1. Public page at / showing a list of components (name, description, status: operational, degraded, partial_outage, major_outage) with an overall banner computed from the worst component status.
2. Under that, incidents newest first. An incident has a title, impact, current status (investigating, identified, monitoring, resolved), and an append-only list of timestamped updates.
3. A 90 day uptime strip per component rendered from a daily_status table (one row per component per day, worst status seen that day). Fill it from the poller below.
4. GET /api/status returning the same data as JSON, and GET /feed.rss as a valid RSS 2.0 feed of incident updates.
5. Admin at /admin behind a single bearer token from ADMIN_TOKEN in .env, checked with a constant-time compare. Forms to: set component status, open an incident, append an update, resolve it. HTML forms, no JS framework.
6. Subscribers: POST /subscribe takes an email, stores it unconfirmed with a random token, emails a confirm link. GET /confirm/:token confirms. Every email includes a working GET /unsubscribe/:token link. When an admin appends an incident update, queue one email per confirmed subscriber and send them sequentially with a small delay, logging failures to a sends table. Use Resend via fetch with RESEND_API_KEY from .env; if the key is absent, write the emails to ./outbox/ as .txt files instead so it runs offline.
7. Optional poller: a setInterval that HTTP GETs each component's check_url if set, marks degraded on slow responses over 2s and major_outage on non-2xx or timeout, and writes daily_status.
In scope: SQLite schema created on boot with migrations as plain SQL strings, seed script with three components and one resolved incident, a README that says in one sentence to deploy this somewhere other than the infrastructure it monitors.
Out of scope, do not build: multi-tenancy, SMS, Slack or Discord integrations, OAuth, custom domain automation, an analytics or telemetry call of any kind, Docker, a JS bundler.
Secrets only in .env, with a .env.example committed and .env gitignored. Include npm scripts: dev, seed, poll. It must run with npm install and npm run dev on a clean machine.
Antworte mir auf Deutsch. Oberfläche, Kommentare und README auf Deutsch, alle Bezeichner wie Tabellen, Spalten, Variablen, Routen und Dateinamen bleiben Englisch.$ im Agenten öffnen (Prompt ist vorausgefüllt, du drückst Enter) oder direkt kopieren · dieser Bauplan ist noch auf Englisch, die Bitte um deutsche Antworten hängt unten dran · dieser Prompt wurde aus dem Bauplan erzeugt · Verbesserung einreichen
Prompt kopiert. Modelle werden besser, Urteile ändern sich.
Fünf Vibe-Coding-Tipps und geänderte Urteile. Donnerstags, kostenlos, ein Klick zum Abmelden.
Weil eine Statusseite die eine Seite ist, die funktionieren muss, wenn nichts anderes funktioniert, und einen Dritten zu bezahlen der billigste Weg ist, diese Unabhängigkeit zu kaufen. Es ist auch eine Seite, die Kunden und Auditoren ansehen, also kostet es mehr Vertrauen, wenn sie etwas hässlich oder etwas spät ist, als das Abo Geld kostet. Die meisten Teams, die selbst bauen, landen bei einer Seite, die technisch ihnen gehört und praktisch ungepflegt ist, mit einem Vorfall-Feed, dessen letzter Eintrag vierzehn Monate alt ist.
Einen Preis für die bezahlten Stufen nennt der Datensatz nicht.
xZustellbarkeit, die jemand anders aufwärmt und überwacht: deine erste Vorfallmail ist auch dein erster Test der Sendereputation
xKanäle jenseits von Mail: SMS, Slack-App, Teams, Discord, Webhooks, RSS, alles bei Instatus von Haus aus
xAbonnements pro Komponente, Abmeldungen und Double-Opt-in, über die du nicht nachdenken musst
xdie Politur: geplante Wartungsfenster, Vorfall-Vorlagen, Zeitzonen, einbettbare Widgets, öffentliche API
xechte Unabhängigkeit, es sei denn, du machst wirklich die Arbeit, die Seite getrennt von deinem eigenen Stack zu hosten
Nichts, das wir guten Gewissens empfehlen können. Deshalb gibt es den Prompt.
Kann ich Instatus vibecoden?
Jein. Der Kern von Instatus ist mit dem Prompt auf dieser Seite baubar. Echte Lücken bleiben: Zustellbarkeit, die jemand anders aufwärmt und überwacht: deine erste Vorfallmail ist auch dein erster Test der Sendereputation; Kanäle jenseits von Mail: SMS, Slack-App, Teams, Discord, Webhooks, RSS, alles bei Instatus von Haus aus.
Was kostet Instatus?
Instatus hat keinen belastbar bestätigten Monatspreis. Die Startseite zeigt nur den kostenlosen Tarif mit 0 Dollar pro Monat. Preise für bezahlte Pläne stehen dort nicht.
Was verliere ich beim Selbstbau von Instatus?
Ganz ehrlich: Zustellbarkeit, die jemand anders aufwärmt und überwacht: deine erste Vorfallmail ist auch dein erster Test der Sendereputation; Kanäle jenseits von Mail: SMS, Slack-App, Teams, Discord, Webhooks, RSS, alles bei Instatus von Haus aus; Abonnements pro Komponente, Abmeldungen und Double-Opt-in, über die du nicht nachdenken musst; die Politur: geplante Wartungsfenster, Vorfall-Vorlagen, Zeitzonen, einbettbare Widgets, öffentliche API; echte Unabhängigkeit, es sei denn, du machst wirklich die Arbeit, die Seite getrennt von deinem eigenen Stack zu hosten. Wenn einer dieser Punkte für dich entscheidend ist, lohnt sich der Selbstbau möglicherweise nicht.
Gibt es eine Open-Source-Alternative zu Instatus?
Keine ausgereifte Open-Source-Alternative, die wir guten Gewissens empfehlen können. Genau deshalb gibt es den Prompt auf dieser Seite.