Files
LynkedUpPro_CRM/marketing/product-film
Satyam Rastogi f76a9da7b4 feat(film): author 19 interaction scenes on the storm-intel template
One scene per remaining manifest clip (territory-map, lead-create, lead-verify, dispatch, kanban, sub-tasks, pro-canvas, estimates, owner-snapshot, operator-dashboard, people-skills, project-detail, documents, org-access, role-perspective, ai-assistant, breadth-flash, landing-hero, crane-close). All follow the wait-for-load -> cursor-driven interactions -> payoff-hold pattern with guarded selectors. Selectors pinned from page source; some flagged for capture-time verification.
2026-05-30 22:07:59 +05:30
..

LynkedUp Pro — Product Film (Remotion)

Flagship ~5-min marketing film, composed from real app screenshots + animated brand beats. See docs/superpowers/specs/2026-05-30-product-film-design.md for the design.

Workflow

  1. Capture the app (dark mode). From the repo root, start the CRM:
    npm run dev          # serves http://localhost:5173
    
    Then in this folder:
    npm install
    npx playwright install chromium   # first time only
    npm run capture                    # writes public/captures/*.png
    
  2. Preview in Remotion Studio:
    npm run dev
    
  3. Render:
    npm run render        # -> out/lynkedup-pro-film.mp4
    

Notes

  • public/captures/ and out/ are gitignored (local artifacts). Re-run npm run capture to refresh.
  • The capture script navigates within the SPA (history pushState) rather than reloading per route, because the CRM keeps auth in memory only — a full reload would log out and redirect to /login.
  • Music: drop a royalty-free track at public/audio/music.mp3 and set HAS_MUSIC = true in src/components/AudioTrack.tsx.
  • Voiceover: captions ship now; the VO script lives in the design spec §5 (record later, drop onto the same timeline).
  • Does not modify any CRM code — it only screenshots the running app.