Documentation
Component library and technical documentation for building premium content networks.
Quick Start
Get your content network up and running in under 15 minutes.
API Reference
Complete REST API documentation for developers.
Content Management
Learn how to organize, tag, and deliver your content.
Security & Access
Configure access controls and protect your content.
CDN & Delivery
Global content delivery with 280+ edge locations.
Component Library
15 production-ready Svelte 5 components for building premium content experiences.
Landing Page Components
HeroSection
Landing PageFull-width hero with gradient mesh background, animated ping badge, browser mockup preview, and stats row. Uses clamp() for responsive typography.
Features
- Gradient mesh background with radial overlays
- Animated ping badge with pulsing dot
- Browser chrome mockup with frosted nav
- Responsive stats row (3 key metrics)
- CTA buttons with hover transforms
Usage
<!-- Self-contained, no props required -->
<HeroSection />PlatformPreview
Landing PageInteractive tabbed preview showing User Portal and Admin Dashboard experiences. Uses Svelte 5 $state() for tab switching with frame chrome browser UI.
Features
- Tab switching with $state() rune
- User portal: nav, hero, content rails
- Admin dashboard: sidebar, stats grid, chart
- Frosted glass frame chrome effect
- Responsive layout with scroll areas
Usage
<PlatformPreview />
<!-- Uses Svelte 5 $state() internally for tab switching -->FeatureComparison
Landing PageSide-by-side comparison table showing OUTERFIELDS advantages over Uscreen. Uses check/x icons for boolean values and highlighted text for strings.
Features
- 8 feature comparison rows
- Boolean values with Check/X icons
- String values with highlight styling
- Sticky headers on scroll
- Mobile-responsive table layout
Usage
<!-- Comparison data is internal -->
<FeatureComparison />Pricing
Landing PageThree-tier pricing grid with Creator ($49), Professional ($149), and Business ($399) plans. Professional tier is highlighted with border emphasis.
Features
- Three pricing tiers with feature lists
- Highlighted "Most Popular" tier
- Transaction fee disclosure (2.9% + 30¢)
- CTA buttons per tier
- Responsive grid (3→1 column)
Usage
<Pricing />DemoCTA
Landing PageCall-to-action section with rocket badge, animated concentric rings, and dual CTA buttons. Used to drive demo signups.
Features
- Rocket emoji badge with animation
- Animated visual rings (3 concentric)
- Primary/secondary CTA buttons
- Glass card background effect
- Centered layout with max-width
Usage
<DemoCTA />Testimonials
Landing PageCreator success stories with quotes, avatar images, and revenue/subscriber stats. Two-column grid layout with glass card styling.
Features
- Quote cards with creator attribution
- Avatar images (64px circles)
- Revenue and subscriber metrics
- Star ratings display
- Two-column responsive grid
Usage
<Testimonials />EcosystemFeatures
Landing PageIsometric 3D card layout showing Admin features (left tilt) and User features (right tilt). Uses CSS transforms for perspective effect.
Features
- Isometric 3D card transforms
- Admin features: Analytics, Content, Revenue, Community
- User features: Library, Progress, Community, Mobile
- Hover animations with scale
- Icon badges with gradient backgrounds
Usage
<!-- CSS transforms: rotateY(8deg) rotateX(2deg) -->
<EcosystemFeatures />Video Components
FeaturedVideos
VideoInteractive video grid with modal player, engagement heatmap, mini-player support, and live view counts via Cloudflare KV. Full-featured video experience.
Features
- 6 video cards with thumbnails from R2 CDN
- Modal player with custom controls
- Engagement heatmap (Most Replayed visualization)
- Picture-in-picture mini-player mode
- Live view counts via videoStats store
- Fullscreen support with native API
Usage
<FeaturedVideos />
<!-- Integrates with videoPlayer and videoStats stores -->MiniPlayer
VideoPersistent picture-in-picture style player that stays in bottom-right corner. Syncs with videoPlayer store for seamless playback continuity.
Features
- Fixed position bottom-right
- Play/pause toggle overlay
- Progress bar with fill animation
- Expand to modal action
- Close button to dismiss
- Store synchronization with $effect()
Usage
<!-- Rendered conditionally via store state -->
{#if $videoPlayer.mode === 'mini'}
<MiniPlayer />
{/if}Architecture Components
PlatformComponents
ArchitectureRams-style breakdown of 6 essential platform systems with expandable feature lists. Includes system overview diagram showing Creator → OUTERFIELDS → Viewers flow.
Features
- 6 component cards with icons
- Expandable feature lists on click
- $state() for active component tracking
- System overview diagram
- Arrow flow visualization
- Dynamic icon rendering via iconMap
Usage
<PlatformComponents />
<!-- Uses $state() internally for accordion behavior -->BuildProgress
ArchitectureVisual timeline showing 90-day build journey with milestone markers. Displays Concept → Core UI → Beta → Launch progression.
Features
- Progress bar with percentage fill
- 4 milestone markers (Day 1, 30, 60, 90)
- Current milestone ping animation
- Complete/current/upcoming states
- Responsive milestone labels
Usage
<!-- Milestones are internal data -->
<BuildProgress />ResourceLinks
ArchitectureTwo-column grid linking to Technical Documentation and Design Guidelines. Uses BookOpen and Palette icons with arrow hover effect.
Features
- Two resource cards (Docs, Design)
- Lucide icons with arrow indicators
- Hover border emphasis
- Glass card background
- Links to /docs and /design routes
Usage
<ResourceLinks />ComponentLab
ArchitectureLive previews of 3 design system components (Cinematic Player, Engagement Heatmap, Metric Card) with hover overlay linking to docs.
Features
- 3 component preview cards
- Gradient placeholder visuals
- Hover overlay with "View Docs" button
- Badge labels for component names
- Links to component anchor IDs
Usage
<ComponentLab />Layout Components
Detailed Component Documentation
Deep dive into our most powerful components with live examples and implementation details.
Cinematic Player
Our video player tracks when viewers replay parts of your videos. You see exactly which moments resonate. No guessing.
What It Does
- Full-screen video playback
- Custom play/pause controls that match your brand
- Tracks every second watched (stored in Cloudflare KV)
- Shows "Most Replayed" heatmap overlay
- Picture-in-picture mode (keeps playing while browsing)
How Engagement Tracking Works
The player divides your video into 20 equal segments. Every time someone watches a segment, we record it. When they seek backwards to rewatch something, we weight that twice as much. This data becomes your engagement heatmap.
Integration
import { videoPlayer } from '$lib/stores/videoPlayer';
const video = {
id: 'v1',
title: 'Your Video Title',
src: 'https://cdn.example.com/video.mp4',
thumbnail: 'https://cdn.example.com/thumb.jpg'
};
// Open the player
videoPlayer.play(video); Data Storage
Engagement data lives in Cloudflare KV with the key engagement:{videoId}. Each bucket stores watch counts. Replay events count double.
Engagement Heatmap
See which parts of your video people replay. The heatmap shows engagement intensity as vertical bars. Taller bars = more replays.
What It Shows
- 20 bars representing video segments (each is 5% of total duration)
- Bar height = engagement level (0-100%)
- Animated reveal when the player opens
- Real-time updates as viewers interact
How to Read It
Tall bars mean viewers rewound and rewatched that part. Short bars mean people watched once and moved on. Use this to find:
- Hooks that work (tall bars early on)
- Confusing parts (tall bars in the middle = people rewatching to understand)
- Drop-off points (sudden decrease in bar height)
Technical Implementation
// Data structure from KV
{
"videoId": "v1",
"buckets": [0.3, 0.5, 0.9, 0.7, ...], // 20 values
"live": true
}
// Normalized to 0-1 range for visualization
const maxValue = Math.max(...buckets);
const heights = buckets.map(v => (v / maxValue) * 100); Performance
Heatmap data fetches once when the player opens. Updates happen via POST when viewers interact (debounced to every 2 seconds to reduce API calls).
Metric Card
Clean, animated number displays for your key metrics. Shows total views, watch time, or any other stat that matters.
Features
- Animated count-up on first load
- Icon + label + large number layout
- Trend indicator (up/down arrow with percentage)
- Glassmorphism background effect
Example Usage
<div class="metric-card">
<div class="metric-icon">
<Eye size={20} />
</div>
<div class="metric-label">Total Views</div>
<div class="metric-value">847,293</div>
<div class="metric-trend positive">
↑ 12.3%
</div>
</div> Animation Details
The count-up animation uses JavaScript's requestAnimationFrame for smooth 60fps rendering. It increments from 0 to the target value over 1.2 seconds with easing.
When to Use
Use metric cards for your dashboard overview. They work best when showing 3-4 key numbers side-by-side. Keep labels short (1-2 words).
Design Tokens
CSS custom properties used throughout the component library.
Colors
--color-primary #ffffff--color-bg-pure #000000--color-bg-surface rgba(255,255,255,0.05)--color-fg-muted rgba(255,255,255,0.6)Animation
--duration-micro 200ms--duration-standard 300ms--duration-complex 500ms--ease-standard cubic-bezier(0.4, 0, 0.2, 1)Typography
--text-display clamp(2.5rem, 4vw + 1.5rem, 5rem)--text-h1 clamp(2rem, 3vw + 1rem, 3.5rem)--text-body 1rem--text-body-sm 0.875remNeed Help?
Our team is here to support your integration journey.