HyperFrames and Remotion — the two tools that own this space — step 8 of 9
Write pick_tool(project) that takes a project dict and returns one
of "hyperframes", "remotion", "both", or "ai-gen-only".
Input fields:
team_familiarity_react: boolneeds_text_reflow: boolrender_target: str— either"local"or"scale"complexity: str—"simple","medium", or"high"
Apply these rules in order:
- If
complexity == "simple"ANDrender_target == "local"→ return"ai-gen-only"(the framework is overkill). - Else if
team_familiarity_reactANDrender_target == "scale"→ return"remotion"(React team + Lambda need). - Else if
needs_text_reflowORnot team_familiarity_react→ return"hyperframes"(design-first team or reflow-heavy). - Else → return
"both".
Five projects run. Expected output:
one-off mood reel: ai-gen-only
5000 yearly recap: remotion
designer brand reel: hyperframes
reflow-heavy ads: hyperframes
in-house mixed team: both
⌘↵ runs the editor.read, then continue.
Write pick_tool(project) that takes a project dict and returns one
of "hyperframes", "remotion", "both", or "ai-gen-only".
Input fields:
team_familiarity_react: boolneeds_text_reflow: boolrender_target: str— either"local"or"scale"complexity: str—"simple","medium", or"high"
Apply these rules in order:
- If
complexity == "simple"ANDrender_target == "local"→ return"ai-gen-only"(the framework is overkill). - Else if
team_familiarity_reactANDrender_target == "scale"→ return"remotion"(React team + Lambda need). - Else if
needs_text_reflowORnot team_familiarity_react→ return"hyperframes"(design-first team or reflow-heavy). - Else → return
"both".
Five projects run. Expected output:
one-off mood reel: ai-gen-only
5000 yearly recap: remotion
designer brand reel: hyperframes
reflow-heavy ads: hyperframes
in-house mixed team: both
this step needs the editor
on desktop today; in the app (coming soon). save your spot and we'll bring you back here when you're ready.