Skip to content

muni-town/roomy

Repository files navigation

Roomy

Roomy is a group messaging app that gives online communities tools for autonomous collaboration — designable, gardenable spaces not just for chat, but for cultivating a web of shared understanding together. Roomy is built with AT Protocol and our bespoke event-sourcing sync system, Leaf. See this blog post to understand a bit about how this project is developed and where we are now.

Key Features

Content fluidity: In Roomy, every communication artifact can be expanded seamlessly from chat message up to a wiki-page or even standalone channel. Chatty message gardening

Auto-documenting: Every page, every thread, every post in Roomy is fundamentally a type of document. Any single chat message, or a series of them strung together, can at any point be 'transitioned' into the first draft of a Documentation Page.

Bring your own ID: Login with Bluesky (default) (soon also Mastodon, GitHub...). Extend your existing social profile with Roomy. Digital Homeownership

Bluesky-connected: Roomy is optionally connected with the Bluesky network of 30M people. Make a Roomy-space for any ATProto (including Bluesky) account.

Design

Roomy is a spiritual sibling of Commune. The same core concepts of 'digital gardening applied to group messaging' apply.

Contributing

This repo is split into 5 main packages, in order of importance:

  • app the Roomy frontend
  • sdk which wraps the Leaf typescript client and ATProto SDK into a unified Roomy client, holds shared schemas for events and defines how they are materialised.
  • discord-bridge a Node.js server process for bidirectional sync between Discord guilds and Roomy spaces
  • design some shared UI and branding resources
  • roomy-cli an experimental CLI tool for interacting with Roomy, and for use in E2E tests

Most of these packages have their own README.md files for further information.