For developers and technical communicators who want cinematic, code-reviewable, AI-augmented presentations.
Cadenza is a React + Remotion based presentation framework that brings together four qualities no existing tool has put in one place: React-native authoring, a cinematic motion ceiling, complete presentation semantics (decks, slides, steps, transitions, notes, presenter view), and first-class ergonomics for AI coding agents.
It is not a Gamma replacement. It is not a WYSIWYG slide editor. It is a developer-facing framework for people who write technical talks, data-heavy explainers, and documentation-first decks — and for the AI agents that increasingly help them do so.
Pre-alpha. Current routing phase: Phase 6 Builder, Universal CLI and Local Export Engine.
Phase 1 produced the semantic core: the typed TSX API surface,
state-to-timeline compiler, runtime intent/navigation layer, render-safe
metadata and DOM helper, validation reports, first authoring skills, and an
all-domain MVP fixture. Builder work and the selected closeout remediations are
trace-complete in trace/phase1/.
Phase 2 has produced the React + Remotion preview adapter: package boundary,
@remotion/player integration, deterministic player navigation, render-safe
readiness behavior, browser measurement diagnostics, targeted visual sanity,
and active-phase traceability coverage gating. Reviewer closeout is accepted in
trace/phase2/review-phase2-closeout.md.
MP4/PDF export and hosted rendering remain out of scope.
Phase 3 has strengthened AI authoring: the canonical agent-authored technical
deck can compile, mount through the inherited Remotion Player preview path,
emit structured diagnostics, and record before/after repair evidence without
framework-internal deck edits. Reviewer closeout and selected remediation are
accepted in
trace/phase3/review-phase3-closeout.md.
Phase 4 has produced the pruned presentation product layer: a canonical dogfood
technical talk, a maintainer-facing local Remotion Player preview route,
same-browser presenter workflow, visual acceptance evidence, typography and
transition diagnostics, technical-talk starters, and product-layer guidance in
cadenza-best-practices. Reviewer closeout is accepted in
trace/phase4/review-phase4-closeout.md,
including maintainer visual sign-off for the dogfood preview. MP4/PDF export,
hosted rendering, Remotion Lambda, external alpha claims, tool-based MCP, and
multi-device presenter console work were explicitly left out of Phase 4.
Phase 5 closeout is accepted in
trace/phase5/review-phase5-closeout.md.
It produced the canonical longer technical talk, local export evidence, repair
routing, scoped MP4 proof, PDF waiver, and public-surface docs needed before
the next local CLI/export pass.
Phase 6 is now open for Builder work from the frozen
spec/phase6/ contracts. The active trace is
trace/phase6/. Cadenza local export work is focused on a
clean-checkout CLI, local static web compatibility output, local MP4 rendering,
artifact inspection, and evidence boundaries. The clean-checkout walkthrough is
docs/local-export.md. This is local
developer infrastructure, not an alpha announcement, npm publication, hosted
rendering path, Player App export, or unsupported-format claim.
The current roadmap is ROADMAP.md. Earlier strategic analysis
that led to the project lives in
docs/analysis/analysis-final.md
(English) and docs/analysis/analysis-final.zh.md
(中文).
The state of the art, honestly stated:
- Slidev is mature for Markdown-driven slides, but it is Vue-native and caps out on animation complexity.
- Motion Canvas has world-class motion primitives but an imperative generator paradigm that is hostile to AI code generation and decoupled from DOM ergonomics.
- Spectacle is React-native but the presentation product layer has been under-invested for years.
- Remotion is an outstanding rendering and animation backbone — but Remotion upstream has explicitly declined to build a presentation product on top of itself, and its frame-driven model is fundamentally at odds with the event-driven navigation slides require.
- Gamma, Tome, Beautiful.ai, Copilot + Designer are excellent AI deck tools for business users. They are not developer tools. We are not competing with them.
Cadenza sits in the gap those leave open.
┌────────────────────────────────────────────────────────────┐
│ Author-facing Typed API (thin, React-native) │
│ <Deck> / <Slide> / <Step> / <Transition> / <Notes> / ... │
└──────────────────────────┬─────────────────────────────────┘
│
┌──────────────────────────▼─────────────────────────────────┐
│ State-to-Timeline Compiler │
│ discrete deck tree → continuous Remotion timeline │
└──────────────────────────┬─────────────────────────────────┘
│
┌──────────────────────────▼────────────────────────────────────┐
│ Render-Safe Component Layer │
│ <SafeImage> / <SafeFont> / <TypographyBox> / <MediaFrame> │
│ Encapsulates Remotion's asset-loading and timing invariants │
└──────────────────────────┬────────────────────────────────────┘
│
┌──────────────────────────▼─────────────────────────────────┐
│ Remotion Runtime (Player / Transitions / Lambda export) │
└────────────────────────────────────────────────────────────┘
Four ideas carry the architecture:
- Typed API first, DSL last. Agents and authors target a stable TypeScript surface. DSL (if ever needed) is a Phase 3+ concern.
- Render-safe layer as default path. Asset-loading traps, font timing, export determinism are absorbed by controlled components. Raw Remotion remains available as an escape hatch.
- Skills before MCP. Early AI investment goes into
AI-ready docs + system prompts + skill pack. MCP is layered later, once structured lookup becomes a real bottleneck. - TSX-first authoring. Modern LLMs write usable TSX today. We constrain them through the typed API, not through a new language.
See docs/analysis/analysis-final.md §4 for the full argument.
Built for:
- Developers giving React Summit / KubeCon / JSConf technical talks
- Technical writers building data-heavy explainers (statistics, distributed systems, compilers, etc.)
- Educators producing programming course material
- Documentation-first teams who want slides as code-reviewable artifacts
- AI coding agents that generate decks for any of the above
Not built for:
- Business users looking for AI-generated quarterly decks — see Gamma or Tome
- Teams that need WYSIWYG editing, real-time collaboration, comments, or version history as a primary workflow — at least not before the core framework reaches 1.0
- Users who don't want to touch code
If you're not sure whether this is for you, skim goals-non-goals.md and docs/analysis/analysis-final.md §1.2.
Cadenza is licensed under the Apache License 2.0. See LICENSE.txt and NOTICE.txt.
Cadenza is built on top of Remotion. Remotion has its own license that is separate from Cadenza's Apache 2.0 license:
- Individuals, students, and small teams can use Remotion for free under its Remotion License.
- Companies above a specified employee threshold require a commercial Remotion license.
- Remotion Lambda (cloud rendering) is a paid service.
Using Cadenza does not exempt you from Remotion's license requirements. If
your organization is subject to Remotion's commercial licensing, you must obtain
that license directly from Remotion. Cadenza does not vendor or relicense
Remotion. The preview adapter keeps Remotion Player integration behind peer
dependencies. @cadenza-dev/export-local declares direct local renderer
dependencies on Remotion renderer and bundler packages because local MP4 export
is an operational renderer adapter.
- Maintainer: @DrEden33773 (Eden Wang)
- Co-maintainers: None yet. Interested?
CONTRIBUTING.mdwill land before broader external contribution intake. - Decision record: All significant architectural decisions live in
docs/adr/.
| Phase | Focus | Exit Criteria |
|---|---|---|
| 0 | Technical pre-commitment | See trace/phase0/status.yaml |
| 1 | Core Semantics & Typed API | Frozen Phase 1 scenarios are green; the all-domain fixture compiles to deterministic preview/offline TimelineMap signatures; real React/Remotion rendering and export are not claimed |
| 2 | React + Remotion Preview Adapter | The all-domain fixture renders in a real React + Remotion browser preview with player navigation and render-safe readiness behavior; MP4/PDF export remains out of scope |
| 3 | AI Authoring Strengthening | Agent-authored decks can be generated, previewed, diagnosed, and repaired through the local validation loop |
| 4 | Presentation Product Layer (pruned) | Maintainer dogfoods a production-adjacent technical talk through local Remotion Player preview and presenter workflows |
| 5 | Export + 0.1 Alpha Readiness | A longer technical talk exports through the supported local pipeline with traceable web/format evidence, public-surface docs, and Reviewer acceptance before alpha readiness is claimed |
| 6 | Universal CLI and Local Export Engine | Clean-checkout local CLI, validate/inspect/export commands, static web compatibility output, local MP4 rendering, and docs/evidence overclaim guards |
Full roadmap and rationale: ROADMAP.md.
Pre-alpha contributions are currently limited to:
- Review feedback on
ROADMAP.md, completed phase traces, and active local-export trace routing - Discussion of architectural decisions in
docs/adr/ - Focused issues that respect
goals-non-goals.md
Broader code contributions should wait until the Builder workflow opens a
specific contribution surface and CONTRIBUTING.md lands.
Cadenza stands on the shoulders of several projects:
- Remotion — the rendering, transition, and export backbone
- Slidev — the proof that developer-first slides are viable and worth investing in
- Motion Canvas — demonstrating just how high a programmatic motion ceiling can go
- Strategic analysis (English):
docs/analysis/analysis-final.md - Strategic analysis (中文):
docs/analysis/analysis-final.zh.md - Compiler design:
docs/design/compiler-design.md - Testing taxonomy:
docs/design/testing-taxonomy.md - Architectural decisions:
docs/adr/ - Goals and non-goals:
goals-non-goals.md