pixies
Publikcomposition-brief.md
Hyperframes Composition Brief: Pixies
Objective
A 20-second launch video for Pixies, the self-hosted internet speed analytics dashboard. It shows the record of tests, not a single measurement, and lands the new logo and name. No URL or domain appears anywhere; the project is not deployed.
Output
- Composition directory:
brand/brag/composition/ - Rendered video:
brand/launch.mp4(poster baked as frame 0), source renderbrand/brag/brag.mp4 - Poster:
brand/brag/poster.jpg(19.4s, settled outro) - Format: landscape 1920x1080, 30fps
- Duration: 20.5s (615 frames)
Source Material
- Project root:
D:/project/pixies - Primary files read:
README.md,client/index.html,client/public/manifest.json,brand/brand.md - Product name: Pixies
- Tagline: Self-hosted internet speed analytics.
- Key visual: the new mark (pulse rising into two pixel squares) from
brand/logo-dark.svg - Copy that must appear verbatim (from README):
- Records your internet speed over a configurable retention period.
- Ookla, LibreSpeed, Cloudflare (server providers)
- Health checks: email, Signal, WhatsApp, Telegram
- Prometheus and Grafana
- CSV / JSON export (server/routes/speedtests.js)
Creative Direction
- Tone preset: polished
- Interpretation: restrained motion, long holds, no jokes. Confidence comes from type and spacing.
- Angle: speed-test apps show a number and forget it; Pixies keeps the history.
- Hook: a bare pulse runs across the frame, then "Your line has a history." (0.0-2.735s)
- Outro: wordmark, "Self-hosted speed analytics.", "Open source on GitHub" (17.475-20.0s)
- Avoid: generic SaaS language, fake dashboards built from unrelated UI, invented metrics claims.
Visual Identity
- Background:
#0B0F14; raised panels#141A21; hairline#232B34 - Text:
#E6EDF3; muted#93A1AE - Accent:
#35E0A0 - Display/body font: Inter (400/500/600, woff2 in
assets/fonts) - Numerals and labels: JetBrains Mono 500 (woff2 in
assets/fonts) - Project visuals:
assets/brand/wordmark-dark.svg,assets/brand/logo-dark.svg, the pulse motif reused at three scales (hook scope, chart line, mark)
Storyboard
- Hook - 0.0-2.735s - scope pulse draws, dot lands, "Your line has a history."
- Reveal - 2.735-6.565s - wordmark + "Self-hosted internet speed analytics." + retention line
- Speed history - 6.565-10.365s - dashboard panel, chart draws, download/upload/ping/jitter
- Servers - 10.365-14.195s - Ookla / LibreSpeed / Cloudflare cards
- Health checks - 14.195-17.475s - alert panel with four channels + Prometheus/Grafana panel
- Outro - 17.475-20.0s - wordmark, tagline, "Open source on GitHub"
Audio
- Audio role: warm electronic bed, quiet enough to read over
- Music:
assets/music/pulse.mp3(bundledhappy-beats-business-moves-vol-10, 110 BPM) - Music treatment: fade in 0-0.8s to 0.34, hold, fade to 0 over 18.3-19.9s via the volume lane
- Music cue guidance:
beats/assets/music/pulse.mp3.json(108 beats); scene cuts snapped to beats 2.735 / 6.565 / 10.365 / 14.195 / 17.475; strong cues 6.565 and 17.475 used for scene 3 and outro - Audio-reactive treatment: none (restraint chosen over any pulse-driven glow)
- Audio-coupled moments: dashboard panel entrance, server card stagger, alert panel entrance
- SFX:
assets/sfx/switch1.oggat the three panel/card reveals, volume 0.12, on separate tracks - All on-screen copy, captions and audio content are English only.
Hyperframes Instructions
- Single standalone composition at
composition/index.html, GSAP timeline registered onwindow.__timelines["main"], six timed scenes on track 0. - Requirements: at least one real product element (dashboard panel, provider names, health-check channels), readable text at every hold, 15-25s window, music and SFX present.
- Gate:
npx hyperframes check(0 errors; layout 0 issues; 23/23 contrast checks pass). - Verify after render with ffprobe: 1920x1080, 30fps, h264 + aac, 20.0s.