Vrwb.

Selbst gebaut. Selbst gehostet.

= Verwiebe, ohne Vokale.

Unter diesem Namen baut Lars Verwiebe Werkzeuge, die es so nicht gab: für Team-Kalender, Arbeitszeit und Buchhaltung — und für das Leben mit Baby. Jedes läuft auf einem eigenen Server. Ohne Tracking, ohne Abo, mit Quellcode auf GitHub.

Sechs Tools, zwei Leben

Jedes Tool gibt es, weil eine echte Frage keine gute Antwort hatte.

Für die Arbeit

Entstanden im Berufsalltag zwischen Team-Kalendern, Stundenzetteln und der Steuererklärung.

im Einsatz

Sync

Google-Kalender spiegeln, ohne Chaos.

Verbindet Google-Kalender zu gerichteten Sync-Paaren: Quelle → Ziel, wahlweise als anonymer „Belegt“-Block oder mit vollen Details. Die Landminen, an denen Kalender-Sync sonst scheitert, sind gelöst: Loop-Schutz, Idempotenz bei Updates, Lösch-Propagation, Serientermine mit Ausnahmen — und kein einziges versehentlich verschicktes Invite.

FastAPI · SQLite · React · Google Calendar API

im Einsatz

Clok

Arbeitszeiterfassung nach deutschem Recht.

Prüft beim Erfassen live gegen das ArbZG: 8-Stunden-Tag (10 h hart), Pflichtpausen, 11 Stunden Ruhezeit, 48-Stunden-Woche. Dazu Urlaub und Krankheit mit Genehmigungs-Flow, Rollen für Admin, Arbeitgeber und Mitarbeiter, Self-Service-Onboarding per Einladungsmail, Audit-Log und Monats-CSV als DATEV-Vorbereitung.

FastAPI · PostgreSQL · React · TypeScript

im Einsatz

Tab

Buchhaltung für Kleinunternehmer (§ 19 UStG).

Belege erfassen, Kategorien zuordnen, am Jahresende eine EÜR als Summenblatt pro Anlage-EÜR-Zeile exportieren — plus Beleg-Journal als CSV fürs Steuerprogramm. Mehrere Gewerbe parallel, jahresversioniertes Zeilen-Mapping, bewusst ohne ELSTER-Direktversand und ohne Bankabruf.

FastAPI · SQLite · React · Tailwind

Für zu Hause

Entstanden mit einem Baby namens Theo — aus Fragen, die sich Eltern jeden Tag stellen.

live

IsTheoAsleep

Schlaf-Tracker für Babys und Kleinkinder.

Trackt Naps und Nachtschlaf und sagt aus Alter und den Mustern der letzten 14 Tage den nächsten Schlaf voraus. Wonder Weeks, Regressionen und Zahnen als Meilensteine, geteilter Zugriff für den anderen Elternteil und die Großeltern, Push-Erinnerungen, PWA fürs Homescreen. Benannt nach Theo, der der Anlass war.

FastAPI · SQLite · React · Web Push

fertig

BabyLayer

Was ziehe ich dem Kind heute an?

Beantwortet die Frage jedes Morgens vor der Haustür: Aus Wetter (Open-Meteo), Standort und Alter des Babys wird eine konkrete Schichten-Empfehlung. Läuft komplett im Browser — kein Backend, kein Konto, die Daten bleiben im localStorage. Als PWA installierbar.

React · Vite · PWA · Open-Meteo

im Aufbau

MinisMenu

Beikost-Start ohne Zettelwirtschaft.

Begleitet den Beikost-Start: welche Lebensmittel hat das Kind schon probiert, wie kam es an, was ist als Nächstes dran. Ein Konto, mehrere Kinder-Profile. Das Fundament steht — Auth, Profile, Docker-Setup —, der Rest wächst mit dem Kind.

FastAPI · SQLite · React

Das Setup dahinter

Ein Server.
Kein Tracking.

Alle Tools laufen auf einem einzigen Hetzner-Server in Nürnberg — pro Tool ein Docker-Compose-Stack, davor ein zentrales Caddy, das die Subdomains routet und sich selbst um TLS kümmert.

Boring Tech, mit Absicht
FastAPI und SQLite, wo es reicht — also fast überall. PostgreSQL nur, wo es gebraucht wird. Keine Kubernetes-Romantik für sechs Container.
Kein Cookie-Banner nötig
Keine Analytics, keine Tracker, keine Google-CDN-Fonts. Roboto liegt auf dem eigenen Server, die Daten bleiben in der EU.
Handgemachte UI
Inline-SVG-Icons statt Icon-Paket, eigene Selects statt nativer Dropdowns, alles tastaturbedienbar. Ein Design-System, sechs Tools.

# /opt/appdata/caddy/Caddyfile

sync.vrwb.de {

reverse_proxy sync-web:80

}

tab.vrwb.de {

reverse_proxy tab-frontend:80

}

app.istheoasleep.de {

reverse_proxy theo-frontend:80

}

# neues Tool = ein Block, ein `caddy reload`.

# TLS macht Caddy von selbst.