{/* iOS status bar in the safe area */}
+ {/* Claude Code header from screenshot (tabs + session info) */}
+
+
})
+ {/* Fade to terminal background */}
+
+
+
+ {/* Dark mask: hides screenshot text below Claude Code info (e.g. "Try edit...") */}
+
+ {/* Smooth gradient blend from screenshot into dark terminal */}
+
+
+
+
{/* Typing animation */}
-
+
+
+ {/* Codeman toolbar from screenshot (/init, /clear, /compact, Run, Run Shell, voice) */}
+
+ {/* Gradient blend at top */}
+
+
})
+
+
+ {/* Promo cards between text and toolbar (left phone only) */}
+ {showPromo &&
}
{/* iOS keyboard at bottom */}
{showKeyboard && (
@@ -230,22 +301,22 @@ const MobileCodeman: React.FC<{
);
-// ─── Label beneath phone ───
+// ─── Label above phone (prominent header) ───
const PhoneLabel: React.FC<{
title: string;
detail: string;
dotColor: string;
detailColor: string;
}> = ({ title, detail, dotColor, detailColor }) => (
-
+
);
+// ─── Promo banners (inside left phone, between text and keyboard) ───
+const PromoBanners: React.FC = () => (
+
+
+
+
+
Codeman
+
github.com/Ark0N/Codeman
+
+
+
+
+
+
xterm-zerolag-input
+
npmjs.com/package/xterm-zerolag-input
+
+
+
+);
+
// ─── Title scene ───
const TitleScene: React.FC = () => {
const frame = useCurrentFrame();
@@ -357,12 +484,22 @@ const TypingDemo: React.FC = () => {
}}
>
@@ -389,12 +526,22 @@ const PanelsEntrance: React.FC = () => {
>
diff --git a/tools/remotion/public/mobile-claude.png b/tools/remotion/public/mobile-claude.png
index 85bd7b63..ed4b152e 100644
Binary files a/tools/remotion/public/mobile-claude.png and b/tools/remotion/public/mobile-claude.png differ