Skip to content

Add Remotion showcase video for the framework#116

Draft
antosubash wants to merge 5 commits intomainfrom
claude/create-showcase-video-1ejhB
Draft

Add Remotion showcase video for the framework#116
antosubash wants to merge 5 commits intomainfrom
claude/create-showcase-video-1ejhB

Conversation

@antosubash
Copy link
Copy Markdown
Owner

Summary

Adds a new video/ project that produces a 50-second Remotion showcase video
for the SimpleModule framework. The runtime is weighted toward explaining
how the framework actually works:

# Scene Duration Focus
1 Opening 4s Logo + tagline
2 Problem → Solution 5s "Modular monolith. Compile-time wiring."
3 [Module] 6s Attribute + Roslyn-generated AddModules() side-by-side
4 IEndpoint 6s Auto-discovered endpoint with declarative permission
5 MapCrud<> 7s One line → five labeled REST endpoint cards
6 Inertia + Event Bus 6s Server-rendered React + cross-module events
7 Module inventory 6s Staggered 5×4 grid of 20 modules
8 Tech stack + stats 6s Built on .NET 10 / React 19 / …; 20 modules · 115k LOC · 129 tests
9 Call to action 4s github.com/antosubash/SimpleModule

All assets are isolated under video/ (own package.json, Node
modules, output). The rendered .mp4 lives in video/out/ and is
gitignored; only the scaffold is tracked. The project reuses the
existing logo from docs/logo.svg and the emerald/teal palette from the
ClientApp theme.

How to render

cd video
npm install
REMOTION_CHROME_FLAGS="--no-sandbox --disable-setuid-sandbox" npm run render
# output: out/simplemodule.mp4  (~6.6 MB, 1920x1080, 30fps, 50s)

Verified end-to-end locally: npm install clean, npx remotion render
produces a valid mp4, and still-frame spot checks confirm legible code
with no clipping across scenes 3–9.

Audio

Background audio is opt-in. Drop a track at
video/public/background.mp3 and set REMOTION_ENABLE_AUDIO=1 before
rendering. The README lists a few CC0 sources. The network-restricted
sandbox that built this PR could not download a track, so the committed
scaffold renders silently by default.

Test plan

  • Run cd video && npm install → exits 0
  • Run npm run start and open the Remotion studio at
    http://localhost:3000; select the SimpleModule composition and
    scrub through the timeline — all 9 scenes render without console
    errors
  • Run npm run render → produces out/simplemodule.mp4; open it
    and confirm all 9 scenes play, audio is present if enabled, and
    transitions are clean
  • (Optional) Add public/background.mp3, set
    REMOTION_ENABLE_AUDIO=1, re-render, and confirm fade-in/out
    envelope (30f in, 60f out)

Generated by Claude Code

50-second 1920x1080 video that spends its runtime explaining the framework:
[Module] compile-time discovery, IEndpoint auto-wiring, MapCrud batteries-
included helper, Inertia bridge, and cross-module event bus. Rounded out
with a module inventory, tech stack, stats, and a GitHub CTA.

Run 'npm install && npm run render' inside video/ to produce
out/simplemodule.mp4. The rendered binary is gitignored; only the source
scaffold is committed. Background audio is opt-in via REMOTION_ENABLE_AUDIO=1
once public/background.mp3 is supplied.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 23, 2026

Deploying simplemodule-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: 0855358
Status: ✅  Deploy successful!
Preview URL: https://f818052f.simplemodule-website.pages.dev
Branch Preview URL: https://claude-create-showcase-video.simplemodule-website.pages.dev

View logs

- Add 10 per-module composition (Users, Permissions, Settings, Admin,
  Dashboard, AuditLogs, FileStorage, Email, BackgroundJobs, FeatureFlags)
  driven by data in src/data/moduleShowcases.ts; each video runs 14 s with
  its own accent colour, tagline, three feature bullets, and CTA callout.
- Replace `say`-based TTS with Piper (en_US-ryan-high) for naturally spoken
  narration; regenerate all scene + module clips via npm run narrate.
- Swap the background-music clip for Scott Buckley's "I Walk With Ghosts"
  (CC-BY 4.0) trimmed from 0:00 and loudnorm-treated; credit added to README.
- Add a -14 LUFS post-process (scripts/normalize-loudness.mjs) so renders
  never ship at ear-splitting levels; render:all chains render -> normalize
  -> verify.
- Add an empirical narration verifier (scripts/verify-narration.mjs) that
  cross-correlates each module video's speech envelope with every source
  clip; render:all fails if any video plays the wrong module's narration.
- Tint the shared ModuleShowcase background with the module's accent
  colour so the ten spotlights feel visually distinct.
- Tighten transitions in the main reel with @remotion/transitions
  (cross-fade + slide), trim hold durations to bring total runtime from
  50 s down to ~39 s.
- Update README with Piper setup, narration workflow, per-module
  storyboard, loudness policy, and verification commands.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants