ηΉι«δΈζ | English
Build stunning product showcase videos with code. A Remotion toolkit featuring realistic device frames, animated cursors, and ready-to-use templates.
Create professional SaaS demo videos in minutes β no After Effects, no Figma exports. Just React.
| Component | Description |
|---|---|
PhoneFrame |
iPhone frame with Dynamic Island, status bar, and home indicator |
BrowserFrame |
macOS browser chrome with traffic lights and URL bar |
Cursor |
Smooth arrow and pointer hand cursor with click animations |
BaseButton |
Multi-variant button (primary, secondary, danger, ghost, outline) |
BaseInput |
Form input with labels, errors, and helper text |
NumberTicker |
Animated number counter with easing |
TextOverlay |
Spring-animated text overlay with alignment options |
Indicator |
Visual focus indicator (box, circle, pointer) with pulsing |
# Install dependencies
pnpm install
# Preview in browser
pnpm start
# Render to MP4
pnpm build MobileAppDemo # Mobile sign-up β dashboard flow
pnpm build DashboardDemo # Desktop admin dashboardsrc/
βββ components/ # Core reusable components
β βββ PhoneFrame.tsx
β βββ BrowserFrame.tsx
β βββ Cursor.tsx
β βββ BaseButton.tsx
β βββ BaseInput.tsx
β βββ NumberTicker.tsx
β βββ TextOverlay.tsx
β βββ Indicator.tsx
β βββ index.ts
βββ templates/ # Ready-to-use showcase templates
β βββ MobileAppDemo.tsx # π± Mobile app sign-up + dashboard
β βββ DashboardDemo.tsx # π₯οΈ Desktop admin with charts
βββ app.tsx # Remotion entry point
βββ style.css # Tailwind CSS 4 theme
A complete mobile app showcase featuring:
- Animated sign-up form with cursor typing
- Success modal with spring animation
- Dashboard transition with stats cards
A desktop admin panel showcase featuring:
- Sidebar navigation with page transitions
- Animated bar chart and number tickers
- Data table with status badges
- Remotion β React-based video creation
- Tailwind CSS 4 β Utility-first styling
- TypeScript β Type safety
- React 18 β UI framework
- Scripting Guide β How to plan, script, and produce showcase videos (voiceover workflow, timing, checklists)
import { PhoneFrame, Cursor, BaseButton } from './components';
const MyScene: React.FC = () => {
const frame = useCurrentFrame();
return (
<AbsoluteFill>
<PhoneFrame>
<div className="p-6">
<h1>My App</h1>
<BaseButton variant="primary">Get Started</BaseButton>
</div>
</PhoneFrame>
<Cursor x={200} y={300} isClicking={frame >= 60} />
</AbsoluteFill>
);
};import { Composition } from 'remotion';
export const MyShowcase: React.FC = () => (
<Composition
id="MyShowcase"
component={MyScene}
durationInFrames={300}
fps={30}
width={1920}
height={1080}
/>
);MIT
Built with β€οΈ using Remotion.