All requirements have been successfully implemented for the "Ready to Start Building?" CTA section.
src/components/cta-section.tsx- Main animated CTA componentsrc/app/cta/page.tsx- Test page for the componentCTA_COMPONENT_GUIDE.md- Developer guideCTA_IMPLEMENTATION.md- This file
- Centered content layout
- Heading: "Ready to Start Building?"
- Description text as specified
- Two CTA buttons side by side (responsive stacking on mobile)
- "Get Started" button (filled/dark style)
- "View GitHub" button (outlined style with icon)
- Geometric blocks with diagonal line patterns
- Mix of filled and outlined rectangles
- Asymmetric layout around content
- Clear center content area
- Subtle, creative animations using Framer Motion
- Non-interfering with main CTA content
- Smooth performance (60 FPS)
- Seamless, continuous looping
- Floating/Drifting: Gentle Y-axis movement on all geometric blocks
- Rotation: Subtle rotation animations on multiple elements
- Parallax on Scroll: Elements move at different speeds
- Mouse Interaction: Parallax effect based on mouse position
- Opacity Pulsing: Fade in/out effects on decorative elements
- Scale Pulsing: Subtle scale changes for depth
- Wave Effect: Diagonal lines have wave-like motion
- Depth Movement: Z-axis visual effect using scale and opacity
- Content centered horizontally and vertically
- Geometric blocks around edges
- No overlap with center content
- Proper whitespace maintained
- Responsive: blocks adapt on smaller screens
- Some blocks hidden on mobile (lg:block)
- Next.js - Framework
- Tailwind CSS - Styling & Layout
- Framer Motion - Background animations (instead of p5.js/Three.js)
- SVG/CSS - Geometric elements
- React Hooks - State management
- No console errors
- Follows project conventions
- TypeScript types included
- Proper component structure
- Clean, maintainable code
- Comments for clarity
| Element | Animation Type | Duration | Effect |
|---|---|---|---|
| Top Left Diagonal | Float + Rotate + Mouse Parallax | 8s | Gentle Y movement with 2° rotation |
| Top Left Box | Float + Rotate + Scroll Parallax | 10s | Vertical drift with subtle tilt |
| Top Right Diagonal | Pulse + Float + Mouse Parallax | 7s | Opacity fade with Y movement |
| Top Right Box | Float + Rotate + Scroll Parallax | 12s | Smooth floating with rotation |
| Bottom Left Small Box | Drift + Mouse Parallax | 9s | X and Y movement |
| Bottom Left Large Box | Scale Pulse + Scroll Parallax | 11s | Scale 1-1.02 with drift |
| Bottom Left Diagonal | Wave + Opacity | 6s | Horizontal wave motion |
| Bottom Right Diagonal | Rotate + Float + Mouse Parallax | 10s | 5° rotation with Y drift |
| Bottom Right Box | Float + Mouse Parallax | 8s | Y and X movement |
| Center Large Boxes | Opacity + Scale + Mouse Parallax | 13-15s | Depth effect with gentle scaling |
- Mouse Parallax: Elements respond to cursor position with varying sensitivity (0.2x - 0.5x)
- Scroll Parallax: Uses
useScrollhook with different transform ranges (-50px to +50px)
- Fade In: Main content fades in on load (0.8s duration)
- Staggered Reveal: Heading → Description → Buttons (0.2s delays)
- Button Hover: Scale to 1.05 with spring physics
- Button Tap: Scale to 0.95 for tactile feedback
http://localhost:3000/cta
- All geometric elements are visible
- Animations are smooth (no jank)
- Mouse movement creates parallax effect
- Scrolling creates depth effect
- Buttons are clickable and responsive
- "Get Started" links to
/docs/getting-started - "View GitHub" opens in new tab
- Dark mode works correctly
- Mobile responsive (test at 375px, 768px, 1024px)
- No console errors
# Open Chrome DevTools
# Navigate to Performance tab
# Record while interacting with the page
# Check for 60 FPS during animations- Buttons stack vertically
- Text size reduced
- Large decorative boxes hidden
- Animations remain smooth
- Buttons side by side
- Medium text sizes
- All elements visible
- Full layout as designed
- Large decorative boxes visible
- Maximum animation effects
git statusgit add src/components/cta-section.tsx
git add src/app/cta/page.tsx
git add CTA_COMPONENT_GUIDE.md
git add CTA_IMPLEMENTATION.mdgit commit -m "feat: implement animated CTA section with Framer Motion
- Add CTA section component with geometric background
- Implement subtle floating, rotation, and parallax animations
- Add mouse and scroll-based parallax effects
- Ensure pixel-perfect UI matching Figma design
- Fully responsive across all device sizes
- Uses Framer Motion for smooth 60 FPS animations
- Dark mode support included
Closes #[issue-number]"git push origin your-branch-name- Go to GitHub repository
- Click "New Pull Request"
- Select your branch
- Fill in PR template:
- Description of changes
- Screenshots/GIFs of animations
- Checklist of completed requirements
- Link to the issue number
- Submit for review
Capture these for your pull request:
- Desktop view (light mode)
- Desktop view (dark mode)
- Mobile view
- GIF showing animations in action
- GIF showing mouse parallax effect
- Button hover interactions
transition={{
duration: 8, // Lower = faster, Higher = slower
repeat: Infinity,
ease: "easeInOut",
}}style={{
x: mousePosition.x * 0.5, // Change multiplier (0.1-1.0)
y: mousePosition.y * 0.5,
}}// Change border colors
className = 'border-2 border-gray-300 dark:border-gray-700';
// Change diagonal line colors
className =
'bg-[repeating-linear-gradient(45deg,transparent,transparent_8px,#9ca3af_8px,#9ca3af_9px)]';<motion.div
className="absolute top-20 left-20 w-40 h-40 border-2"
animate={{
y: [0, -15, 0],
rotate: [0, 2, 0],
}}
transition={{
duration: 10,
repeat: Infinity,
ease: 'easeInOut',
}}
style={{
x: mousePosition.x * 0.3,
y: mousePosition.y * 0.3,
}}
/>- Check browser DevTools Performance tab
- Reduce number of animated elements on mobile
- Consider using
will-change: transformCSS
- Verify
useStateanduseEffectare imported - Check console for errors
- Ensure mouse event listener is attached
- Check z-index values (background should be lower)
- Verify
pointer-events: noneon background container - Adjust element positioning
- Ensure z-index of content is higher than background
- Check that no transparent overlay is blocking
- Verify Link components are properly wrapped
- Performance: GPU-accelerated transforms ensure 60 FPS
- Creativity: Multiple animation types create visual interest
- Subtlety: Animations enhance without distracting
- Interactivity: Mouse and scroll parallax add depth
- Accessibility: Maintains readability and usability
- Responsiveness: Works beautifully on all devices
- Maintainability: Clean code with clear structure
- Dark Mode: Seamless theme switching
🎉 You're ready to submit your work! Good luck with your PR!