In-house project
Musubi
A self-hostable calendar to tie shared time with your partner, family and friends.
- Client
- In-house project
- Year
- 2026
- Services
- Mobile app · Web app · Open source
- Stack
- Expo SDK 55 · React Native · Express 5 · Better Auth · Postgres + Drizzle ORM · Server-Sent Events · Turborepo + pnpm workspaces
Musubi (結び) is the Japanese word for “knot” or “tie”. The app ties people’s schedules together through shared calendars — and eventually ties together the calendars you already use elsewhere, becoming a single point of view across Google, Apple and CalDAV.
Why we built it
Existing shared-calendar tools are either closed (Cozi, Family Wall) or declared enterprise products. For a small group — a partner, a family, a rugby team — there’s no self-hostable, simple option that respects your data.
We built Musubi as a reference for the stack we use for clients too: monorepo, Expo on mobile, Express on the backend, Drizzle on Postgres, real-time through Server-Sent Events.
What works today
- Create, edit, delete calendars
- Events can belong to multiple calendars at once
- Share a calendar through a single link
- Join and leave calendars
- Real-time sync between connected clients
- Auth via Better Auth
What Musubi says about how we work
- Cross-platform mobile. One codebase ships to iOS and Android via Expo.
- Own the backend. We avoid vendor lock-in whenever it makes sense.
- Real-time. Server-Sent Events instead of polling — lighter than WebSockets.
- Monorepo. Shared types, schemas and auth between client and server.
- Open source. If we’re going to depend on something long-term, we want to understand the whole thing.
The hosted version lives at musubi.frgtn.dev, the code is on GitHub under MIT.