feat: YC application answers + Remotion video component + gitignore updates
- Add YC_APPLICATION_ANSWERS.md with full Summer 2026 application draft (all fields answered, updated with mortgage broker user interview quote) - Wire OffthreadVideo into YCAppVideo.tsx for founder recording playback - Ignore .mov files and .gstack/ in .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,20 @@
|
||||
import { AbsoluteFill, interpolate, spring, useCurrentFrame, useVideoConfig } from "remotion";
|
||||
import {
|
||||
AbsoluteFill,
|
||||
OffthreadVideo,
|
||||
Sequence,
|
||||
staticFile,
|
||||
interpolate,
|
||||
spring,
|
||||
useCurrentFrame,
|
||||
useVideoConfig,
|
||||
} from "remotion";
|
||||
import { COLORS, FONT, SPRING_CFG } from "./styles";
|
||||
|
||||
// ─── CONFIG ──────────────────────────────────────────────────────────
|
||||
const INTRO_DURATION = 3; // seconds
|
||||
const OUTRO_DURATION = 2; // seconds
|
||||
const TOTAL_DURATION = 60; // seconds (YC wants ~1 min)
|
||||
const TALKING_HEAD_DURATION = TOTAL_DURATION - INTRO_DURATION - OUTRO_DURATION;
|
||||
|
||||
// ─── INTRO CARD ──────────────────────────────────────────────────────
|
||||
const IntroCard = () => {
|
||||
@@ -126,7 +136,7 @@ const VideoFrame = ({ children }: { children?: React.ReactNode }) => {
|
||||
// Fade in from intro
|
||||
const fadeIn = interpolate(
|
||||
frame,
|
||||
[INTRO_DURATION * fps, (INTRO_DURATION + 0.5) * fps],
|
||||
[0, 0.5 * fps],
|
||||
[0, 1],
|
||||
{ extrapolateLeft: "clamp", extrapolateRight: "clamp" }
|
||||
);
|
||||
@@ -134,7 +144,7 @@ const VideoFrame = ({ children }: { children?: React.ReactNode }) => {
|
||||
// Fade out to outro
|
||||
const fadeOut = interpolate(
|
||||
frame,
|
||||
[(TOTAL_DURATION - OUTRO_DURATION - 0.5) * fps, (TOTAL_DURATION - OUTRO_DURATION) * fps],
|
||||
[(TALKING_HEAD_DURATION - 0.5) * fps, TALKING_HEAD_DURATION * fps],
|
||||
[1, 0],
|
||||
{ extrapolateLeft: "clamp", extrapolateRight: "clamp" }
|
||||
);
|
||||
@@ -328,7 +338,21 @@ export const YCAppVideo = () => {
|
||||
return (
|
||||
<AbsoluteFill style={{ background: "#000" }}>
|
||||
{showIntro && <IntroCard />}
|
||||
{!showIntro && !showOutro && <VideoFrame />}
|
||||
<Sequence
|
||||
from={INTRO_DURATION * fps}
|
||||
durationInFrames={TALKING_HEAD_DURATION * fps}
|
||||
>
|
||||
<VideoFrame>
|
||||
<OffthreadVideo
|
||||
src={staticFile("yc-founder-recording.mov")}
|
||||
style={{
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
objectFit: "cover",
|
||||
}}
|
||||
/>
|
||||
</VideoFrame>
|
||||
</Sequence>
|
||||
{showOutro && <OutroCard />}
|
||||
</AbsoluteFill>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user