weblo

MBBy Malte Budig
weblo — home screen with video call, journal and chat

weblo is a cross-platform app (mobile, desktop, web) where two people share a private space together: a collaborative journal with a real-time canvas (Yjs/Hocuspocus), chat and video calls (WebRTC). Designed mainly for couples. Backend built with Hono, Drizzle and Turso, self-hostable.

weblo: A shared space for two — across mobile, desktop and web

weblo is a cross-platform app where two people share a private space together: a collaborative journal, a chat and video calls — in sync across mobile, desktop and the web. The space is designed mainly for couples.

weblo home screen The home screen: quick access to video call, journal and chat

My role

Solo project from end to end — product, architecture, the cross-platform frontend (Expo, Electron, web) and the self-hostable backend with real-time synchronization.

What weblo does

  • Shared journal with a collaborative canvas that both people edit in real time
  • Chat between the two people
  • Video calls right inside the shared space (WebRTC)
  • Partnership model — a private space that connects exactly two people (main use case: couples)
  • Multilingual (German, English, Japanese) and with a light/dark theme

weblo video call Video call view with the call controls

weblo create account Onboarding: create an account and connect with your partner

Technical challenges

  • Real-time collaboration — the shared canvas and the journal documents are synchronized via Yjs (CRDT) and a Hocuspocus WebSocket server, so that changes from both sides converge — even offline and across reconnects.
  • One product, three platforms — a shared TypeScript base for the Expo mobile app, the Electron desktop app and the web, without splitting the codebase in three.
  • Self-hostable backend — Hono server (Bun) with Drizzle/Turso, file uploads via MinIO and authentication 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 over WebSockets, video calls over WebRTC
  • Monorepo: Turborepo, plus an Astro/Starlight docs site

Status

weblo is a working prototype and currently paused. A live version is available at weblo-webapp.vercel.app.