docs(demo): add 55s kinetic typography marketing video + reproducible pipeline#102
Merged
George-iam merged 1 commit intomainfrom Apr 11, 2026
Merged
docs(demo): add 55s kinetic typography marketing video + reproducible pipeline#102George-iam merged 1 commit intomainfrom
George-iam merged 1 commit intomainfrom
Conversation
Ships a silent 1920x1080 demo video at docs/demo.mp4 plus a fully
self-contained regeneration pipeline at docs/demo-video/. Ready for
voiceover overlay in any editor.
This is a net-new artifact alongside the existing terminal demo at
docs/demo/ — neither replaces the other. The terminal demo is for
the README hero GIF; this video is for the external v0.2.7
announcement and the landing page hero.
Narrative (A + C from our value matrix): persistent memory between
sessions as the primary hook, safety hooks as a supporting beat.
Seven beats across 55 seconds:
0:00-0:05 "Claude Code is brilliant - for about forty-five minutes."
0:05-0:15 "Then the window closes, and everything you taught it is
gone." + three staggered bullets (decisions, conventions,
yesterday's bug)
0:15-0:20 "AXME Code gives Claude persistent memory."
0:20-0:30 axme_context money shot: four pill cards (Stack /
Decisions / Memories / Safety) + large Previous Session
Handoff card
0:30-0:40 "Every new session opens with your full project context"
+ four staggered emerald bullets
0:40-0:48 Safety money shot: `git push --force origin main` mono
strip, red slash, BLOCKED pill, supporting subtext
0:48-0:55 "One install. MIT licensed. Claude Code plugin."
code.axme.ai
Implementation: pure Python 3.9+ / Pillow / ffmpeg. No external
service, no third-party video editor, no build step beyond
`python3 docs/demo-video/render.py`. Frames are generated in memory
and piped as raw RGB into ffmpeg libx264 over stdin, so there are
no temp PNG files on disk.
docs/demo-video/ layout:
NARRATION.md source of truth for voiceover script + beat plan
render.py ~470-line Pillow renderer with 7 beat functions,
gradient background with vignette, card component,
envelope-based fade-in / slide-up animations
fetch-fonts.sh one-shot downloader for Inter v4.0 + JetBrains
Mono v2.304 (both SIL OFL, safe to redistribute)
fonts/ bundled Inter-Regular/Medium/Bold + JetBrainsMono
Regular + their licenses, ~1.5 MB total, committed
so the video is fully reproducible offline
.gitignore excludes preview.mp4 (fast-iteration artifact)
Regenerate:
python3 docs/demo-video/render.py # 55s @ 24fps (~40s wall)
python3 docs/demo-video/render.py --preview # first 10s @ 12fps
Style: #0a1210 -> #04080a vertical gradient, Inter Bold / Medium,
#34d399 emerald accent matching code.axme.ai brand, #f87171 red only
on the safety block. Silent track - lay your own narration on top.
#!axme pr=none repo=AxmeAI/axme-code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ships a silent 55-second 1920×1080 marketing video at
docs/demo.mp4plus a fully self-contained regeneration pipeline atdocs/demo-video/. Ready for voiceover overlay in any editor, for use on the landing page hero and the external v0.2.7 announcement.This is a net-new artifact — the existing terminal demo at
docs/demo/is untouched. Two demos for two jobs: the terminal GIF stays as the README hero (it shows the real CLI flow); this kinetic typography video is the social/marketing asset that works without a terminal.Narrative
Primary value: persistent memory between sessions (hook A). Supporting beat: safety hooks (hook C). Follows the voiceover script we agreed on — see
docs/demo-video/NARRATION.mdfor the source of truth.Seven beats across 55 seconds
axme_contextmoney shot: four pill cards (Stack / Decisions / Memories / Safety) + large Previous Session Handoff card with real v0.2.7 context\$ git push --force origin mainmono strip → red slash → BLOCKED pillcode.axme.aiImplementation
Pure Python 3.9+ / Pillow / ffmpeg. No external service, no third-party editor, no build step beyond
python3 docs/demo-video/render.py. Frames are generated in-memory and piped as raw RGB into ffmpeg libx264 over stdin — no temp PNG files on disk.Regenerate
Style
#0a1210 → #04080avertical gradient + radial vignette#f3f4f6Inter Bold / Medium#34d399emerald (matches code.axme.ai brand)#f87171red, used only on the safety blockFonts licensing
Both font families are bundled under SIL Open Font License 1.1, which explicitly permits redistribution (including as part of a larger software product). Licenses are committed alongside the TTF files:
fonts/Inter-LICENSE.txtandfonts/JetBrainsMono-OFL.txt.Test plan
python3 docs/demo-video/render.pyrenders 1320 frames @ 24fps →docs/demo.mp4(1.5 MB, 55s)ffprobeconfirms duration = 55.00s, resolution = 1920×1080, H.264/yuv420pFiles
docs/demo.mp4(new, 1.5 MB)docs/demo-video/NARRATION.md(new)docs/demo-video/render.py(new, 470 lines)docs/demo-video/fetch-fonts.sh(new, executable)docs/demo-video/.gitignore(new — excludes preview.mp4)docs/demo-video/fonts/(new — 4 TTF files + 2 license files, ~1.5 MB)11 files, +941 lines.
🤖 Generated with Claude Code