Apple Website Showcase
A pixel-perfect replica of Apple's website with advanced interactions and features built with React, Vite, and Tailwind CSS. This project showcases cutting-edge web development techniques and interactive user experiences.
π Features
Core Features
- Pixel-perfect design matching Apple's official website
- Responsive layout that works on all device sizes
- Performance optimized with lazy loading and code splitting
- Interactive 3D iPhone models using Three.js and React Three Fiber
Advanced Custom Features
- Dynamic IslandβStyle Navigation - A floating, animated navigation bar inspired by iPhone's Dynamic Island that expands/contracts with user interactions
- "Try in AR" Mock Feature - Simulated AR experience that allows users to view iPhone 16 models in 3D space
- AI-Based Recommendation Section - Personalized product recommendations based on user browsing behavior
- Interactive Comparison Tool - Side-by-side comparison of iPhone models with interactive category selection
- Personalized Product Showcase - Uses localStorage to remember user preferences
- Siri-Like Voice Assistant - Voice command interface for navigating the website using the Web Speech API
- Next-Level Animations - Smooth, high-quality animations using GSAP and Framer Motion
- Accessibility Excellence - ARIA support, semantic HTML, and keyboard navigation
π οΈ Technologies Used
- React - UI component library
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- GSAP - Professional-grade animation library
- Framer Motion - Animation library for React
- Three.js - 3D rendering library
- React Three Fiber - React renderer for Three.js
- Web Speech API - Voice recognition and synthesis
π± Screenshots

π Getting Started
Prerequisites
- Node.js 18+ installed
- npm or yarn
Installation
Clone the repository
git clone https://github.com/Vishal141014/Apple-Website-Showcase
cd apple-website-showcase
Install dependencies
npm install
# or
yarn
Start the development server
npm run dev
# or
yarn dev
Open your browser and navigate to http://localhost:5173
ποΈ Project Structure
/
βββ public/ # Static files
β βββ models/ # 3D model files
β βββ assets/ # Images and other assets
βββ src/
β βββ components/ # React components
β β βββ DynamicIslandNav.jsx
β β βββ ARViewer.jsx
β β βββ AIRecommendations.jsx
β β βββ PhoneComparison.jsx
β β βββ VoiceAssistant.jsx
β β βββ ...
β βββ constants/ # Constants and configuration
β βββ utils/ # Utility functions
β βββ App.jsx # Main application component
β βββ main.jsx # Application entry point
βββ index.html # HTML template
βββ package.json # Project dependencies
- Lazy Loading - Images and components are loaded as needed
- Code Splitting - JavaScript is split into smaller chunks for faster load times
- Image Optimization - Images are served in appropriate sizes and formats
- Caching - User preferences are stored in localStorage
π― Focus on Accessibility
- Semantic HTML - Properly structured HTML for better screen reader support
- ARIA Attributes - Enhanced accessibility for interactive elements
- Keyboard Navigation - Full support for keyboard-only users
- Reduced Motion Option - Considerations for users who prefer reduced motion
- Color Contrast - WCAG-compliant color contrast ratios
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
- Apple Inc. for the design inspiration
- Three.js community for the amazing 3D rendering capabilities
- The React ecosystem for making interactive UIs so approachable