From 32ee5a5ed01e8a023ddc9cb00a6dca84a8c5d349 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Fri, 27 Feb 2026 16:05:26 -0800 Subject: [PATCH] feat: restructure all 22 landing pages with standardized template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - (You)r* becomes the h1 heading, old titles preserved as subtitles - Standardized section order: Features → How It Works → Built on Open Source → Your Data Protected → CTA - Each module lists its open source dependencies (Typst, Immich, MapLibre, Discourse, etc.) - New "Your Data, Protected" section with E2E encryption + zero-knowledge (coming soon) - Added .rl-subtitle CSS class for subtitle styling - Module-specific sections preserved between How It Works and Built on Open Source Co-Authored-By: Claude Opus 4.6 --- modules/books/landing.ts | 152 +++++++++++++------- modules/cal/landing.ts | 135 +++++++++++------- modules/cart/landing.ts | 149 +++++++++++++------- modules/choices/landing.ts | 118 +++++++++++----- modules/data/landing.ts | 148 +++++++++++++------- modules/files/landing.ts | 223 ++++++++++++++++++----------- modules/forum/landing.ts | 197 ++++++++++++++++---------- modules/funds/landing.ts | 265 +++++++++++++++++++++-------------- modules/inbox/landing.ts | 173 +++++++++++++++-------- modules/maps/landing.ts | 272 ++++++++++++++---------------------- modules/network/landing.ts | 255 +++++++++++++++++++-------------- modules/notes/landing.ts | 171 ++++++++++++++--------- modules/photos/landing.ts | 111 ++++++++++----- modules/pubs/landing.ts | 117 ++++++++++++++-- modules/rsocials/landing.ts | 134 ++++++++++++------ modules/splat/landing.ts | 132 +++++++++++------ modules/swag/landing.ts | 116 ++++++++++----- modules/trips/landing.ts | 241 +++++++++++--------------------- modules/tube/landing.ts | 146 ++++++++++++------- modules/vote/landing.ts | 157 ++++++++++++++------- modules/wallet/landing.ts | 145 +++++++++++++------ modules/work/landing.ts | 143 ++++++++++--------- server/shell.ts | 6 + 23 files changed, 2282 insertions(+), 1424 deletions(-) diff --git a/modules/books/landing.ts b/modules/books/landing.ts index c33ef3d..bf0436c 100644 --- a/modules/books/landing.ts +++ b/modules/books/landing.ts @@ -4,72 +4,70 @@ * the shell wraps it with header, CSS, and analytics. */ export function renderLanding(): string { - const demo = "https://demo.rspace.online/rbooks"; - return ` -
+
rBooks -

Your Community's Library

+

(You)rBooks, your library.

+

Your Community's Library

Upload, share, and read PDFs together. A beautiful flipbook reader, searchable catalog, and community contributions — all self-hosted. - (You)rBooks, your library.

-
- - -
-
-

How It Works

-
-
-
1
-

Upload PDFs

-

Drag-and-drop any PDF. Add title, author, tags, and a license — it is processed instantly.

-
-
-
2
-

Browse the Library

-

Search by title, author, or tag. Featured books rise to the top.

-
-
-
3
-

Read with Flipbook

-

Open any book in the interactive flipbook reader. Turn pages, zoom in, and bookmark your place.

-
-
-
-
+ -
+
-

Features

+

What rBooks Handles

+
+
📚
+

PDF Library Management

+

Upload, catalog, and organize your community's PDF collection with rich metadata, tags, and search.

+
📖

Flipbook Reader

Realistic page-turn animations, zoom, and full-screen mode for a natural reading experience.

-
-
-

PDF Processing

-

Automatic page counting, metadata extraction, and optimized delivery to the reader.

-
-
-
📚
-

Space Libraries

-

Each community space gets its own curated collection with search and tagging.

-
👥

Community Contributions

-

Members upload and share. View counts and download stats track engagement.

+

Members upload and share books. View counts and download stats track engagement.

+
+
+
🔍
+

Book Catalog

+

Search by title, author, or tag. Featured books rise to the top of each space's collection.

+
+
+
+
+ + +
+
+

How It Works

+
+
+
1
+

Upload a PDF

+

Drag-and-drop any PDF. Add title, author, tags, and a license — it is processed instantly.

+
+
+
2
+

Browse in the Flipbook Reader

+

Open any book in the interactive flipbook reader. Turn pages, zoom in, and bookmark your place.

+
+
+
3
+

Share with Your Community

+

Your library is available to all space members. Featured books and search make discovery easy.

@@ -101,19 +99,71 @@ export function renderLanding(): string {
- + +
+
+

Built on Open Source

+

The libraries and tools that power rBooks.

+
+
+
📄
+

PDF.js

+

Mozilla's open-source PDF rendering engine brings full-fidelity PDF viewing directly to the browser.

+
+
+
🗃
+

PostgreSQL

+

Rock-solid relational database powering the book catalog, metadata, and search indexes.

+
+
+
+

Hono

+

Ultrafast web framework for the API layer — lightweight, typed, and edge-ready.

+
+
+
+
+ +
-

Ready to Build Your Library?

-

- Upload your first PDF and let your community start reading. -

+

Your Data, Protected

+

How rBooks keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rBooks, your library.

+

Try the demo or create a space to get started.

-`; +`; } diff --git a/modules/cal/landing.ts b/modules/cal/landing.ts index c48656c..64b75de 100644 --- a/modules/cal/landing.ts +++ b/modules/cal/landing.ts @@ -6,75 +6,66 @@ export function renderLanding(): string {
rCal -

Time is shared.
Your calendar should be too.

+

(You)rCal, your rhythm.

+

Time is shared. Your calendar should be too.

A spatiotemporal calendar that couples where and when, supports natural cycles, and zooms from 30-second moments to geological epochs. - (You)rCal, your rhythm.

- +
-

Design principles

-
+

What rCal Handles

+
-
🤝
-

Shared by Default

-

Calendars belong to spaces, not individuals. Everyone sees the same schedule.

+
🔭
+

Temporal Zoom

+

Ten zoom levels from 30-second moments to cosmic time. Year, month, week, day — and beyond.

-
🗺
-

Spatiotemporal

-

Events have places, not just times. Where and when are coupled at every zoom level.

+
📅
+

Shared Events

+

Calendars belong to spaces, not individuals. Everyone sees the same schedule by default.

-
🌙
-

Natural Cycles

-

Lunar phases, solstices, and seasonal rhythms overlaid on the Gregorian grid.

+
🌙
+

Lunar Phases

+

Moon phases, solstices, and seasonal rhythms overlaid on the Gregorian grid. Plan with natural cycles.

-
🔭
-

Multi-Scale Zoom

-

Ten zoom levels from 30-second moments to cosmic time. One unified timeline.

+
🗺
+

Location-Aware

+

Events have places, not just times. Spatial and temporal zoom are coupled at every level.

- +
-

Why rCal

-
-
-

Where + When

-

Every event carries location context. Zoom into a city and see only what happens there.

+

How It Works

+
+
+ 1 +

Create events

+

Add events with time, location, and source context. Pull from ICS feeds, CalDAV, or other r* modules.

-
-

Coupled Zoom

-

Temporal and spatial zoom are linked. Zoom out in time and the map zooms out too.

+
+ 2 +

Zoom and explore

+

Navigate across ten temporal zoom levels. Spatial and temporal zoom are coupled — zoom out in time and the map zooms out too.

-
-

Multi-Source Sync

-

Pull events from ICS feeds, CalDAV servers, and other r* modules into one view.

-
-
-

Lunar Overlay

-

Moon phases computed and displayed alongside events. Plan by natural cycles.

-
-
-

r* Ecosystem Embeds

-

rVote deadlines, rWork sprints, rFunds milestones — all surface as calendar events.

-
-
-

Self-Hosted

-

Your data lives on your infrastructure. No vendor lock-in, no surveillance calendars.

+
+ 3 +

Share with your space

+

Space members see the same calendar. rWork sprints, rVote deadlines, rTrips itineraries — all in one view.

@@ -247,15 +238,65 @@ export function renderLanding(): string {
+ +
+
+

Built on Open Source

+

The libraries and tools that power rCal.

+
+
+
🗃
+

PostgreSQL

+

Rock-solid relational database for events, sources, locations, and calendar metadata.

+
+
+
🚗
+

OSRM

+

Open-source routing engine for location-based scheduling, travel times, and spatial queries.

+
+
+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, edge-ready, and built for speed.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rCal keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+
-

See time differently

-

- A calendar that understands place, cycles, and community. Try the demo or create your own space. -

+

(You)rCal, your rhythm.

+

Try the demo or create a space to get started.

diff --git a/modules/cart/landing.ts b/modules/cart/landing.ts index f8721f2..8242ae8 100644 --- a/modules/cart/landing.ts +++ b/modules/cart/landing.ts @@ -6,23 +6,52 @@ export function renderLanding(): string {
rCart -

Group Shopping, Together

+

(You)rCart, your market.

+

Group Shopping, Together

A shared shopping cart for communities. Pool orders, unlock bulk pricing, and fulfill locally through the cosmolocal provider network. - (You)rCart, your market.

- +
-

How it works

-
+

What rCart Handles

+
+
+
🛒
+

Group Purchasing

+

One cart shared across your space. Members pool orders and hit bulk thresholds together.

+
+
+
🌐
+

Cosmolocal Fulfillment

+

Every order is matched to the nearest capable provider. Design global, manufacture local.

+
+
+
📋
+

Provider Registry

+

A network of local providers with capabilities, locations, and pricing. Automatic matching by proximity.

+
+
+
💰
+

Revenue Splits

+

Creator, community, and provider shares calculated automatically via rFunds. Transparent by default.

+
+
+
+
+ + +
+
+

How It Works

+
1

Create a Space

@@ -42,44 +71,7 @@ export function renderLanding(): string {
- -
-
-

Features

-
-
-
- -
-

Universal Cart

-

One cart shared across your space. Members add items, pool orders, and hit bulk thresholds together.

-
-
-
- -
-

Crypto + Card

-

Pay with credit card or cryptocurrency. x402 protocol support for instant crypto payments.

-
-
-
- -
-

Real-time Updates

-

Order status updates in real time — from placement through production to delivery.

-
-
-
- -
-

Passkey Login

-

Passwordless authentication with EncryptID passkeys. One tap to sign in across all r* apps.

-
-
-
-
- - +
@@ -108,16 +100,71 @@ export function renderLanding(): string {
+ +
+
+

Built on Open Source

+

The libraries and tools that power rCart.

+
+
+
💳
+

x402 Protocol

+

Open payment protocol for instant crypto payments. Card payments supported alongside.

+
+
+
💰
+

Flow Service

+

Automated revenue splits between creator, community, and provider. Transparent by design.

+
+
+
🗃
+

PostgreSQL

+

Rock-solid relational database for catalog, orders, providers, and transaction history.

+
+
+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, edge-ready, and built for speed.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rCart keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+
-

Ready to shop together?

-

- Browse the catalog, pool orders with your community, and support local providers. -

+

(You)rCart, your market.

+

Try the demo or create a space to get started.

diff --git a/modules/choices/landing.ts b/modules/choices/landing.ts index 605057d..e96f14c 100644 --- a/modules/choices/landing.ts +++ b/modules/choices/landing.ts @@ -4,51 +4,78 @@ * the shell wraps it with header, CSS, and analytics. */ export function renderLanding(): string { - const demo = "https://demo.rspace.online/rchoices"; - return ` -
+
rChoices -

Decide Together, Fairly

+

(You)rChoices, your voice.

+

Decide Together, Fairly

Quadratic voting, ranked choice, and multi-criteria scoring — all as interactive shapes on your canvas. Drop a choice, let members vote, watch results emerge in real time. - (You)rChoices, your voice.

+
+ + +
+
+

What rChoices Handles

+
+
+
+

Quadratic Voting

+

Express intensity of preference. The cost of additional votes grows exponentially, balancing passion with fairness.

+
+
+
📋
+

Ranked Choice Voting

+

Order preferences from first to last. Instant-runoff tabulation finds the option with the broadest support.

+
+
+
🔄
+

CRDT-Based Shared State

+

Automerge CRDTs keep all participants in sync — no conflicts, no lost votes, even offline.

+
+
+
+

Real-Time Collaboration

+

Tallies, rankings, and spider charts update live as members vote. Results emerge instantly.

+
+
+
-
+

How It Works

1
-

Create a Choice Shape

-

Pick a voting method, name it, and add options. The shape appears on the canvas.

+

Create a Decision

+

Pick a voting method, name it, and add options. The choice shape appears on the canvas.

2
-

Members Vote

+

Add Options & Invite Voters

Space members interact with the shape to cast votes, rank preferences, or score criteria.

3
-

Results Emerge

-

Live tallies update as votes arrive. View charts, rankings, and spider diagrams in real time.

+

Results Calculated Fairly in Real Time

+

Live tallies update as votes arrive. View charts, rankings, and spider diagrams instantly.

-
+

Voting Methods

@@ -74,48 +101,71 @@ export function renderLanding(): string {

- +
-

Features

-
+

Built on Open Source

+

The libraries and tools that power rChoices.

+
-
🎨
-

Canvas Integration

-

Choice shapes live on the canvas alongside notes, images, and other shapes — full spatial context.

+
🔄
+

Automerge

+

Conflict-free replicated data types for shared state — real-time sync without merge conflicts.

+
+
+
🗃
+

PostgreSQL

+

Reliable relational storage for decisions, vote records, and result history.

-

Real-time Results

-

Tallies, rankings, and spider charts update live as members vote via Automerge CRDT sync.

+

Hono

+

Ultrafast web framework for the API layer — lightweight, typed, and edge-ready.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rChoices keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

-
🔧
-

Configurable Parameters

-

Set vote budgets, deadlines, anonymity, and quorum thresholds per choice shape.

+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

-
-

rVote Integration

-

Connect to rVote for formal governance proposals backed by on-canvas choices.

+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

-
+
-

Better Decisions Start Here

-

- Drop a choice shape on your canvas and let your community weigh in. -

+

(You)rChoices, your voice.

+

Try the demo or create a space to get started.

-`; +`; } diff --git a/modules/data/landing.ts b/modules/data/landing.ts index b5c88a4..e3c4bf3 100644 --- a/modules/data/landing.ts +++ b/modules/data/landing.ts @@ -4,58 +4,37 @@ * the shell wraps it with header, CSS, and analytics. */ export function renderLanding(): string { - const demo = "https://demo.rspace.online/rdata"; - return ` -
+
rData -

Privacy-First Analytics

+

(You)rData, your signal.

+

Privacy-First Analytics

See how your community engages without tracking individuals. No cookies, no consent banners, no third-party data — just clean, real-time metrics from your own server. - (You)rData, your signal.

-
- - -
-
-

How It Works

-
-
-
1
-

Auto-Instrumented

-

Every rSpace module is automatically tracked — no code changes, no tag managers.

-
-
-
2
-

View Dashboard

-

Open rData to see page views, active visitors, referrers, and top content in real time.

-
-
-
3
-

Share Insights

-

Export stats or embed dashboard widgets in your canvas to keep the community informed.

-
-
-
-
+ -
+
-

Features

+

What rData Handles

+
+
📊
+

Privacy-First Dashboard

+

Active visitors, page views, bounce rate, and session duration — all without tracking individuals.

+
🔒
-

No Cookies Required

-

Umami uses a privacy-friendly fingerprinting method. Zero cookies, zero local storage.

+

No Cookies

+

Umami uses a privacy-friendly fingerprinting method. Zero cookies, zero local storage, zero consent banners.

@@ -63,14 +42,33 @@ export function renderLanding(): string {

No personal data collected. No consent banner needed. Compliant out of the box.

-
-

Real-Time Dashboard

-

Active visitors, page views, bounce rate, and session duration update live.

+
🏠
+

Self-Hosted Metrics

+

Your visitor metrics never leave your server. No ad networks, no data brokers, no surprises.

-
-
🦾
-

Lightweight Script

-

Under 2 KB tracker script. No impact on page load performance.

+
+
+
+ + +
+
+

How It Works

+
+
+
1
+

Add a Tracking Snippet

+

Every rSpace module is automatically tracked — no code changes, no tag managers required.

+
+
+
2
+

Collect Anonymized Pageviews

+

A sub-2 KB script collects anonymized pageviews with no impact on page load performance.

+
+
+
3
+

Analyze in a Clean Dashboard

+

Open rData to see page views, active visitors, referrers, and top content in real time.

@@ -103,19 +101,71 @@ export function renderLanding(): string {
- + +
+
+

Built on Open Source

+

The libraries and tools that power rData.

+
+
+
📈
+

Umami

+

Open-source, privacy-first analytics platform — the ethical alternative to Google Analytics.

+
+
+
🗃
+

PostgreSQL

+

Reliable relational storage for all analytics data, event logs, and aggregation queries.

+
+
+
+

Hono

+

Ultrafast web framework powering the API proxy layer between your modules and the analytics backend.

+
+
+
+
+ +
-

Analytics Without the Guilt

-

- Respect your visitors. Understand your community. Keep your data. -

+

Your Data, Protected

+

How rData keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rData, your signal.

+

Try the demo or create a space to get started.

-`; +`; } diff --git a/modules/files/landing.ts b/modules/files/landing.ts index a54fda7..570fa5a 100644 --- a/modules/files/landing.ts +++ b/modules/files/landing.ts @@ -1,95 +1,148 @@ /** - * Files module landing page — rich content for rspace.online/rfiles + * rFiles — rich landing page body. + * Returned by landingPage() in the module export; + * the shell wraps it with header, CSS, and analytics. */ - export function renderLanding(): string { return ` - -
- rFiles -

Share Files, Your Way

-

- Upload, organize, and share with public links and memory cards. - Built for communities who want control over their shared files. - (You)rFiles, your way. -

+ +
+ rFiles +

(You)rFiles, your way.

+

Share Files, Your Way

+

+ Upload, organize, and share with public links and memory cards. + Built for communities who want control over their shared files. +

+ +
+ + +
+
+

What rFiles Handles

+
+
+
📤
+

File Upload & Sharing

+

Drag and drop any file type. Images, documents, archives — everything is welcome.

+
+
+
🔗
+

Public Share Links

+

Create expiring, password-protected, download-limited share links for any file.

+
+
+
📄
+

Memory Cards

+

Attach structured metadata cards to files — notes, context, and tags that travel with the content.

+
+
+
📁
+

Folder Organization

+

Nest files in folders, tag freely, and search by name, type, or metadata across your library.

+
+
+
+
+ + +
+
+

How It Works

+
+
+
1
+

Upload Files

+

Drag and drop any file type. Images, documents, archives — everything is welcome.

+
+
+
2
+

Organize in Folders

+

Group files by project, topic, or team. Tag and search across your whole library.

+
+
+
3
+

Share with Links

+

Generate public share links with optional expiration, download limits, and password protection.

+
+
+
+
+ + +
+
+

Built on Open Source

+

The libraries and tools that power rFiles.

+
+
+
📷
+

Sharp

+

High-performance server-side image processing for thumbnails, resizing, and format conversion.

+
+
+
🗃
+

PostgreSQL

+

Reliable relational storage for file metadata, sharing records, and folder structure.

+
+
+
+

Hono

+

Ultrafast web framework for the API layer — lightweight, typed, and edge-ready.

+
+
+
+

Nodemailer

+

Battle-tested email delivery for share notifications and file access alerts.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rFiles keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rFiles, your way.

+

Try the demo or create a space to get started.

+
- -
-
-

How It Works

-
-
-
1
-

Upload Files

-

Drag and drop any file type. Images, documents, archives -- everything is welcome.

-
-
-
2
-

Organize in Folders

-

Group files by project, topic, or team. Tag and search across your whole library.

-
-
-
3
-

Share with Links

-

Generate public share links with optional expiration, download limits, and password protection.

-
-
-
-
- - -
-
-

Features

-

- Everything you need for community file management, without the surveillance. -

-
-
-
🔗
-

Public Share Links

-

Create expiring, password-protected, download-limited share links for any file.

-
-
-
📄
-

Memory Cards

-

Attach structured metadata cards to files -- notes, context, and tags that travel with the content.

-
-
-
📁
-

Folder Organization

-

Nest files in folders, tag freely, and search by name, type, or metadata across your library.

-
-
-
🌐
-

Multi-Space Storage

-

Each community space gets its own file library. Share across spaces or keep things private.

-
-
-
-
- - -
-
-

Ready to share?

-

- Try the demo or create your own space to start uploading. -

- -
-
- - `; +`; } diff --git a/modules/forum/landing.ts b/modules/forum/landing.ts index 38dd5b2..5d6d670 100644 --- a/modules/forum/landing.ts +++ b/modules/forum/landing.ts @@ -5,76 +5,76 @@ export function renderLanding(): string { return `
- rForum -

- Deploy Your Own Discourse Forum in Minutes -

+ rForum +

(You)rForum, your community.

+

Deploy Your Own Discourse Forum in Minutes

Automated cloud provisioning for self-hosted Discourse. No DevOps required. Choose your region, configure your settings, and go live. - (You)rForum, your community.

- +
-

How It Works

-
-
-
- - - - -
-

1. Configure

-

- Choose your subdomain, server region, and instance size. - Add SMTP credentials for email delivery. Set your admin email. -

+

What rForum Handles

+
+
+
+

Automated Provisioning

+

One-click Discourse deployment. Server creation, installation, and configuration handled automatically.

- -
-
- - - -
-

2. Provision

-

- We create a cloud server on Hetzner, install Discourse, - configure SSL via Let's Encrypt, and set up DNS. Takes about 10-15 minutes. -

+
+
+

Cloud VPS Deployment

+

Deploy on Hetzner Cloud in Germany, Finland, or the US. Transparent pricing with no markup.

+
+
🌐
+

DNS Integration

+

Automatic DNS setup for your subdomain via Cloudflare. SSL certificates provisioned with Let's Encrypt.

+
+
+
🛠
+

No DevOps Required

+

No command line, no SSH — just fill in your settings and watch your forum come online.

+
+
+
+
-
-
- - - -
-

3. Go Live

-

- Your forum is ready. Log in as admin, customize your community, - invite members, and start conversations. Full SSH access included. -

+ +
+
+

How It Works

+
+
+
1
+

Configure

+

Choose your subdomain, server region, and instance size. Add SMTP credentials for email delivery. Set your admin email.

+
+
+
2
+

Provision

+

We create a cloud server on Hetzner, install Discourse, configure SSL via Let's Encrypt, and set up DNS. Takes about 10-15 minutes.

+
+
+
3
+

Go Live

+

Your forum is ready. Log in as admin, customize your community, invite members, and start conversations. Full SSH access included.

-
+
-

- Transparent Pricing -

+

Transparent Pricing

Pay only for the cloud server. Hetzner pricing passed through directly — no markup.

@@ -131,34 +131,32 @@ export function renderLanding(): string {
- -
+ +
-

- What You Get -

+

What You Get

-
+

Automated SSL

Let's Encrypt certificates provisioned automatically during setup.

-
+

Multiple Regions

Deploy in Germany, Finland, or the US East/West Coast.

-
+

Full SSH Access

Your server, your rules. SSH in anytime for custom configuration.

-
+

One-Click Updates

Discourse's built-in admin panel handles version upgrades.

-
+

DNS Management

Automatic DNS setup for *.rforum.online subdomains.

-
+

Real-Time Logs

Watch your forum provision step-by-step in the dashboard.

@@ -166,22 +164,73 @@ export function renderLanding(): string {
- -
-
-

- Ready to launch your community? -

-

- Deploy a production Discourse forum in under 15 minutes. No DevOps experience needed. -

-
- Launch Your Forum + +
+
+

Built on Open Source

+

The libraries and tools that power rForum.

+
+
+

Discourse

+

The world's most popular open-source forum platform.

+
+
+

Hetzner Cloud API

+

Automated VPS provisioning in multiple regions.

+
+
+

Cloudflare API

+

DNS management and SSL termination.

+
+
+

Hono

+

Ultra-fast, lightweight API framework powering the backend.

+
- + +
+
+

Your Data, Protected

+

How rForum keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rForum, your community.

+

Try the demo or create a space to get started.

+ +
+
+ + `; } diff --git a/modules/funds/landing.ts b/modules/funds/landing.ts index 52934e8..8789c8c 100644 --- a/modules/funds/landing.ts +++ b/modules/funds/landing.ts @@ -1,118 +1,169 @@ /** - * Funds module landing page — rich content for rspace.online/rfunds + * rFunds — rich landing page body. + * Returned by landingPage() in the module export; + * the shell wraps it with header, CSS, and analytics. */ - export function renderLanding(): string { return ` - -
- rFunds -

Visualize Your Community's Money

-

- Budget flows, river visualization, and conviction funding. - Watch resources move through your community in real time. - (You)rFunds, your flow. + +

+ rFunds +

(You)rFunds, your flow.

+

Visualize Your Community's Money

+

+ Budget flows, river visualization, and conviction funding. + Watch resources move through your community in real time. +

+ +
+ + +
+
+

What rFunds Handles

+
+
+
🌊
+

Budget Flow Visualization

+

Animated flow diagram showing how funds move between pools, funnels, and outcomes in real time.

+
+
+
📊
+

Treasury Dashboards

+

Full overview of balances, inflows, outflows, and historical transaction data for your community.

+
+
+
💡
+

Conviction-Based Funding

+

Continuous signaling lets community members express preferences that compound over time.

+
+
+
💨
+

River Metaphor

+

Named budget streams between funding pools with configurable rates, thresholds, and activation rules.

+
+
+
+
+ + +
+
+

How It Works

+
+
+
1
+

Connect Your Treasury

+

Link funding pools and define budget streams with rates, thresholds, and allocation rules.

+
+
+
2
+

Map Budget Flows Visually

+

The river visualization animates budget movement in real time — deposits, withdrawals, and funnels.

+
+
+
3
+

Decide Funding with Conviction

+

Community members signal preferences through conviction funding. Resources flow where attention goes.

+
+
+
+
+ + +
+
+

Ecosystem Integration

+

+ rFunds connects to other rSpace modules for end-to-end treasury governance.

+
+
+
💰
+
+

rWallet

+

On-chain balances and wallet-based treasury tracking for decentralized communities.

+
+
+
+
🗳
+
+

rVote

+

Governance decisions that direct fund allocation through formal proposal workflows.

+
+
+
+
+
+ + +
+
+

Built on Open Source

+

The libraries and tools that power rFunds.

+
+
+
🌊
+

Flow Service

+

Custom budget flow engine powering the river visualization and conviction-based allocation logic.

+
+
+
🗃
+

PostgreSQL

+

Reliable relational storage for space-flow associations, transaction history, and pool balances.

+
+
+
+

Hono

+

Ultrafast web framework for the API layer — lightweight, typed, and edge-ready.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rFunds keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rFunds, your flow.

+

Try the demo or create a space to get started.

+
- -
-
-

How It Works

-
-
-
1
-

Define Budget Streams

-

Create named flows between funding pools. Set rates, thresholds, and allocation rules.

-
-
-
2
-

Watch Money Flow

-

The river visualization animates budget movement in real time -- deposits, withdrawals, and funnels.

-
-
-
3
-

Govern Allocation

-

Community members signal preferences through conviction funding. Resources flow where attention goes.

-
-
-
-
- - -
-
-

Features

-

- Transparent treasury management for communities of any size. -

-
-
-
🌊
-

River Visualization

-

Animated flow diagram showing how funds move between pools, funnels, and outcomes in real time.

-
-
-
💡
-

Conviction Funding

-

Continuous signaling lets community members express preferences that compound over time.

-
-
-
💨
-

Budget Streams

-

Named flows between funding pools with configurable rates, thresholds, and activation rules.

-
-
-
📊
-

Treasury Dashboard

-

Full overview of balances, inflows, outflows, and historical transaction data for your community.

-
-
-
-
- - -
-
-

Ecosystem Integration

-
-
-
💰
-
-

rWallet

-

Connects to rWallet for on-chain balances and wallet-based treasury tracking.

-
-
-
-
🗳
-
-

rVote

-

Pairs with rVote for governance decisions that direct fund allocation.

-
-
-
-
-
- - -
-
-

See your community's funds in motion

-

- Try the demo or create a space to set up your own budget flows. -

- -
-
- - `; +`; } diff --git a/modules/inbox/landing.ts b/modules/inbox/landing.ts index 1aa116e..8964f88 100644 --- a/modules/inbox/landing.ts +++ b/modules/inbox/landing.ts @@ -5,75 +5,76 @@ export function renderLanding(): string { return `
- rInbox -

- Collaborative Multi-Sig Inbox -

+ rInbox +

(You)rInbox, your team's voice.

+

Collaborative Multi-Sig Inbox

A shared email client where teams read, discuss, and approve messages together — with cryptographic multi-signature workflows before anything gets sent. - (You)rInbox, your team's voice.

- +
-

How It Works

-
-
-
- - - -
-

1. Connect Mailbox

-

- Your team shares one real email address. Every member sees every thread - in real-time — no forwarding, no BCC chains, no lost context. -

+

What rInbox Handles

+
+
+
📧
+

Shared Team Email

+

Your team shares one real email address. Every member sees every thread in real time — no forwarding, no BCC chains.

- -
-
- - - -
-

2. Triage Together

-

- Comment on any thread privately before replying. Tag members, - discuss strategy, and reach consensus — all alongside the original message. -

+
+
+

Multi-Signature Approval

+

Outbound emails require M-of-N cryptographic signatures before sending. Every approval is auditable — no rogue replies.

+
+
💬
+

Threaded Discussions

+

Comment on any thread privately before replying. Tag members, discuss strategy, and reach consensus alongside the original message.

+
+
+
🔑
+

Cryptographic Signing

+

Every outbound message is cryptographically signed. Full audit trail of approvals, rejections, and edits.

+
+
+
+
-
-
- - - -
-

3. Approve with Multi-Sig

-

- Outbound emails require M-of-N cryptographic signatures before sending. - Every approval is auditable — no rogue replies. -

+ +
+
+

How It Works

+
+
+
1
+

Connect a Mailbox

+

Your team shares one real email address. Every member sees every thread in real time — no forwarding, no lost context.

+
+
+
2
+

Discuss Messages as a Team

+

Comment on any thread privately before replying. Tag members, discuss strategy, and reach consensus alongside the original message.

+
+
+
3
+

Approve and Send with Multi-Sig

+

Outbound emails require M-of-N cryptographic signatures before sending. Every approval is auditable — no rogue replies.

-
+
-

- Collaboration Features -

+

Collaboration Features

Built for collective intelligence, not individual productivity.

@@ -101,11 +102,9 @@ export function renderLanding(): string {
-
+
-

- Team Roles -

+

Team Roles

Fine-grained access control for every team member.

@@ -132,23 +131,73 @@ export function renderLanding(): string {
- + +
+
+

Built on Open Source

+

The libraries and tools that power rInbox.

+
+
+

ImapFlow

+

High-performance IMAP client for real-time email synchronization.

+
+
+

Mailparser

+

Email parsing and MIME handling for reliable message processing.

+
+
+

Gnosis Safe

+

Multisig approval protocol adapted for email signing workflows.

+
+
+

PostgreSQL

+

Threads, approvals, and audit trails stored in a reliable relational database.

+
+
+
+
+ +
-

- Start collaborating on email -

-

- Sign in with your passkey to join a shared inbox. -

+

Your Data, Protected

+

How rInbox keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rInbox, your team's voice.

+

Try the demo or create a space to get started.

- + `; } diff --git a/modules/maps/landing.ts b/modules/maps/landing.ts index 2da1095..847ec58 100644 --- a/modules/maps/landing.ts +++ b/modules/maps/landing.ts @@ -5,99 +5,79 @@ export function renderLanding(): string { return `
- rMaps -

- Real-Time Collaborative Maps -

+ rMaps +

(You)rMaps, your world to explore.

+

Real-Time Collaborative Maps

Share live locations, navigate indoor and outdoor spaces, coordinate meetups — all from the browser. No app install. No tracking. No data collection. - (You)rMaps, your world to explore.

-

No sign-up required to join. Works on any device.

- +
- Core Features -

- Everything you need to find your friends -

-
-
-
- - - - -
-

Live GPS Sharing

-

- Real-time location updates via WebSocket. See everyone on the map - as they move, with stale detection and high-accuracy fallback. -

+

What rMaps Handles

+
+
+
📍
+

Live Location Sharing

+

Real-time GPS updates via WebSocket. See everyone on the map as they move, with stale detection and high-accuracy fallback.

- -
-
- - - -
-

Indoor + Outdoor Nav

-

- Turn-by-turn routing via OSRM outdoors, seamless switch to c3nav - for indoor venues. Multi-floor, level-aware navigation. -

+
+
🏢
+

Indoor + Outdoor Navigation

+

Turn-by-turn routing via OSRM outdoors, seamless switch to c3nav for indoor venues. Multi-floor, level-aware navigation.

- -
-
- - - -
-

Meeting Points

-

- Drop waypoints for meetups, events, and points of interest. - Search by address, share coordinates, or pin from your location. -

+
+
📌
+

Meetup Coordination

+

Drop waypoints for meetups, events, and points of interest. Search by address, share coordinates, or pin from your location.

+
+
🛡
+

No Tracking, No Data Collection

+

Ghost mode, precision levels, one-toggle location sharing. Zero tracking, zero data collection. You control who sees you.

+
+
+
+
-
-
- - - -
-

Privacy First

-

- Ghost mode, precision levels, one-toggle location sharing. - Zero tracking, zero data collection. You control who sees you. -

+ +
+
+

How It Works

+
+
+
1
+

Create a Map Room

+

Sign in and name your room. Get a shareable link or a custom slug.

+
+
+
2
+

Share with Friends

+

Send the link or scan the QR code. Friends join from any browser — no app download, no account creation needed.

+
+
+
3
+

Navigate Together

+

See everyone in real time. Drop meeting points, get turn-by-turn directions, and ping friends when you need to regroup.

-
+
- Beyond Google Maps -

- What makes rMaps different -

+

What Makes rMaps Different

-
- 🏕️ -
+
🏕

CCC Event Integration

@@ -109,9 +89,7 @@ export function renderLanding(): string {

-
- 📡 -
+
📡

Location Pinging

@@ -123,9 +101,7 @@ export function renderLanding(): string {

-
- 📦 -
+
📦

Google Maps Import

@@ -137,9 +113,7 @@ export function renderLanding(): string {

-
- 📱 -
+
📱

PWA & Offline Mode

@@ -151,9 +125,7 @@ export function renderLanding(): string {

-
- 🔗 -
+
🔗

Instant Room Sharing

@@ -165,9 +137,7 @@ export function renderLanding(): string {

-
- 🔄 -
+
🔄

Conflict-Free Sync

@@ -181,51 +151,13 @@ export function renderLanding(): string {

- -
-
- How It Works -

- Three steps to find your crew -

-
-
-
1
-

Create a Map Room

-

- Sign in and name your room. Get a shareable link or a custom slug. -

-
-
-
2
-

Share with Friends

-

- Send the link or scan the QR code. Friends join from any browser - — no app download, no account creation needed. -

-
-
-
3
-

Navigate Together

-

- See everyone in real time. Drop meeting points, get turn-by-turn - directions, and ping friends when you need to regroup. -

-
-
-
-
-
- Built For -

- Maps for every gathering -

+

Maps for Every Gathering

-
🏕️
+
🏕

Festivals & Camps

Navigate massive venues with indoor maps. Find stages, food courts, @@ -234,7 +166,7 @@ export function renderLanding(): string {

-
🏙️
+
🏙

City Exploration

Exploring a new city with friends? Share locations, drop pins at @@ -243,7 +175,7 @@ export function renderLanding(): string {

-
🤝
+
🤝

Group Coordination

Conferences, retreats, team offsites. Set meeting points, ping @@ -257,65 +189,73 @@ export function renderLanding(): string {

- +
- Under the Hood -

- Built on open standards -

-
-
-

MapLibre GL

-

Open-source maps

+

Built on Open Source

+

The libraries and tools that power rMaps.

+
+
+

MapLibre GL

+

Open-source map rendering engine. Beautiful vector maps without vendor lock-in.

-
-

OSRM

-

Outdoor routing

+
+

c3nav

+

Indoor navigation engine with multi-floor routing and venue bounds detection.

-
-

c3nav

-

Indoor navigation

+
+

OSRM

+

Open Source Routing Machine for fast, accurate outdoor turn-by-turn navigation.

-
-

Automerge

-

CRDT sync

+
+

Web Push API

+

Browser-native push notifications for location pings and alerts.

-
-

Web Push

-

Notifications

+
+
+
+ + +
+
+

Your Data, Protected

+

How rMaps keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

-
-

Service Worker

-

Offline & PWA

+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

-
-

WebSocket

-

Real-time sync

-
-
-

EncryptID

-

Identity & auth

+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

-
+
-

- Ready to find your crew? -

-

Create a map room and share the link. That's it.

+

(You)rMaps, your world to explore.

+

Try the demo or create a space to get started.

- + `; } diff --git a/modules/network/landing.ts b/modules/network/landing.ts index 8b66486..d47c026 100644 --- a/modules/network/landing.ts +++ b/modules/network/landing.ts @@ -4,114 +4,165 @@ * the shell wraps it with header, CSS, and analytics. */ export function renderLanding(): string { - const demo = "https://demo.rspace.online/rnetwork"; - return ` - -
- rNetwork -

See the web of trust

-

- Map the relationships that matter. (You)rNetwork makes the invisible - connections visible — people, companies, and opportunities rendered - as a living, interactive graph. -

- -
- - -
-
-

How It Works

-
-
-
1
-

Connect CRM Data

-

Link your Twenty CRM instance via GraphQL. People, companies, and opportunities sync automatically.

-
-
-
2
-

Visualize the Graph

-

Entities become nodes and relationships become edges in a force-directed layout you can explore in real time.

-
-
-
3
-

Explore Relationships

-

Click, drag, and zoom to discover hidden connections. Filter by entity type, search by name, and trace paths of trust.

-
-
-
-
- - -
-
-

Features

-
-
-
🛰
-

Force-Directed Layout

-

Interactive graph with physics simulation. Nodes attract and repel naturally, revealing organic clusters.

-
-
-
🔄
-

CRM Sync

-

Twenty CRM integration via GraphQL. People, companies, and opportunities stay up to date automatically.

-
-
-
🧸
-

Entity Types

-

People, companies, and opportunities rendered as distinct nodes. Visual encoding makes each type instantly recognizable.

-
-
-
🔗
-

Trust Feeds

-

Relationship data flows to other rSpace modules. The trust graph powers governance, funding, and collaboration views.

-
-
-
-
- - -
-
-

Use Cases

-
-
-
🌐
-

Community Mapping

-

See who knows whom across your ecosystem. Identify bridges, hubs, and isolated clusters at a glance.

-
-
-
📈
-

Stakeholder Analysis

-

Trace influence paths between people and organizations. Understand power dynamics before critical decisions.

-
-
-
🎯
-

Opportunity Tracking

-

Visualize pipeline deals alongside the people and companies involved. Spot warm introductions and shared connections.

-
-
-
-
- - -
-
-

Your Community, Connected

+ +
+ rNetwork +

(You)rNetwork, your web of trust.

+

See the web of trust

- Stop guessing who knows whom. Start seeing the relationships that shape your community. + Map the relationships that matter. rNetwork makes the invisible + connections visible — people, companies, and opportunities rendered + as a living, interactive graph.

-
-`; + +
+
+

What rNetwork Handles

+
+
+
🔗
+

Relationship Mapping

+

Connect people, companies, and opportunities into a unified graph. See who knows whom at a glance.

+
+
+
🛰
+

Force-Directed Graph Visualization

+

Interactive graph with physics simulation. Nodes attract and repel naturally, revealing organic clusters.

+
+
+
🔄
+

CRM Integration

+

Twenty CRM integration via GraphQL. People, companies, and opportunities stay up to date automatically.

+
+
+
🧸
+

Web of Trust

+

Relationship data flows to other rSpace modules. The trust graph powers governance, funding, and collaboration views.

+
+
+
+
+ + +
+
+

How It Works

+
+
+
1
+

Connect Your Contacts

+

Link your Twenty CRM instance via GraphQL. People, companies, and opportunities sync automatically.

+
+
+
2
+

Map Relationships Visually

+

Entities become nodes and relationships become edges in a force-directed layout you can explore in real time.

+
+
+
3
+

Discover Hidden Connections

+

Click, drag, and zoom to find unexpected links. Filter by entity type, search by name, and trace paths of trust.

+
+
+
+
+ + +
+
+

Use Cases

+
+
+
🌐
+

Community Mapping

+

See who knows whom across your ecosystem. Identify bridges, hubs, and isolated clusters at a glance.

+
+
+
📈
+

Stakeholder Analysis

+

Trace influence paths between people and organizations. Understand power dynamics before critical decisions.

+
+
+
🎯
+

Opportunity Tracking

+

Visualize pipeline deals alongside the people and companies involved. Spot warm introductions and shared connections.

+
+
+
+
+ + +
+
+

Built on Open Source

+

The libraries and tools that power rNetwork.

+
+
+
🔄
+

Twenty CRM

+

Open-source CRM with a GraphQL API. People, companies, and opportunities as first-class entities.

+
+
+
📊
+

D3.js

+

Force-directed graph visualization library. Physics-based layout with interactive drag, zoom, and pan.

+
+
+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, type-safe, and runs on any JavaScript runtime.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rNetwork keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rNetwork, your web of trust.

+

Try the demo or create a space to get started.

+ +
+
+ + `; } diff --git a/modules/notes/landing.ts b/modules/notes/landing.ts index c1e53ec..0047665 100644 --- a/modules/notes/landing.ts +++ b/modules/notes/landing.ts @@ -5,58 +5,71 @@ export function renderLanding(): string { return `
- rNotes -

- Capture Everything, Find Anything, and Share your Insights -

+ rNotes +

(You)rNotes, your thoughts unbound.

+

Capture Everything, Find Anything, and Share your Insights

Notes, clips, voice recordings, and live transcription — all in one place. Speak and watch your words appear in real time, or drop in audio and video files to transcribe offline. - (You)rNotes, your thoughts unbound.

- +
-

How It Works

-
+

What rNotes Handles

+
+
+
📝
+

Rich Text Notes

+

Write with a full TipTap editor — formatting, code blocks, checklists, and embeds. Dual-format storage keeps Markdown portable.

+
+
+
🎤
+

Voice & Transcription

+

Record voice notes with live transcription via Web Speech API. Drop in audio or video files and get full transcripts — all in the browser.

+
+
+
🏷
+

Tagging & Organization

+

Tag freely, organize into notebooks, and search everything. Filtered views surface the right cards at the right time.

+
+
+
+
+ + +
+
+

How It Works

+
-
1
-

Live Transcribe

-

Speak and watch your words appear in real time. WebSocket streaming with live timestamps.

+
1
+

Create a Notebook

+

Name your notebook and start capturing. Organize by project, topic, or however you think.

-
2
-

Audio & Video

-

Drop in audio or video files and get a full transcript. Powered by NVIDIA Parakeet — runs entirely in your browser.

+
2
+

Capture Notes, Voice, or Clips

+

Type rich text, record voice with live transcription, or drop in audio and video files to transcribe offline.

-
3
-

Notebooks & Tags

-

Organize transcripts into notebooks alongside notes, clips, code, and files. Tag freely, search everything.

-
-
-
4
-

Private & Offline

-

Parakeet.js runs entirely in the browser. Your audio never leaves your device — full offline support.

+
3
+

Search, Tag, and Share

+

Find anything instantly with full-text search. Tag and filter your cards, then share notebooks with your team.

-
+
-

Memory Cards

+

Memory Cards

Every note is a Memory Card — a typed, structured unit of knowledge with hierarchy, properties, and attachments. Designed for round-trip interoperability with Logseq. @@ -64,11 +77,7 @@ export function renderLanding(): string {

-
- - - -
+
🏷

7 Card Types

note @@ -84,11 +93,7 @@ export function renderLanding(): string {
-
- - - -
+
📂

Hierarchy & Properties

Nest cards under parents to build knowledge trees. Add structured @@ -104,11 +109,7 @@ export function renderLanding(): string {

-
- - - -
+
🔄

Logseq Import & Export

Export your notebooks as Logseq-compatible ZIP archives. Import a Logseq graph and keep your pages, @@ -121,11 +122,7 @@ export function renderLanding(): string {

-
- - - -
+
📄

Dual Format Storage

Every card stores rich TipTap JSON for editing and portable Markdown for search, export, and interoperability. @@ -135,11 +132,7 @@ export function renderLanding(): string {

-
- - - -
+
📎

Structured Attachments

Attach images, PDFs, audio, and files to any card with roles (primary, preview, supporting) and captions. @@ -149,11 +142,7 @@ export function renderLanding(): string {

-
- - - -
+

FUN, Not CRUD

Forget, @@ -166,19 +155,69 @@ export function renderLanding(): string {

- + +
+
+

Built on Open Source

+

The libraries and tools that power rNotes.

+
+
+

PostgreSQL

+

Notebooks, notes, and tags stored in a battle-tested relational database with full-text search.

+
+
+

Web Speech API

+

Browser-native live transcription — speak and watch your words appear in real time.

+
+
+

Hono

+

Ultra-fast, lightweight API framework powering the rNotes backend.

+
+
+
+
+ +
-

Start capturing

-

Notes, voice, clips, and code — all in one notebook.

+

Your Data, Protected

+

How rNotes keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rNotes, your thoughts unbound.

+

Try the demo or create a space to get started.

- + `; } diff --git a/modules/photos/landing.ts b/modules/photos/landing.ts index bee5794..b1de3e0 100644 --- a/modules/photos/landing.ts +++ b/modules/photos/landing.ts @@ -7,69 +7,118 @@ export function renderLanding(): string {
rPhotos -

Community Photo Commons

+

(You)rPhotos, your moments.

+

Community Photo Commons

Share memories with your community, powered by Immich. Self-hosted, AI-organized, and privacy-first. - (You)rPhotos, your moments.

- +
-

How It Works

+

What rPhotos Handles

+
+
+
📷
+

Photo Gallery & Albums

+

Browse photos chronologically or by album. Collaborative albums let everyone in the space contribute.

+
+
+
🤖
+

AI-Powered Search

+

Immich detects faces, objects, and scenes automatically. Search your library by what's in the photo.

+
+
+
👥
+

Shared Community Albums

+

Create shared albums for events, projects, or teams. Everyone in the space can view and add photos.

+
+
+
🗃
+

S3-Compatible Storage

+

Photos stored on any S3-compatible backend. Self-hosted MinIO, Cloudflare R2, or AWS — your choice.

+
+
+
+
+ + +
+
+

How It Works

1
-

Upload Photos

+

Upload Your Photos

Drop photos from any device. Bulk upload entire albums or individual shots.

2
-

Auto-Organize

+

Organize into Albums

Immich's AI detects faces and objects, sorting your photos into smart groups automatically.

3
-

Share Albums

+

Share with Your Community

Create shared albums for events, projects, or teams. Everyone in the space can contribute.

- -
+ +
-

Features

-

- A full-featured photo platform that respects your community's data. -

-
+

Built on Open Source

+

The libraries and tools that power rPhotos.

+
-
🤖
-

Immich-Powered

-

AI-driven face and object detection for automatic organization, search, and discovery.

+
📸
+

Immich

+

Self-hosted photo & video management with AI-driven face detection, object recognition, and smart search.

-
📷
-

Shared Albums

-

Collaborative photo albums for events, gatherings, and ongoing projects. Everyone can add.

+
🗃
+

PostgreSQL

+

Rock-solid relational database for photo metadata, album organization, and user data.

-
📅
-

Timeline View

-

Browse photos chronologically. Scroll through your community's visual history day by day.

+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, type-safe, and runs on any JavaScript runtime.

+
+
+
+ + +
+
+

Your Data, Protected

+

How rPhotos keeps your information safe.

+
🔒
-

Privacy-First

-

Self-hosted storage means your photos never leave your infrastructure. No third-party scanning.

+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

@@ -77,13 +126,11 @@ export function renderLanding(): string {
-
-

Your photos, your community

-

- Try the demo gallery or create a space to start your own photo commons. -

+
+

(You)rPhotos, your moments.

+

Try the demo or create a space to get started.

diff --git a/modules/pubs/landing.ts b/modules/pubs/landing.ts index 8af9ffa..41e9b68 100644 --- a/modules/pubs/landing.ts +++ b/modules/pubs/landing.ts @@ -6,23 +6,52 @@ export function renderLanding(): string {
rPubs -

Write it. Press it. Share it.

+

(You)rPubs, your press.

+

Write it. Press it. Share it.

Drop in a markdown document, pick a pocket format, and get a print-ready PDF in seconds. Group up with other authors to unlock bulk pricing through collaborative print runs. - (You)rPubs, your press.

- +
-

How it works

-
+

What rPubs Handles

+
+
+
📄
+

Markdown → PDF

+

Drop in markdown or rich text. rPubs typesets it with Typst and produces a print-ready PDF in seconds.

+
+
+
📖
+

4 Pocket Formats

+

A7 Pocket, Quarter Letter, A6 Booklet, and Digest. All print-ready at 300 dpi with bleeds.

+
+
+
🤝
+

Collaborative Print Runs

+

Pool orders across titles and authors. The more copies in a run, the cheaper each one gets.

+
+
+
🛒
+

rCart Integration

+

Publish your artifact to the rCart catalog with one click. Group carts, revenue splits, and fulfillment built in.

+
+
+
+
+ + +
+
+

How It Works

+
1

Write / paste

@@ -43,7 +72,7 @@ export function renderLanding(): string {
-
+

Four pocket formats

From palm-sized zines to digest readers. All print-ready at 300 dpi with bleeds.

@@ -81,7 +110,7 @@ export function renderLanding(): string {
-
+

Group buys — better together

Pool orders across titles. The more copies in a run, the cheaper each one gets.

@@ -111,7 +140,7 @@ export function renderLanding(): string {
-
+

How collaborative print runs work

@@ -140,7 +169,7 @@ export function renderLanding(): string {
-
+

Cross-title batching

@@ -170,7 +199,7 @@ export function renderLanding(): string {

-
+
@@ -201,7 +230,7 @@ export function renderLanding(): string {
-
+
rPubs × Cosmolocal

Design global, manufacture local

@@ -209,9 +238,69 @@ export function renderLanding(): string { Every print run is routed to the nearest capable provider. Reduce shipping emissions, support local economies, and still benefit from shared design and pooled demand.

+
+
+ + +
+
+

Built on Open Source

+

The libraries and tools that power rPubs.

+
+
+
+

Typst

+

Document compilation engine. Transforms markdown into beautifully typeset, print-ready PDFs.

+
+
+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, edge-ready, and built for speed.

+
+
+
🗃
+

PostgreSQL

+

Rock-solid relational database for catalog storage, orders, and artifact metadata.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rPubs keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+ + +
+
+

(You)rPubs, your press.

+

Try the demo or create a space to get started.

diff --git a/modules/rsocials/landing.ts b/modules/rsocials/landing.ts index 9135eb7..37e70f0 100644 --- a/modules/rsocials/landing.ts +++ b/modules/rsocials/landing.ts @@ -4,51 +4,83 @@ * the shell wraps it with header, CSS, and analytics. */ export function renderLanding(): string { - const demo = "https://demo.rspace.online/rsocials"; - return ` -
+
rSocials -

Social Media Under Your Control

+

(You)rSocials, your narrative.

+

Social Media Under Your Control

Schedule, publish, and analyze across every major platform — all from your self-hosted rSpace instance. No per-seat pricing, no third-party data mining. - (You)rSocials, your narrative.

+
+ + +
+
+

What rSocials Handles

+
+
+
📅
+

Cross-Platform Scheduling

+

Draft posts, attach media, pick dates, and queue them up across every channel from a single calendar view.

+
+
+
📤
+

Publishing & Analytics

+

Posts go live on schedule. Track engagement, reach, and growth from a unified dashboard across all platforms.

+
+
+
🌐
+

ActivityPub Federation

+

Native ActivityPub support lets you publish to the fediverse — Mastodon, Threads, and any compatible server.

+
+
+
📶
+

RSS Aggregation

+

Watch any RSS feed and auto-publish new items to selected channels. Stay active without manual effort.

+
+
+
👥
+

No Per-Seat Pricing

+

Add unlimited team members. Pay only for hosting, not per-user SaaS fees. Invite editors and approvers freely.

+
+
+
-
+

How It Works

1
-

Connect Platforms

-

Link your X/Twitter, LinkedIn, Instagram, TikTok, and more in one place.

+

Connect Your Accounts

+

Link your X/Twitter, LinkedIn, Instagram, TikTok, Mastodon, and more in one place.

2
-

Schedule Content

+

Schedule and Publish

Draft posts, attach media, pick dates, and queue them up across every channel.

3
-

Publish & Analyze

-

Posts go live on schedule. Track engagement, reach, and growth from a single dashboard.

+

Analyze and Iterate

+

Track engagement, reach, and growth from a single dashboard. Refine your strategy with real data.

-
+

Supported Platforms

@@ -75,10 +107,10 @@ export function renderLanding(): string {

- -
+ +
-

Features

+

Power Features

📅
@@ -95,21 +127,11 @@ export function renderLanding(): string {

Post Designer

Resize images, add text overlays, and preview how posts look on each platform.

-
-
👥
-

Team Collaboration

-

Invite editors & approvers. Review queues keep quality high.

-
🛠

Per-Platform Optimization

Tailor copy, image crops, and hashtags for each network automatically.

-
-
📶
-

RSS Auto-Post

-

Watch any RSS feed and auto-publish new items to selected channels.

-
📈

Analytics Dashboard

@@ -124,25 +146,50 @@ export function renderLanding(): string {
- -
+ +
-

Why Self-Hosted?

+

Built on Open Source

+

The libraries and tools that power rSocials.

+
+
+

ActivityPub

+

Federated social protocol for publishing to the decentralized web.

+
+
+

RSS

+

Feed aggregation standard for auto-publishing from any content source.

+
+
+

Hono

+

Ultra-fast, lightweight API framework powering the rSocials backend.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rSocials keeps your information safe.

🔒
-

Data Sovereignty

-

API tokens and analytics stay on your server. No third-party vendor sees your audience data.

+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

-
💰
-

No Per-Seat Pricing

-

Add unlimited team members. Pay only for hosting, not per-user SaaS fees.

+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

-
🔌
-

Open Source & Extensible

-

Fork it, theme it, add custom integrations. Postiz under the hood, rSpace on top.

+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

@@ -151,16 +198,17 @@ export function renderLanding(): string {
-

Ready to Own Your Social Presence?

-

- Deploy rSocials in your rSpace and start scheduling in minutes. -

+

(You)rSocials, your narrative.

+

Try the demo or create a space to get started.

-`; + +`; } diff --git a/modules/splat/landing.ts b/modules/splat/landing.ts index fa572a4..af57859 100644 --- a/modules/splat/landing.ts +++ b/modules/splat/landing.ts @@ -7,69 +7,123 @@ export function renderLanding(): string {
rSplat -

3D Gaussian Splats on the Infinite Canvas

+

(You)rSplat, your dimension.

+

3D Gaussian Splats on the Infinite Canvas

View, share, and gate 3D scenes captured with Gaussian splatting. Three.js-powered viewing with optional x402 micropayment gating. - (You)rSplat, your dimension.

- +
-

How It Works

-
-
-
1
-

Upload .ply/.splat Files

-

Upload Gaussian splat files captured from real-world scenes or generated from photos and video.

+

What rSplat Handles

+
+
+
🎨
+

3D Gaussian Splatting Viewer

+

Hardware-accelerated WebGL rendering with orbit controls, smooth camera, and full-screen mode.

-
-
2
-

View in Browser

-

Explore 3D scenes directly in the browser with orbit controls, zoom, and pan. No app install needed.

+
+
🖼
+

Infinite Canvas

+

Embed splats as spatial elements on the rSpace infinite canvas alongside other module content.

-
-
3
-

Gate with x402 Micropayments

-

Optionally gate uploads with HTTP 402 micropayments. Monetize premium 3D content natively.

+
+
🌐
+

Spatial Computing

+

Browse, search, and discover 3D scenes shared by your community. Sorted by recent, popular, or tagged.

+
+
+
💰
+

Token-Gated Access

+

Monetize 3D content with HTTP 402 micropayments. Viewers pay per-view or per-download automatically.

- +
-

Features

-

- A complete pipeline from capture to community gallery. -

+

How It Works

+
+
+
1
+

Upload a .ply or .splat File

+

Upload Gaussian splat files captured from real-world scenes or generated from photos and video.

+
+
+
2
+

View in the 3D Scene Viewer

+

Explore 3D scenes directly in the browser with orbit controls, zoom, and pan. No app install needed.

+
+
+
3
+

Embed on the Infinite Canvas

+

Place your splat on the infinite canvas alongside other modules. Build spatial experiences for your community.

+
+
+
+
+ + +
+
+

Built on Open Source

+

The libraries and tools that power rSplat.

-
🎨
-

Three.js Viewer

-

Hardware-accelerated WebGL rendering with orbit controls, smooth camera, and full-screen mode.

+
🎲
+

Three.js

+

Industry-standard 3D rendering engine for the web. Powers the WebGL scene viewer and camera controls.

-
🖼
-

Canvas Integration

-

Embed splats as spatial elements on the rSpace infinite canvas alongside other module content.

+
🔮
+

GaussianSplats3D

+

High-performance Gaussian splatting renderer. Real-time point cloud rendering in the browser.

+
+
+
🗃
+

PostgreSQL

+

Rock-solid relational database for splat metadata, scene descriptions, and access control.

💰
-

x402 Gating

-

Monetize 3D content with HTTP 402 micropayments. Viewers pay per-view or per-download automatically.

+

x402

+

Token-gated payment protocol for HTTP 402 micropayments. Monetize premium 3D content natively.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rSplat keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

-
🌄
-

Community Gallery

-

Browse, search, and discover 3D scenes shared by your community. Sorted by recent, popular, or tagged.

+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

@@ -77,13 +131,11 @@ export function renderLanding(): string {
-
-

Step into 3D

-

- Explore the demo gallery or upload your own Gaussian splats. -

+
+

(You)rSplat, your dimension.

+

Try the demo or create a space to get started.

diff --git a/modules/swag/landing.ts b/modules/swag/landing.ts index f8a521d..36d1ba2 100644 --- a/modules/swag/landing.ts +++ b/modules/swag/landing.ts @@ -7,11 +7,11 @@ export function renderLanding(): string {
rSwag -

Design Community Merch

+

(You)rSwag, your brand.

+

Design Community Merch

Stickers, posters, and tees from your browser. Upload a design, pick a product, and get print-ready files instantly. - (You)rSwag, your brand.

Start Designing @@ -19,10 +19,39 @@ export function renderLanding(): string {
- +
-

How It Works

+

What rSwag Handles

+
+
+
🖨
+

Print-on-Demand Merch Designer

+

Upload artwork and generate print-ready files with correct DPI, bleed margins, and color profiles.

+
+
+
🧾
+

Stickers, Posters, Tees & Patches

+

Four product types with professional print specs built in. Vinyl stickers, A3 posters, DTG tees, and embroidered patches.

+
+
+
👁
+

Live Preview Mockups

+

See your design on product mockups before committing. Adjust and iterate in real time.

+
+
+
🛒
+

rCart Integration

+

Send finished designs directly to rCart for community ordering and fulfillment.

+
+
+
+
+ + +
+
+

How It Works

1
@@ -36,18 +65,18 @@ export function renderLanding(): string {
3
-

Preview & Order

+

Preview and Order

See a live mockup, download print-ready files, or send directly to rCart for community ordering.

- -
+ +
-

Products

-

+

Products

+

Four product types, each with professional print specs.

@@ -75,30 +104,53 @@ export function renderLanding(): string {
- -
+ +
-

Features

-
-
-
👁
-

Live Preview

-

See your design on product mockups before committing. Adjust and iterate in real time.

-
-
-
🖨
-

Print-Ready Export

-

Download files with correct DPI, bleed margins, and color profiles for professional printing.

-
+

Built on Open Source

+

The libraries and tools that power rSwag.

+
-

Sharp Processing

-

Server-side image processing with Sharp. Fast resizing, format conversion, and optimization.

+

Sharp

+

Server-side image processing, resizing, and format conversion. Fast and memory-efficient.

-
🛒
-

rCart Integration

-

Send finished designs directly to rCart for community ordering and fulfillment.

+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, type-safe, and runs on any JavaScript runtime.

+
+
+
🐇
+

Bun

+

All-in-one JavaScript runtime. Fast startup, built-in bundler, and native TypeScript support.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rSwag keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

@@ -106,11 +158,9 @@ export function renderLanding(): string {
-
-

Make something your community can wear

-

- Try the designer or create a space to start your merch line. -

+
+

(You)rSwag, your brand.

+

Try the demo or create a space to get started.

Start Designing Create a Space diff --git a/modules/trips/landing.ts b/modules/trips/landing.ts index 970fa6d..0031fc0 100644 --- a/modules/trips/landing.ts +++ b/modules/trips/landing.ts @@ -1,213 +1,142 @@ /** - * Trips module landing page — static HTML, no React. + * rTrips landing page — group travel planning. */ export function renderLanding(): string { - return ` + return `
rTrips -

Plan Your Trip, Naturally

+

(You)rTrips, your horizon.

+

Plan Your Trip, Naturally

Describe your dream trip in plain language. We'll structure it into itineraries, budgets, and bookings — then give you a collaborative canvas to plan together in real-time. - (You)rTrips, your horizon.

- +
-

How It Works

-

Three steps from dream to departure.

-
-
-
1
-

Describe It

-

- Tell us about your trip in natural language. “Fly from Toronto to Bali - for 2 weeks in March, budget $3000.” We parse it into structured data - you can refine. -

+

What rTrips Handles

+
+
+
🗺
+

Route Planning

+

Visualize your entire trip on rMaps. See routes between destinations and nearby points of interest.

-
-
2
-

We Structure It

-

- AI extracts destinations, dates, budgets, and bookings into organized views. - Edit itineraries, track expenses, manage packing lists — all structured - and searchable. -

+
+
📅
+

Itinerary Building

+

Build day-by-day plans together. Add destinations, suggest activities, and rearrange the schedule.

-
-
3
-

Collaborate on Canvas

-

- Open the collaborative canvas to plan visually with your travel partners. - Drag destinations, connect itineraries, and brainstorm together in real-time - or async. -

+
+
💰
+

Expense Splitting

+

Split costs and track expenses across the group. Everyone knows exactly where the money goes.

+
+
+
👥
+

Group Coordination

+

Real-time collaborative canvas for travel partners. Plan visually, brainstorm together, stay in sync.

- +
-

Everything You Need to Travel Together

-

- rTrips brings every piece of trip planning into one place — so your group - spends less time coordinating and more time exploring. -

+

How It Works

-
-
- - - -
-

Collaborative Itineraries

-

- Build day-by-day plans together in real-time. Everyone can add destinations, - suggest activities, and rearrange the schedule — changes sync instantly. -

+
+ 1 +

Create a trip

+

Describe your trip in natural language. “Fly from Toronto to Bali for 2 weeks in March, budget $3000.” We parse it into structured data you can refine.

- -
-
- - - -
-

Smart Suggestions

-

- AI-powered recommendations for destinations, restaurants, and activities based - on your group's interests, budget, and travel dates. -

+
+ 2 +

Plan your route

+

AI extracts destinations, dates, budgets, and bookings into organized views. Edit itineraries, track expenses, manage packing lists.

- -
-
- - - -
-

Budget Tracking

-

- Split costs, track expenses across the group, and keep a running total so - everyone knows exactly where the money goes. No more messy spreadsheets. -

-
- -
-
- - - -
-

Map Integration

-

- Visualize your entire trip on rMaps. See routes between destinations, - nearby points of interest, and real-time location sharing during travel days. -

-
- -
-
- - - -
-

Packing Lists

-

- Shared checklists so nothing gets forgotten. Assign items to people, mark - off as you pack, and see at a glance what the group still needs. -

-
- -
-
- - - -
-

Offline Access

-

- Download your full itinerary, maps, and booking confirmations for travel - without connectivity. Everything you need, even without a signal. -

+
+ 3 +

Split expenses

+

Track costs across the group with automatic splitting. Pay your share, see the running total, and keep finances transparent.

- +
-

Built for Groups

-

- Solo trip planners are everywhere. rTrips is purpose-built for the messy, beautiful - reality of traveling with other people. -

+

Built on Open Source

+

The libraries and tools that power rTrips.

-
- - - -
-

Friends & Family

-

- Family reunions, friend getaways, multi-generational trips. Everyone contributes - ideas, votes on restaurants, and stays in sync without endless group chats. -

+
🚗
+

OSRM

+

Open-source routing engine for route planning, travel time estimates, and turn-by-turn navigation.

-
-
- - - -
-

Teams & Offsites

-

- Company retreats, conference travel, team offsites. Coordinate logistics, - share flight details, and manage group bookings from a single shared workspace. -

+
🗃
+

PostgreSQL

+

Rock-solid relational database for trips, itineraries, expenses, and booking data.

-
-
- - - -
-

Retreats & Events

-

- Yoga retreats, wedding trips, festival crews. Organize large groups with - sub-itineraries, optional activities, and shared costs that stay transparent. -

+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, edge-ready, and built for speed.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rTrips keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

-
+
-

Ready to plan your next adventure?

-

Just describe where you want to go. We'll handle the rest.

+

(You)rTrips, your horizon.

+

Try the demo or create a space to get started.

- -`; +`; } diff --git a/modules/tube/landing.ts b/modules/tube/landing.ts index dba39f6..b539929 100644 --- a/modules/tube/landing.ts +++ b/modules/tube/landing.ts @@ -7,11 +7,11 @@ export function renderLanding(): string {
rTube -

Community Video Platform

+

(You)rTube, your channel.

+

Community Video Platform

Host, stream, and share video without big tech. Your community's video library with HLS streaming and RTMP ingest. - (You)rTube, your channel.

Start Streaming @@ -19,20 +19,49 @@ export function renderLanding(): string {
- +
-

How It Works

+

What rTube Handles

+
+
+
📺
+

Video Hosting

+

Upload video files in any major format. MP4, WebM, MKV, MOV — they all work.

+
+
+
📡
+

HLS Adaptive Streaming

+

Adaptive bitrate streaming ensures smooth playback on any connection speed or device.

+
+
+
📡
+

RTMP Live Ingest

+

Go live with OBS, Streamlabs, or any RTMP-compatible streaming software. One URL, instant broadcast.

+
+
+
🎥
+

R2 Cloud Storage & Community Channels

+

Videos stored on Cloudflare R2 for fast delivery. Each space gets its own channel.

+
+
+
+
+ + +
+
+

How It Works

1
-

Upload Videos

-

Drop video files in any major format. MP4, WebM, MKV, MOV -- they all work.

+

Upload or Stream Live

+

Drop video files in any format or point OBS at your space's RTMP ingest URL and go live instantly.

2
-

Stream Live

-

Point OBS or any RTMP-compatible software at your space's ingest URL and go live instantly.

+

Automatic HLS Transcoding

+

FFmpeg transcodes uploads into adaptive bitrate HLS streams for smooth playback on any device.

3
@@ -43,42 +72,10 @@ export function renderLanding(): string {
- -
-
-

Features

-

- Everything you need to run your own community video platform. -

-
-
-
📺
-

HLS Streaming

-

Adaptive bitrate streaming ensures smooth playback on any connection speed or device.

-
-
-
📡
-

RTMP Ingest

-

Go live with OBS, Streamlabs, or any RTMP-compatible streaming software. One URL, instant broadcast.

-
-
-
-

R2 Storage

-

Videos stored on Cloudflare R2 for fast, globally distributed delivery with no egress fees.

-
-
-
🎥
-

Community Channels

-

Each space gets its own video channel. Organize content by community, project, or topic.

-
-
-
-
- - +
-

Technical Details

+

Technical Details

  • H.264 / H.265 hardware-accelerated codec support
  • @@ -91,13 +88,68 @@ export function renderLanding(): string {
+ +
+
+

Built on Open Source

+

The libraries and tools that power rTube.

+
+
+
+

AWS S3 SDK

+

Cloudflare R2 object storage via the S3-compatible API. Fast, globally distributed, no egress fees.

+
+
+
📺
+

HLS.js

+

Adaptive bitrate streaming library. Smooth playback with automatic quality switching in the browser.

+
+
+
🎦
+

FFmpeg

+

Industry-standard video transcoding. Converts uploads into multi-bitrate HLS streams automatically.

+
+
+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, type-safe, and runs on any JavaScript runtime.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rTube keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+
-
-

Your community's own video platform

-

- Try the demo or create a space to start hosting and streaming. -

+
+

(You)rTube, your channel.

+

Try the demo or create a space to get started.

Start Streaming Create a Space diff --git a/modules/vote/landing.ts b/modules/vote/landing.ts index 022b68e..7452814 100644 --- a/modules/vote/landing.ts +++ b/modules/vote/landing.ts @@ -6,50 +6,73 @@ export function renderLanding(): string {
rVote -

Democratic Backlog
Prioritization

+

(You)rVote, your voice.

+

Democratic Backlog Prioritization

Quadratic conviction voting with time-decay. Surface the ideas your community actually cares about — not just the loudest voices. - (You)rVote, your voice.

- +
-

Three ideas, one system

-
+

What rVote Handles

+
-
- -
-

Quadratic Cost

-

Each additional vote on the same proposal costs quadratically more credits. One vote = 1 credit, two = 4, three = 9. Prevents plutocratic capture.

-
-
-
- -
-

Reddit-style Ranking

+
+

Conviction Voting

Proposals accumulate conviction score from community votes. The most supported ideas float to the top.

-
- -
-

Vote Decay

-

Votes lose weight over 30–60 days. Stale support fades automatically — no need to manually close polls.

+
+

Quadratic Voting

+

Each additional vote costs quadratically more credits. Balances intensity of preference with breadth of support.

+
+
+
🕐
+

Proposal Lifecycle

+

From ranking through promotion to final pass/fail vote. Proposals advance automatically when thresholds are met.

+
+
+
🏛
+

Democratic Governance

+

Daily credit allowances, vote decay, and sybil resistance. One person, one identity, one voice.

+
+
+
+
+ + +
+
+

How It Works

+
+
+ 1 +

Ranking (QPR)

+

Community members spend credits to upvote proposals. Conviction score accumulates with quadratic cost.

+
+
+ 2 +

Score reaches +100

+

When a proposal crosses the promotion threshold (default 100), it automatically enters the final vote.

+
+
+ 3 +

Pass / Fail Vote

+

A time-limited binary vote (Yes / No / Abstain) decides the outcome. Simple majority wins.

-
+

What is Quadratic Priority Ranking?

@@ -68,7 +91,7 @@ export function renderLanding(): string {
-
+

Vote cost calculator

The cost of conviction grows quadratically.

@@ -104,31 +127,7 @@ export function renderLanding(): string {
- -
-
-

The lifecycle of a proposal

-
-
- 1 -

Ranking (QPR)

-

Community members spend credits to upvote proposals. Conviction score accumulates with quadratic cost.

-
-
- 2 -

Score reaches +100

-

When a proposal crosses the promotion threshold (default 100), it automatically enters the final vote.

-
-
- 3 -

Pass / Fail Vote

-

A time-limited binary vote (Yes / No / Abstain) decides the outcome. Simple majority wins.

-
-
-
-
- - +

Built for real governance

@@ -165,15 +164,65 @@ export function renderLanding(): string {
+ +
+
+

Built on Open Source

+

The libraries and tools that power rVote.

+
+
+
🗃
+

PostgreSQL

+

Rock-solid relational database for proposals, votes, credit balances, and governance history.

+
+
+
+

Conviction Voting Algorithm

+

Continuous preference signaling with quadratic cost and time-decay. Open-source governance math.

+
+
+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, edge-ready, and built for speed.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rVote keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+
-

Ready to prioritize democratically?

-

- Create a governance space, submit proposals, and let your community decide what matters most. -

+

(You)rVote, your voice.

+

Try the demo or create a space to get started.

diff --git a/modules/wallet/landing.ts b/modules/wallet/landing.ts index 0ff146b..b584ea1 100644 --- a/modules/wallet/landing.ts +++ b/modules/wallet/landing.ts @@ -4,58 +4,37 @@ * the shell wraps it with header, CSS, and analytics. */ export function renderLanding(): string { - const demo = "https://demo.rspace.online/rwallet"; - return ` -
+
rWallet -

Community Treasury, Transparent

+

(You)rWallet, your treasury laid bare.

+

Community Treasury, Transparent

Visualize your Safe multisig across every chain — balances, transactions, and governance — all in one client-side dashboard. No backend database, no custody risk. - (You)rWallet, your treasury laid bare.

-
- - -
-
-

How It Works

-
-
-
1
-

Connect Your Safe

-

Paste any Safe address. rWallet auto-detects which chains it lives on.

-
-
-
2
-

View Across Chains

-

See token balances, USD valuations, and transaction history for every chain in one view.

-
-
-
3
-

Govern Together

-

Review pending multisig transactions and coordinate approvals with your team.

-
-
-
-
+
-
+
-

Features

-
+

What rWallet Handles

+
-

Multi-Chain Support

-

Ethereum, Polygon, Base, Gnosis, Arbitrum, Optimism, Celo, Avalanche, BSC, and zkSync.

+

Gnosis Safe Visualization

+

Paste any Safe address and see balances, signers, and thresholds across all detected chains instantly.

+
+
+
🔗
+

Multichain Support

+

Ethereum, Polygon, Base, Gnosis, Arbitrum, Optimism, Celo, Avalanche, BSC, and zkSync in one view.

📋
@@ -64,13 +43,37 @@ export function renderLanding(): string {
🔐
-

Multisig Governance

+

Governance Dashboard

See signer thresholds, pending confirmations, and execution status at a glance.

-
💰
-

Token Balances

-

ERC-20 and native token balances aggregated across all detected chains.

+
🛡
+

No Custody Risk

+

Client-side only. rWallet reads your Safe data but never holds keys or moves funds.

+
+
+
+
+ + +
+
+

How It Works

+
+
+
1
+

Connect Your Safe Address

+

Paste any Safe address. rWallet auto-detects which chains it lives on.

+
+
+
2
+

See Balances Across All Chains

+

See token balances, USD valuations, and transaction history for every chain in one view.

+
+
+
3
+

Review Transactions and Governance

+

Review pending multisig transactions and coordinate approvals with your team.

@@ -102,19 +105,69 @@ export function renderLanding(): string {
+ +
+
+

Built on Open Source

+

The libraries and tools that power rWallet.

+
+
+

Gnosis Safe API

+

Multisig wallet data across all supported chains via the Safe transaction service.

+
+
+

Safe Global SDK

+

Official SDK for querying Safe balances, transactions, and signer information.

+
+
+

Hono

+

Ultra-fast, lightweight API framework powering the rWallet backend.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rWallet keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

+
+
+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

+
+
+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

+
+
+
+
+
-

Ready to Open Your Treasury?

-

- Paste a Safe address and explore your multichain holdings in seconds. -

+

(You)rWallet, your treasury laid bare.

+

Try the demo or create a space to get started.

-`; + +`; } diff --git a/modules/work/landing.ts b/modules/work/landing.ts index d1f658d..1bf681f 100644 --- a/modules/work/landing.ts +++ b/modules/work/landing.ts @@ -6,103 +6,118 @@ export function renderLanding(): string {
rWork -

Get things done,
together

+

(You)rWork, your flow.

+

Get things done, together

Kanban boards, team spaces, and real-time collaboration — built for groups that share work, not just assign it. - (You)rWork, your flow.

- +
-

How it works

-
+

What rWork Handles

+
+
+
📋
+

Kanban Boards

+

Drag-and-drop columns with customizable statuses. See everything at a glance.

+
+
+
+

Task Management

+

Create tasks with titles, descriptions, labels, and priorities. Track progress across your team.

+
+
+
📈
+

Activity Logging

+

Every change is tracked. See who moved what, when, and why — full audit trail.

+
+
+
👥
+

Workspace Collaboration

+

Each workspace is scoped to a space. Members share boards, tasks, and activity in real time.

+
+
+
+
+ + +
+
+

How It Works

+
1 -

Create a Space

+

Create a workspace

Every workspace lives inside an rSpace — shared by default with your team.

2 -

Add Tasks

+

Add tasks and boards

Create tasks with titles, descriptions, labels, and priorities. Drag them across columns.

3 -

Collaborate

+

Track progress together

Assign, comment, and track progress in real time. Everyone sees the same board.

- -
+ +
-

Features

-

Everything you need for collaborative task management, nothing you don't.

-
+

Built on Open Source

+

The libraries and tools that power rWork.

+
-
- -
-

Kanban Boards

-

Drag-and-drop columns with customizable statuses. See everything at a glance.

+
🔥
+

Hono

+

Ultrafast web framework for the API layer. Lightweight, edge-ready, and built for speed.

-
- -
-

Team Spaces

-

Each workspace is scoped to a space. Members share boards, tasks, and activity.

+
🗃
+

PostgreSQL

+

Rock-solid relational database for task storage, workspaces, boards, and activity logs.

-
- -
-

Real-time Sync

-

Changes propagate instantly. No refresh needed — everyone stays in sync.

+
+

Bun

+

All-in-one JavaScript runtime. Fast startup, native TypeScript, and built-in bundling.

+
+
+
+
+ + +
+
+

Your Data, Protected

+

How rWork keeps your information safe.

+
+
+
🔒
+

End-to-End Encryption

+ Coming Soon +

All content encrypted before it leaves your device. Not even the server can read it.

-
- -
-

Markdown Native

-

Task descriptions support full markdown. Write rich content without leaving the board.

+
🕵
+

Zero-Knowledge Architecture

+ Coming Soon +

The server processes your requests without ever seeing your data in the clear.

-
- -
-

Custom Pipelines

-

Define your own status columns — TODO, In Progress, Review, Done, or whatever fits.

-
-
-
- -
-

Notifications

-

Get notified when tasks are assigned, moved, or commented on.

-
-
-
- -
-

Acceptance Criteria

-

Define clear done conditions. Check them off as you go.

-
-
-
- -
-

rSpace Ecosystem

-

Tasks link to rVote proposals, rCal events, rFunds budgets, and more.

+
🏠
+

Self-Hosted

+

Run on your own infrastructure. Your server, your rules, your data.

@@ -111,12 +126,10 @@ export function renderLanding(): string {
-

Ready to collaborate?

-

- Create a workspace, invite your team, and start shipping together. -

+

(You)rWork, your flow.

+

Try the demo or create a space to get started.

diff --git a/server/shell.ts b/server/shell.ts index 2ff6d73..9e69f3c 100644 --- a/server/shell.ts +++ b/server/shell.ts @@ -569,6 +569,12 @@ const RICH_LANDING_CSS = ` } .rl-hero .rl-heading { font-size: 2.5rem; } @media (min-width: 640px) { .rl-hero .rl-heading { font-size: 3rem; } } +.rl-subtitle { + font-size: 1.25rem; font-weight: 500; color: #cbd5e1; + margin-bottom: 1rem; letter-spacing: -0.005em; +} +.rl-hero .rl-subtitle { font-size: 1.35rem; } +@media (min-width: 640px) { .rl-hero .rl-subtitle { font-size: 1.5rem; } } .rl-subtext { font-size: 1.05rem; color: #94a3b8; line-height: 1.65; max-width: 640px; margin: 0 auto 2rem;