A live, interactive pitch presentation built with React and Next.js that demonstrates CIRO AI's real-time capabilities through code.
This isn't just a prettier PowerPoint. It's a dynamic presentation that:
- ✨ Live cost counters showing accumulating industrial inefficiencies
- 🎯 Interactive navigation with smooth animations
- 📊 Real-time charts and growth metrics
- 🎮 Keyboard controls for seamless presenting
- 💫 Animated architecture diagrams with data flows
- 🔥 Presentation mode for distraction-free demos
- Frontend: React 18 + Next.js 14
- Animations: Framer Motion
- Charts: Recharts + D3.js
- Styling: Tailwind CSS
- Icons: Lucide React
- Deployment: Vercel-ready
-
Install dependencies:
npm install
-
Start development server:
npm run dev
-
Open in browser:
http://localhost:3000
| Key | Action |
|---|---|
← → |
Navigate slides |
Space |
Next slide |
F |
Toggle presentation mode |
Esc |
Exit presentation mode |
- Live cost counter ticking up in real-time
- Heartbeat animation with glowing effects
- Animated CIRO architecture with data flows
- Orbital component system with connecting lines
- Live MRR counter animation
- Real-time revenue accumulator
- Interactive growth charts
- Rotating CIRO logo animation
- Pulsing contact information
The CIRO brand colors are defined in tailwind.config.js:
ciro: {
500: '#f97316', // Main CIRO orange
// ... other shades
}- Create component in
components/slides/ - Add to slides array in
app/page.tsx - Export from component file
Modify delays in Framer Motion components:
transition={{ duration: 0.8, delay: 1.2 }}npm run build
vercel deploynpm run build
npm startciro-dynamic-pitch-deck/
├── app/ # Next.js app router
│ ├── globals.css # Global styles & animations
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main presentation
├── components/slides/ # Individual slide components
├── tailwind.config.js # CIRO brand styling
└── package.json # Dependencies
- Counters:
const [count, setCount] = useState(0)
useEffect(() => {
const timer = setInterval(() => {
setCount(prev => prev + 1)
}, 100)
return () => clearInterval(timer)
}, [])- Animations:
<motion.div
initial={{ opacity: 0, y: 30 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.8 }}
>- Lighthouse Score: 95+
- Load Time: <2s on fast 3G
- Smooth 60fps animations
- Responsive on all devices
Perfect for:
- Investor pitches with live data
- Demo days requiring technical credibility
- Client presentations showing real capabilities
- Conference talks with interactive elements
- Fork the repository
- Create feature branch:
git checkout -b feature/new-slide - Commit changes:
git commit -m 'Add market slide animation' - Push branch:
git push origin feature/new-slide - Submit pull request
MIT License - see LICENSE file for details.
Built with ❤️ by CIRO AI Labs
Transforming industrial intelligence, one slide at a time.
Experience the dynamic pitch deck: deck.cirolabs.ai
Questions? Contact victor@cirolabs.ai