Real-time fan contributions with authoritative timestamps

What is Wallflower?

Wallflower is a TAMS Ingestion Gateway that captures user-generated content (text and video) with precise wall-clock timestamps. It solves the problem of knowing exactly when content was created, regardless of network conditions or upload delays.

When a user clicks "Submit," Wallflower captures their client wall-clock time (clientWCT) as the authoritative timestamp. This represents the user's moment of intent, not when the server received it.

Key Capabilities

🕐
Authoritative Timestamps
Client-side wall-clock time (clientWCT) captured at the moment of submit, independent of network latency.
📹
Two-Phase Submission
Timestamp locked instantly (Phase 1), video uploaded separately (Phase 2). A 30-second upload doesn't shift your timestamp.
🔗
TAMS Integration
Source/Flow architecture for media provenance. Every submission creates TAMS-compatible metadata structures.
🔐
Content Provenance
WPL hash chain and C2PA manifest preparation for verifiable content authenticity.
🌐
Universal Time Access
Query any frame in any video by absolute wall-clock timestamp. Correlate content across sources.
📊
Game Book Sync
Correlate user submissions with broadcast events. Fan reactions linked to specific game moments.

How It Works

Time Synchronization

Clients connect via WebSocket and send heartbeats every 500ms. The server responds with its wall-clock time, allowing clients to calculate round-trip time (RTT) and clock offset. This data is displayed for transparency but the clientWCT (client's Date.now() at submit) is the authoritative timestamp.

Two-Phase Video Submission

User clicks Submit at T=0 │ ▼ ┌─────────────────────────┐ │ Phase 1: CLAIM (instant)│ │ POST /api/claim-submission │ - clientWCT = T=0 │ │ - Returns submissionId │ └─────────────────────────┘ │ ▼ (30 seconds upload) ┌─────────────────────────┐ │ Phase 2: UPLOAD (slow) │ │ PUT /api/upload/{id} │ │ - Video blob uploaded │ │ - Timestamp preserved! │ └─────────────────────────┘ │ ▼ Stored timestamp = T=0 (not T=30)

Stored Timestamps

Use Cases

Live Event Fan Reactions

Capture fan video reactions during live sports events. Each reaction is timestamped to the exact moment it was recorded, enabling correlation with game events (touchdowns, goals, etc.) via Game Book markers.

Time-Shifted Viewing

Users watching delayed streams can still have their reactions correctly timestamped. The clock offset mechanism accounts for viewing delays while preserving the user's perceived "live" moment.

Content Verification

WPL hash chains and C2PA manifest preparation enable verification that content was captured at the claimed time, by the claimed source, without modification.

Try It Out

Experience Wallflower with our Super Bowl LX simulation demo.

Launch Sample App Tech View

Architecture

Wallflower runs on Cloudflare Workers with Durable Objects for state management and R2 for video storage. The edge-first architecture ensures low latency globally.

Pages