/** * Maps module landing page — static HTML, no React. */ export function renderLanding(): string { return `
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.

Open Maps Create a Space

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 Navigation

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

📌

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.

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.

What Makes rMaps Different

🏕

CCC Event Integration

Native c3nav integration for 39C3, Camp, and other CCC events. Indoor maps with multi-floor routing, venue bounds detection, and automatic map switching when you walk inside.

📡

Location Pinging

Request a friend's location with one tap. Push notifications via Web Push API with vibration alerts. Works even when the app is backgrounded via service worker.

📦

Google Maps Import

Import your saved places from Google Takeout ZIP exports. GeoJSON parsing, auto-emoji mapping by place type, and preview before importing.

📱

PWA & Offline Mode

Install as a native app. Three-tier service worker caching keeps maps accessible offline with up to 500 cached tiles. Background sync handles location updates.

🔗

Instant Room Sharing

Generate a QR code or shareable link for any room. Friends scan or tap to join instantly — no account needed, no app download. Native share dialog on mobile.

🔄

Conflict-Free Sync

Automerge CRDT architecture ensures everyone sees the same map state, even through disconnections. WebSocket real-time sync with automatic reconnection and state recovery.

Maps for Every Gathering

🏕

Festivals & Camps

Navigate massive venues with indoor maps. Find stages, food courts, and your crew across multi-day events like CCC Camp.

🏙

City Exploration

Exploring a new city with friends? Share locations, drop pins at restaurants and landmarks, import your Google Maps saved places.

🤝

Group Coordination

Conferences, retreats, team offsites. Set meeting points, ping stragglers, and get walking directions to the next session.

First built for CCC events — now for any gathering.

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.

c3nav

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

OSRM

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

Web Push API

Browser-native push notifications for location pings and alerts.

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.

🕵

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)rMaps, your world to explore.

Try the demo or create a space to get started.

← Back to rSpace
`; }