
Evil Buttons is 28 animated shadcn/ui buttons that dodge, doubt, glitch, and stare back. Free, open source, one command to install.
The Hook
“(No spoken dialogue — Dynamic electronic score with chiptune elements, pizzicato synths, sub-bass, and 808-style drums. High-energy audio transitions, risers, sweeps, and sub-bass drops.)”
Product Reveal
“(No spoken dialogue — The electronic score intensifies with a build-up and a dramatic drop, emphasizing the reveal.)”
Feature Teaser
“(No spoken dialogue — The electronic music maintains its energetic pace, with rhythmic synth patterns and percussive hits highlighting the on-screen text.)”
Call to Action
“(No spoken dialogue — The electronic score builds to a final crescendo, incorporating more complex melodic lines and a strong rhythmic drive, concluding with a definitive sound effect.)”
Synthesizable in Remotion · key components of the evil-buttons-style-launch template.
A button component that reacts to a cursor hover or click with dynamic text changes, shape morphs, and subtle visual effects like glows, shakes, or pixelation.
Utilize Remotion's `interpolate` and `spring` for smooth transitions between states. Implement `useCurrentFrame` and `useVideoConfig` to synchronize animations with the timeline. Use SVG filters for glows and blurs, and conditional rendering for text changes and particle effects.
Multiple UI components (buttons in this case) are introduced onto the screen in a staggered, non-uniform grid, often with slight rotations and depth, creating a sense of organized chaos.
Employ `Sequence` and `AbsoluteFill` for precise positioning. Animate `transform` properties (translate, rotate, scale) using `spring` for organic movement. Stagger the `from` prop of `Sequence` for each button to create the staggered reveal effect.
A block of code or command-line text appears character by character, simulating a typing effect, often within a stylized terminal or code editor interface.
Use `split` to break the text into individual characters. Animate the `opacity` and `transform` (e.g., slight Y-axis shift) of each character using `Sequence` and `interpolate`, with a small delay for each subsequent character to create the typing effect.
Purpose. Establish the mundane status quo of UI buttons and create a relatable pain point for developers seeking more dynamic interactions.
Execution. Showcasing generic, predictable button interactions with a cursor, setting up the contrast for the product's 'evil' nature.
Purpose. Introduce Evil Buttons as the answer to boring UI, highlighting their unique, rebellious, and animated characteristics.
Execution. A rapid-fire montage of various 'evil' buttons demonstrating their distinct, often mischievous, animations and behaviors.
Purpose. Showcase the simplicity of integrating Evil Buttons into a project, appealing to developers with a clear, concise command.
Execution. A clean, animated code snippet demonstrating the installation command, followed by a quick browser demo.
Purpose. Direct viewers to the product website to explore the full range of 'evil' buttons and encourage adoption.
Execution. A final reveal of the website URL and logo, with a dynamic display of many buttons, reinforcing the product's breadth.
Objective
Launch a new AI-powered code refactoring tool called 'Syntax Sorcerer' that intelligently reworks code with a magical, unpredictable flair.How the recipe adapts
The 'InteractiveButtonState' primitive would be adapted for 'Syntax Sorcerer' by having code blocks or UI elements react to a 'magic wand' cursor with shimmering particle effects, code lines re-arranging themselves with a 'snap' animation, and text transforming with a 'glitch-to-reveal' effect. The 'DynamicGridReveal' would show multiple code snippets or refactoring options appearing with a magical 'poof' and slight rotation. The 'CodeSnippetTypewriter' would be enhanced with a 'spell-casting' sound effect and a magical glow around the appearing characters, emphasizing the AI's 'sorcery'.Scene durations (4 scenes, 77s)
Key Remotion components

A vibe design partner with an AI-native canvas for turning ideas into UI.

We heard you wanted to use Codex rate limit resets on your own time. Starting today, we’re rolling out the ability to save rate limit resets to use later. We’re starting Go, Plus, Pro, and Business

We just launched something the VFX community has been waiting for. OpenArt VFX lets you apply real visual effects to footage you already have. It lets you mask any region of your video and replace it with AI-generated content that matches the scene's lighting and physics. https://t.co/dnQjrZCWC4