A premium keyboard showcase website featuring immersive 3D animations and interactive scroll experiences
- Interactive 3D Keyboard Models with realistic lighting and materials
- Scroll-triggered Animations powered by GSAP ScrollTrigger
- Mouse Parallax Effects for enhanced user engagement
- Dynamic Camera Controls with smooth transitions
- Real-time Keycap Color Changer - Customize keyboard aesthetics
- Switch Playground - Explore different mechanical switches
- Animated Hero Section with wave effects and smooth reveals
- Dynamic Marquee with bidirectional text scrolling
- Next.js 15.5.4 with Turbopack for lightning-fast builds
- React 19 with latest features and optimizations
- Three.js & React Three Fiber for 3D graphics
- GSAP for professional animations
- Tailwind CSS 4.0 for modern styling
- Prismic CMS for content management
- Purchase Integration with checkout system
- Responsive Design across all devices
- SEO Optimized with Next.js best practices
- CMS-Driven Content for easy management
- Node.js 18+
- Bun (recommended) or npm/yarn
- Git
- Clone the repository
git clone https://github.com/yourusername/nimbus-keyboard.git
cd nimbus-keyboard- Install dependencies
bun install
# or
npm install- Set up environment variables
# Create .env.local file
cp .env.example .env.local
# Add your Prismic repository details
NEXT_PUBLIC_PRISMIC_ENVIRONMENT=your-repo-name
PRISMIC_ACCESS_TOKEN=your-access-token- Run the development server
bun dev
# or
npm run dev- Open your browser
http://localhost:3000
| Command | Description |
|---|---|
bun dev |
Start development server with Turbopack |
bun build |
Build for production |
bun start |
Start production server |
bun lint |
Run ESLint |
bun slicemachine |
Start Prismic Slice Machine |
nimbus-keyboard/
βββ π public/ # Static assets
β βββ πΌοΈ *.jpg # Keyboard images
β βββ π¨ *.png # Textures & materials
βββ π src/
β βββ π app/ # Next.js app directory
β βββ π components/ # Reusable components
β β βββ πΉ Keyboard/ # 3D keyboard component
β β βββ π Keycap/ # Individual keycap
β β βββ ποΈ Switch/ # Switch component
β β βββ π§ Nav-bar/ # Navigation
β β βββ π₯ Footer/ # Footer
β β βββ β‘ Loader/ # Loading screen
β βββ π slices/ # Prismic slices
β β βββ π¬ Hero/ # Hero section
β β βββ π¨ ColorChanger/ # Color customization
β β βββ ποΈ SwitchPlayground/ # Switch interaction
β β βββ πββοΈ Marquee/ # Scrolling text
β β βββ π¦ BentoBox/ # Features grid
β β βββ π³ PurchaseButton/ # CTA section
β βββ π checkout/ # Purchase logic
βββ π customtypes/ # Prismic schemas
βββ π Configuration files
- Realistic Materials: PBR textures and lighting
- Interactive Elements: Clickable keys and switches
- Performance Optimized: Efficient rendering and memory usage
- Real-time Preview: Instant keycap color updates
- Material Variants: Multiple texture options
- Smooth Transitions: GSAP-powered color morphing
- Interactive Testing: Click and feel different switches
- CMS Integrated: Dynamically loaded switch types
- Educational: Learn about mechanical switches
- π Wave Animations: Cascading effects across keyboard
- π Scroll Triggers: Content reveals on scroll
- π±οΈ Mouse Parallax: Dynamic camera movement
- β‘ Loading States: Smooth transitions and feedback
- πͺ Text Animations: SplitText and morphing effects
- π± Mobile First: Optimized for all screen sizes
- π» Desktop Enhanced: Rich interactions on larger screens
- βΏ Accessible: WCAG compliant with motion preferences
- β‘ Performance: Optimized loading and rendering
- Next.js 15.5.4 - React framework with app router
- React 19.1.0 - Latest React with concurrent features
- TypeScript 5 - Type-safe development
- Tailwind CSS 4.0 - Utility-first styling
- Three.js 0.180.0 - 3D graphics library
- @react-three/fiber - React renderer for Three.js
- @react-three/drei - Useful helpers and components
- GSAP 3.13.0 - Professional animation library
- Prismic CMS - Headless content management
- Slice Machine - Component-driven development
- Radix UI - Accessible component primitives
- React Icons - Popular icon library
- Clsx - Conditional CSS classes
- β‘ Turbopack: Next-gen bundler for faster builds
- π Code Splitting: Automatic route-based splitting
- πΌοΈ Image Optimization: Next.js automatic optimization
- π¦ Tree Shaking: Eliminate unused code
- π Static Generation: Pre-rendered pages when possible
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prod- Netlify:
npm run buildthen deploydist/ - Railway: Connect GitHub repo
- DigitalOcean: Use App Platform
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'β¨ feat: add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Rushikesh Palande
- GitHub: RISHII7
- Portfolio: Click here
- Prismic - For the amazing CMS
- Three.js - For 3D capabilities
- GSAP - For smooth animations
- Vercel - For seamless deployment
Give a βοΈ if you like this project!
Built with β€οΈ for the mechanical keyboard community
Live Demo β’ Features β’ Quick Start β’ Contributing





