weblo: Ein geteilter Raum für zwei – über Mobile, Desktop und Web
weblo ist eine plattformübergreifende App, in der zwei Menschen einen gemeinsamen, privaten Raum teilen: ein kollaboratives Journal, einen Chat und Video-Calls – synchron auf Mobile, Desktop und im Web. Gedacht ist der Raum vor allem für Paare.
Die Startseite: Schnellzugriff auf Video-Call, Journal und Chat
Meine Rolle
Solo-Projekt von Ende zu Ende – Produkt, Architektur, das plattformübergreifende Frontend (Expo, Electron, Web) und das self-hostbare Backend mit Echtzeit-Synchronisation.
Was weblo macht
- Gemeinsames Journal mit kollaborativem Canvas, den beide in Echtzeit bearbeiten
- Chat zwischen den beiden Personen
- Video-Calls direkt im geteilten Raum (WebRTC)
- Partnership-Modell – ein privater Raum, der genau zwei Personen verbindet (Haupt-Use-Case: Paare)
- Mehrsprachig (Deutsch, Englisch, Japanisch) und mit Hell-/Dunkel-Theme
Video-Call-Ansicht mit den Anrufsteuerungen
Onboarding: Konto erstellen und mit dem Partner verbinden
Technische Herausforderungen
- Echtzeit-Kollaboration – der gemeinsame Canvas und die Journal-Dokumente werden über Yjs (CRDT) und einen Hocuspocus-WebSocket-Server synchronisiert, damit die Änderungen beider Seiten konvergieren – auch offline und bei Reconnects.
- Ein Produkt, drei Plattformen – eine gemeinsame TypeScript-Basis für die Expo-Mobile-App, die Electron-Desktop-App und das Web, ohne die Codebasis zu dreiteilen.
- Self-hostbares Backend – Hono-Server (Bun) mit Drizzle/Turso, Datei-Uploads über MinIO und Authentifizierung via Better Auth.
Tech-Stack
- Frontend: React, React Native (Expo), Electron, TanStack Router, Tailwind, shadcn/ui
- Backend: Hono (Bun), Drizzle ORM, SQLite/Turso, Better Auth, MinIO
- Realtime: Yjs (CRDT) + Hocuspocus über WebSockets, Video-Calls über WebRTC
- Monorepo: Turborepo, plus eine Astro-/Starlight-Doku
Status
weblo ist ein funktionierender Prototyp und aktuell pausiert. Eine Live-Version steht unter weblo-webapp.vercel.app.


