FreeCards
Spotlight Metric Card
Use this component for proof points, KPI highlights, dashboard summaries, and case-study metrics that deserve more visual weight than a plain number.
ReactTailwind CSSMotionCard
Conversion
38%
More demo calls after adding product proof above the fold.
Overview
A hover-aware metric card with a soft spotlight and animated progress bar.
Framework
React
Styling
Tailwind CSS
Animation
Motion
Create a Vite React project
bashnpm create vite@latest my-ui-app -- --template react-ts
cd my-ui-app
npm installCreate a Next.js project
bashnpx create-next-app@latest my-ui-app --typescript --tailwind --eslint
cd my-ui-appAdd Tailwind CSS to Vite
bashnpm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -pInstall dependencies
bashnpm install framer-motionUsage
tsx<SpotlightMetricCard />Spotlight Metric Card.tsx
tsx"use client";
import { motion } from "framer-motion";
export function SpotlightMetricCard() {
return (
<div className="group relative overflow-hidden rounded-xl border border-white/10 bg-zinc-950 p-5 text-white">
<div className="absolute inset-0 opacity-0 transition-opacity duration-500 group-hover:opacity-100">
<div className="absolute left-1/2 top-1/2 h-56 w-56 -translate-x-1/2 -translate-y-1/2 rounded-full bg-lime-300/15 blur-3xl" />
</div>
<div className="relative flex min-h-[220px] flex-col justify-between rounded-lg border border-white/10 bg-white/[0.04] p-5">
<p className="text-xs font-semibold uppercase tracking-[0.2em] text-lime-300">
Conversion
</p>
<div>
<p className="text-5xl font-black">38%</p>
<p className="mt-2 text-sm text-zinc-400">
More demo calls after adding product proof above the fold.
</p>
</div>
<div className="h-2 overflow-hidden rounded-full bg-white/10">
<motion.div
initial={{ width: "20%" }}
whileInView={{ width: "72%" }}
viewport={{ once: true }}
transition={{ duration: 0.8 }}
className="h-full rounded-full bg-lime-300"
/>
</div>
</div>
</div>
);
}