# LAYER.systems Design Direction ## 1. Design Intent LAYER.systems should feel like Nostr relay infrastructure made visible: direct, fast, public, and protocol-native. The visual direction takes cues from bold editorial community sites such as `einundzwanzig.space`: strong navigation, large type, ticker energy, clear content bands, and a public-broadcast feeling. This is not a clone. LAYER.systems needs its own identity: orange, infrastructural, decentralized, and practical. The site should make the relay endpoint the center of the experience, not a footnote. ## 2. Reference Translation Inspired by `einundzwanzig.space`: - Strong top navigation with grouped links. - Large typographic hero with direct messaging. - Horizontal ticker / marquee energy for relay URLs, protocol phrases, and network language. - Clear content bands for relay status, usage, and connection steps. - Editorial confidence instead of generic landing-page polish. - Playful tone without losing operational credibility. Translate for LAYER.systems: - Use an orange-led palette instead of purple. - Replace podcast/news hierarchy with relay endpoint and Nostr infrastructure hierarchy. - Replace sponsor/content blocks with relay, protocol, client, and network modules. - Use `wss://relay.layer.systems` as a visible recurring design motif. - Make the copyable relay URL feel like the main product surface. ## 3. Personality The interface should be: - Public, not gated. - Bold, not glossy. - Operational, not corporate. - Protocol-aware, not protocol-obscure. - Human in tone, calm in structure. Avoid: - Generic orange gradient SaaS aesthetics. - Overly soft pastel community branding. - Crypto-bro visual language. - Dense technical jargon in primary UI copy. - Stock-photo hero sections. ## 4. Visual System ### Color Palette Use orange as the identity anchor, but avoid a one-note all-orange interface. Suggested palette: - `Signal Orange`: `#F97316` for primary actions and identity marks. - `Deep Ink`: `#18110D` for dark text, footer, and hard borders. - `Relay Amber`: `#FACC15` for secondary highlights and ticker details. - `Paper`: `#FFF7E8` for warm page background. - `Chalk`: `#FFFFFF` for content surfaces. - `Clay`: `#7C3F1D` for subdued labels and supporting text. - `Protocol Green`: `#17A673` for live/verified states. - `Network Blue`: `#2563EB` as a sparing cool accent. Usage rules: - Orange should lead, not flood. - Use ink-heavy contrast and crisp borders for readability. - Use amber, green, and blue sparingly to prevent the interface from becoming monochrome. - Relay cards should remain legible before they are decorative. ### Typography The type system should feel editorial and independent. Recommended direction: - Display: bold grotesk weight for hero and section titles. - Body: readable sans with warmth and strong numerals. - Mono: restrained monospace for relay URLs, event kinds, public keys, and tags. Implementation preference: - Use `@fontsource` packages when available. - Use CSS variables for font families. - Keep body text comfortable on content-heavy sections. - Keep hero type large and compact, but never allow it to overflow mobile widths. ## 5. Layout ### Page Structure The first version should be a single-page relay experience: 1. Sticky navigation 2. Relay ticker 3. Hero / identity 4. Copyable relay endpoint 5. Relay feature modules 6. Client connection steps 7. Footer with terms, privacy, and dashboard links ### Navigation The nav should feel practical and slightly editorial: - Left: LAYER.systems wordmark. - Center: Relay, Signal, Connect, Explore. - Right: `LoginArea`. - Mobile: compact header with persistent login/account access. Use strong text links and clear hover/focus treatment. Avoid oversized pill buttons for every nav item. ### Ticker Add a horizontal ticker near the top of the page. Potential ticker phrases: - `LAYER.systems` - `public Nostr relay` - `wss://relay.layer.systems` - `open protocols` - `relay-first social` - `NIP-aware infrastructure` - `bring your own client` - `events over platforms` Ticker behavior: - Continuous motion on desktop. - Static fallback with `prefers-reduced-motion`. - High contrast. - No essential information should exist only in the ticker. ### Hero The hero should be typographic and signal-heavy. Content: - Main title: `Relay signal for the open social web.` - Supporting line: a concise statement about public Nostr relay infrastructure. - Primary CTA: jump to the relay URL. - Secondary CTA: jump to connection steps. Visual treatment: - Large editorial headline. - Copyable endpoint module. - Subtle grid or protocol texture is acceptable if it does not reduce readability. - Use real relay/data motifs rather than abstract decorative blobs. ## 6. Components ### Relay Endpoint Card Required elements: - Relay URL. - Copy button with copied state. - Access mode. - Network/protocol labels. - Clear read/write language when applicable. Design: - Rectangular panel with `8px` or less radius. - Crisp border and offset shadow. - Relay URL must wrap safely on small screens. - Copy action must remain reachable on mobile. ### Feature Cards Required elements: - Icon. - Short title. - One practical sentence. Design: - Rectangular cards. - Crisp border. - Subtle hover shift. - No nested cards. ### Connection Steps Required elements: - Step number. - Client action. - Relay URL in the add-relay step. Design: - Structured rows or blocks. - Step numbers should be visually strong. - Code text should wrap cleanly. ### Empty States If live relay status or event lists are added later, empty states should be minimalist and practical: - Explain what data will appear. - Include a short hint about adding `wss://relay.layer.systems` from any Nostr client. - Avoid speculative promises about uptime or persistence. ## 7. Motion Motion should feel like signal movement, not decoration. Use: - Ticker movement. - Subtle hover shifts on cards and CTAs. - Focus-visible rings with a quick transition. Avoid: - Heavy parallax. - Decorative floating orbs. - Motion that distracts from reading the relay URL. Respect `prefers-reduced-motion`. ## 8. Imagery and Texture This site does not need stock photography. Preferred visual motifs: - Relay/network linework. - Terminal-inspired grid texture. - Endpoint/code fragments. - Protocol tags and event-kind labels. - Simple infrastructure diagrams. Texture direction: - Light paper/noise texture is acceptable. - Grid backgrounds are acceptable. - Keep texture subtle enough that body text remains AA compliant. ## 9. Accessibility Requirements: - WCAG 2.1 AA contrast for text and controls. - Keyboard-accessible navigation and controls. - Visible focus states. - Semantic headings. - Descriptive alt text for static images. - Empty `alt` for purely decorative images. - No unsafe HTML injection. ## 10. Responsive Behavior Mobile: - Single-column flow. - Sticky compact nav. - Ticker can become static. - Relay URL must wrap without layout overflow. - Hero type must scale by breakpoint, not viewport-width formulas. Tablet: - Two-column section layouts where useful. - Endpoint card remains prominent. Desktop: - Editorial grid with asymmetric section rhythm. - Relay endpoint and hero copy share the first viewport. - Keep primary content width controlled for readability. ## 11. Copy Tone Tone should be direct and protocol-native. Good: - `Relay signal for the open social web.` - `A public Nostr relay for portable social identity.` - `Add the relay URL from any Nostr client.` - `Events over platforms.` Avoid: - `Revolutionizing social engagement` - `The ultimate decentralized ecosystem` - `Next-generation community platform` - `Seamless innovative experiences` ## 12. Implementation Notes - Use existing shadcn/ui primitives. - Keep cards at `8px` radius or less unless a local component requires otherwise. - Use `cn()` for class composition when class branching is needed. - Use lucide icons where icons are needed. - Define color and font tokens in CSS variables. - Keep sections as full-width bands with constrained inner content. - Do not nest UI cards inside UI cards. - Do not add unsafe HTML rendering for Nostr content. - Sanitize all event-sourced URLs before rendering. ## 13. Documentation Tie-In The `/docs` folder can document the design system once implementation expands. Recommended docs: - `/docs/design-system.md`: colors, typography, spacing, components. - `/docs/content-guidelines.md`: tone, protocol language, relay usage guidance. - `/docs/nostr-data.md`: relay-facing event kinds, tags, validation, and query patterns. ## 14. Design Acceptance Criteria - The site clearly reads as LAYER.systems in the first viewport. - The visual direction feels inspired by `einundzwanzig.space` but has its own orange Nostr relay identity. - The relay endpoint is visually central, not secondary. - The interface remains readable and usable at 360px width. - Motion respects `prefers-reduced-motion`. - UI contrast meets WCAG 2.1 AA. - The design avoids generic orange SaaS styling.