FolkJS collaborative canvas with subdomain routing for community spaces
Go to file
Jeff Emmett 184da55813 feat: brandedAppName helper, rData cloud refactor, branding color tweaks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 13:08:36 -04:00
.gitea/workflows Merge branch 'dev' 2026-04-01 14:13:34 -07:00
backlog chore: add backlog tasks 142-143, fix task-120 filename encoding 2026-04-11 08:03:13 -04:00
browser-extension fix: use subdomain format {space}.rspace.online instead of path-based routing 2026-04-02 15:16:07 -07:00
db Add rSplat module — Gaussian splat viewer with x402 gated uploads 2026-02-21 20:55:45 +00:00
deploy/twenty-crm fix: disable Twenty multi-workspace to prevent subdomain redirect loop 2026-03-04 20:23:57 -08:00
docker fix(blender): use shutil.move for cross-fs copy, disable denoiser 2026-03-25 17:21:53 -07:00
docs feat: layered local-first data architecture — encrypted backup, relay persistence, at-rest encryption 2026-03-02 17:09:07 -08:00
e2e test(spaces): add API test script for space creation & member management 2026-03-16 21:15:52 -07:00
lib feat(canvas): add rApplet circuit components + template system 2026-04-15 12:01:30 -04:00
modules feat: brandedAppName helper, rData cloud refactor, branding color tweaks 2026-04-15 13:08:36 -04:00
public/.well-known feat: consolidate domains, install deps, fix EncryptID types 2026-03-11 21:55:39 -07:00
scripts feat(rtime): use rTasks as task source — WeavingDoc overlay integration 2026-04-14 17:09:01 -04:00
server feat: brandedAppName helper, rData cloud refactor, branding color tweaks 2026-04-15 13:08:36 -04:00
shared feat: brandedAppName helper, rData cloud refactor, branding color tweaks 2026-04-15 13:08:36 -04:00
src feat: welcome email on first email connect + (you)rSpace landing copy 2026-04-15 12:09:37 -04:00
types feat: ASCII art canvas tool, video gen fixes, scribus/notebook sidecars 2026-04-03 14:25:48 -07:00
website feat(canvas): add rApplet circuit components + template system 2026-04-15 12:01:30 -04:00
.dockerignore fix: make Docker build self-contained with local context 2026-02-16 18:51:24 -07:00
.gitignore feat: add Playwright E2E test suite for all 25 rApps 2026-03-11 22:21:14 -07:00
.mcp.json feat(rcal): MI calendar awareness, tags, saved views, MCP server 2026-03-24 13:28:02 -07:00
Dockerfile fix(docker): install markitdown directly in production stage 2026-04-13 10:26:15 -04:00
Dockerfile.encryptid fix: add notification-service to encryptid Docker image 2026-03-04 11:15:19 -08:00
MODULE_SPEC.md docs: add MODULE_SPEC.md with permission model and capabilities 2026-02-17 12:30:14 -07:00
ONTOLOGY.md feat: rebuild rNotes as vault browser, editor code now in rDocs 2026-04-10 18:05:35 -04:00
README.md docs: add README with rApp catalog and digital primitives overview 2026-04-09 12:40:07 -04:00
bun.lock feat(rnotes): add tiptap-markdown for inline markdown shortcuts + paste 2026-03-25 20:56:22 -07:00
docker-compose.encryptid.yml fix(encryptid): fix Docker build context for encryptid compose 2026-03-09 16:40:32 -07:00
docker-compose.sablier-encryptid.yml Add sablier override for encryptid scale-to-zero 2026-04-14 23:22:57 -04:00
docker-compose.standalone.yml fix(infra): consolidate external service URLs to rspace.online (TASK-51.1) 2026-03-11 19:12:51 -07:00
docker-compose.yml fix(rnetwork): add auth headers to graph viewer API calls; add Blender multi-user 2026-04-13 23:32:33 -04:00
entrypoint.sh fix: use process.env check instead of shell parameter expansion 2026-03-11 17:27:21 -07:00
package-lock.json feat: add Mermaid diagram generator canvas tool + share panel role selector 2026-04-01 14:01:52 -07:00
package.json feat: add Mermaid diagram generator canvas tool + share panel role selector 2026-04-01 14:01:52 -07:00
tsconfig.json fix: resolve all TypeScript build errors across modules 2026-02-23 19:42:44 -08:00
vite.config.ts feat(rchats): add global chat widget + unread count endpoint 2026-04-15 11:15:33 -04:00

README.md

rSpace

A composable, local-first platform for collaborative knowledge work, democratic governance, and programmable economic flows.

Live at rspace.online

What is rSpace?

rSpace is an integrated suite of 35+ collaborative applications ("rApps") built on shared digital primitives — identity, encrypted CRDT data, micropayments, and AI — that gain power through composition on an infinite spatial canvas.

Every rApp works offline-first. Data lives on your device as Automerge CRDTs, encrypted per-document. The server is a sync peer, not a gatekeeper. Identity is a single passkey tap — no passwords, no seed phrases.

Architecture

rStack (Foundation)  — Identity, CRDT sync, payments, encryption
rSpace (Platform)    — Spaces, infinite canvas, module composition
rApps  (Modules)     — 35+ apps that compose on the canvas

Digital Primitives

These are the building blocks that all rApps share and compose:

EncryptID — Self-sovereign identity via WebAuthn passkeys. One biometric tap derives encryption keys (AES-256-GCM), a DID identity (Ed25519), and a crypto wallet (secp256k1). Social recovery via threshold guardian approval. No passwords or seed phrases, ever.

Local-First Data — 7-layer Automerge CRDT stack. All data encrypted client-side before sync. Conflict-free offline editing with automatic merge on reconnect. The server stores only ciphertext.

x402 Micropayments — HTTP 402 as a first-class protocol. Any endpoint can require payment. Passkey-derived wallet signs transactions on L2 rollups (~$0.001/tx). No MetaMask popup required.

CRDT Tokens — Automerge-based token ledger (cUSDC, $MYCO) with bonding curve dynamics. Instant, free, off-chain transfers that settle to L2 when needed.

Spatial Canvas — FolkJS web components on an infinite 2D canvas. Modules render as positioned shapes that can be connected, nested, and linked.

On-Demand Sidecars — Docker containers (Ollama, KiCad, FreeCAD, Blender, Scribus) start on first API call and stop after 5 minutes idle. Saves ~8GB RAM when not in use.

IPFS Pinning — Generated files auto-pinned to Kubo with .cid sidecar files. Encrypted backups also pinned for redundancy.

rApps

Information & Documents

App Description
rNotes Rich-text notebooks with voice transcription, code blocks, file attachments, and Notion/Google Docs sync
rPubs Markdown to print-ready pocket books via Typst compilation
rBooks Community PDF library with flipbook reader
rFiles File sharing with time-limited links, password protection, and Memory Cards for cross-module data interchange
rData Privacy-first analytics (cookieless, self-hosted Umami)

Planning & Coordination

App Description
rCal Calendar with lunar/solar/seasonal systems, group scheduling, location-aware events, and spatio-temporal coupling with rMaps
rMaps Real-time location sharing with OSM tiles, indoor routing (c3nav), privacy controls (precision fuzzing, ghost mode), and push notifications
rTrips Collaborative trip planner with itinerary, routing, expenses, and packing lists
rTasks Kanban boards with ClickUp bi-directional sync
rSchedule Cron-based job scheduling — emails, webhooks, calendar events, broadcasts, workflow nodes

Communication

App Description
rInbox Collaborative email with shared mailboxes, threaded comments, and Gnosis Safe multisig approval for outgoing mail
rMeets Video meetings (Jitsi) with recording transcription and search
rSocials Federated social feed — multi-platform posting via Postiz, newsletters via Listmonk, AI content generation
rForum One-click self-hosted Discourse forum deployment with Cloudflare DNS auto-provisioning

Democratic Governance

App Description
rVote Conviction voting with credit-weighted decay, ranked proposals, ELO scoring, and delegative trust flows (liquid democracy)
rChoices Polls, ranked lists, and multi-criteria spider plots as canvas shapes
rGov Modular governance circuits — signoff gates, resource thresholds, tunable knobs, amendable decision flows
CrowdSurf Swipe-based activity coordination with commitment thresholds — triggers when enough people join

Economic & Financial

App Description
rWallet Multi-chain Safe wallet viewer with CoinGecko prices, Zerion DeFi positions, CRDT token balances, bonding curve swap UI, and fiat on/off-ramp
rFlows Budget river visualization, Openfort smart accounts, outcome tracking, community budgeting with "enoughness" thresholds
rExchange P2P crypto/fiat exchange with intent matching, escrow settlement, and reputation tracking
rTime Timebank commitment pool — visualizes hour pledges as floating orbs, weaves commitments into tasks with skill-curve matching
rCart Group shopping and cosmolocal print-on-demand shop with multi-currency checkout
rNetwork Community relationship graph (3D force-directed) with CRM sync and trust visualization

Creative & Media

App Description
rDesign AI-powered desktop publishing — Scribus via noVNC with a Gemini agent that drives the layout
rSwag Design print-ready stickers, posters, and tees with dithering, color separation, and fulfillment routing
rPhotos Community photo commons (Immich-backed gallery)
rTube Video hosting and HLS live streaming via Cloudflare R2
rSplat 3D Gaussian splat viewer for .ply/.splat/.spz files

Sharing Economy

App Description
rBnb Trust-based hospitality and space sharing — gift economy as a first-class option
rVnb Peer-to-peer camper and RV rentals with trust, endorsements, and configurable economy models

AI Services

The platform integrates multiple AI providers as composable canvas shapes:

  • Gemini — CAD orchestration (drives KiCad/FreeCAD via MCP tool-calling), design agent, zine generation, image generation
  • Ollama — Local inference (llama3, qwen-coder, mistral) via on-demand sidecar
  • fal.ai — Flux Pro image gen, WAN 2.1 text-to-video, Kling image-to-video
  • LiteLLM — Unified proxy across 9 models

Tech Stack

  • Runtime: Bun + Hono
  • Frontend: Lit web components (FolkJS) + Vite
  • Data: Automerge CRDT with AES-256-GCM encryption
  • Identity: WebAuthn PRF + HKDF key derivation
  • Payments: x402 + ethers.js + Gnosis Safe SDK
  • Infrastructure: Docker + Traefik + Cloudflare Tunnel
  • AI: Gemini SDK, Ollama, fal.ai, LiteLLM

Development

bun install
bun run dev

Requires Bun 1.1+. See ONTOLOGY.md for detailed architecture documentation.

License

All rights reserved.