A modern React component showcase and experimentation platform built with Next.js 15, featuring interactive animations, UI demonstrations, and immersive experiences.
# Clone the repository
git clone https://github.com/yourusername/uiglow.git
cd uiglow
# Install dependencies
npm install
# Start development server with Turbopack
npm run devVisit http://localhost:3000 to see your application running.
UiGlow is a comprehensive showcase platform for modern UI components and interactive experiences. It features:
- π¨ Interactive Experiences - Immersive demos like fish simulations and car configurators
- π§ UI Component Library - Demonstrations of reusable UI patterns and interactions
- π± SVG Animations - Smooth, performant vector animations
- π Dark Mode - Full theme support with CSS variables
- π± Responsive Design - Mobile-first approach with modern layouts
uiglow/
βββ src/
β βββ app/ # Next.js App Router
β β βββ experiences/ # Interactive experiences
β β β βββ clock/ # World clock visualization
β β β βββ fish/ # Fish school simulation
β β β βββ slate-cars/ # Car configuration demo
β β βββ svg-animations/ # SVG-based animations
β β βββ ui-interactions/ # UI component demonstrations
β βββ components/ # Reusable React components
β β βββ core/ # App-level components
β β βββ ui/ # Shadcn/ui components
β β βββ backgrounds/ # Background components
β β βββ effects/ # Visual effects
β β βββ previews/ # Preview components
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions
βββ public/ # Static assets
βββ docs/ # Documentation
- Next.js 15.1.2 - Full-stack React framework with App Router
- React 18 - Component library with modern features
- TypeScript/JavaScript - Type-safe development (mixed usage)
- Tailwind CSS 3.4.1 - Utility-first CSS framework
- Shadcn/ui - High-quality accessible components
- CSS Variables - Dynamic theming system
- Custom Fonts - Raleway (body) & Merriweather (headings)
- Motion 12.22.0 - Performant animation library
- Lucide React - Beautiful icon library
- Custom CSS animations - Hand-crafted transitions
- Turbopack - Lightning-fast bundler
- ESLint - Code quality and consistency
- PostCSS - CSS processing pipeline
Interactive demonstrations showcasing complex UI patterns:
- Fish School Simulation - Realistic fish behavior with dynamic interactions
- World Clock - Visual timezone representation
- Car Configuration - Immersive product customization experience
Component demonstrations for common UI patterns:
- Interactive Tags - Jelly-like animated tags
- Upvote Components - Social interaction elements
- Music Player UI - Media control interfaces
- Toolbar Components - Professional app toolbars
- Button Variations - Different button styles and states
- Image Tiles - Interactive image components
Vector-based animations for smooth performance:
- Coin Flip - Physics-based flip animation
- Comet Hero - Dynamic hero animations
- Lock/Unlock - State transition animations
# Development
npm run dev # Start development server with Turbopack
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint checks
# Additional commands
npm run typecheck # Type checking (if using TypeScript)
npm run preview # Preview production build- Body Text: Raleway (300-700 weights)
- Headings: Merriweather (400, 700, 900 weights)
- Loading: Next.js font optimization with
display: 'swap'
- Base: Slate color system
- Themes: Light and dark mode support
- Custom Variables: Component-specific colors
- Semantic: Shadcn/ui color conventions
- Three-column Layout: Sidebar + Content + Sidebar
- Grid Systems: Responsive grid layouts
- Fixed Width: Optimized content containers (700-900px)
- Explore Components: Browse
/src/componentsfor reusable patterns - Study Experiences: Check
/src/app/experiencesfor complex implementations - Learn Animations: Examine
/src/app/svg-animationsfor animation techniques - Understand Structure: Review the consistent file organization
- Component Library: View live components at
/ui-interactions - Animation Patterns: See animations in action at
/svg-animations - Layout Examples: Study responsive layouts in experiences
- Theme System: Examine CSS variables in
globals.css
- Start with Simple Components: Begin in
/ui-interactions - Progress to Experiences: Move to complex
/experiences - Study Animation: Learn from
/svg-animations - Build Your Own: Use existing patterns as templates
# For UI interactions
mkdir src/app/ui-interactions/your-component
touch src/app/ui-interactions/your-component/page.js
touch src/app/ui-interactions/your-component/YourComponent.jsx- Directories:
kebab-case - Components:
PascalCase.jsx - Pages:
page.js - Configs:
kebab-case.js
Add your component to the navigation config:
// src/app/ui-interactions/navigation-config.js
export const navItems = [
// ... existing items
{ label: "Your Component", href: "/ui-interactions/your-component" },
];For homepage previews, create in /src/components/previews/
- Use TypeScript types where beneficial
- Follow existing component patterns
- Maintain consistent prop interfaces
- Document complex logic
- Optimize images and assets
- Use dynamic imports for large components
- Implement proper loading states
- Leverage Next.js built-in optimizations
- Follow ARIA guidelines
- Ensure keyboard navigation
- Maintain proper color contrast
- Test with screen readers
- Mobile-first approach
- Test on various screen sizes
- Use Tailwind responsive utilities
- Consider touch interactions
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-component - Follow naming conventions (see CLAUDE.md for details)
- Add your component with proper documentation
- Test thoroughly across different devices
- Submit a pull request with clear description
- Follow existing code patterns
- Add components to appropriate sections
- Include responsive design considerations
- Test both light and dark themes
- Update navigation configs as needed
- CLAUDE.md - Detailed technical context for AI agents and developers
- components.json - Shadcn/ui configuration
- tailwind.config.mjs - Tailwind customization
- next.config.mjs - Next.js configuration
Build Errors:
npm run build
# Check for TypeScript errors or missing dependenciesStyle Issues:
- Verify Tailwind classes are correct
- Check CSS variable definitions in
globals.css - Ensure proper theme switching
Import Errors:
- Verify file paths match the naming conventions
- Check if components are properly exported
- Ensure all dependencies are installed
This project is open source and available under the MIT License.
- Next.js - The React Framework
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Re-usable components
- Motion - Animation library
- Lucide - Icon library
Made with β€οΈ and modern web technologies
UiGlow - Where components come to life