HomeAboutExperienceSkillsProjectsContactBlogs
Back to Projects

Heritage watch landing page

A high-performance, interactive luxury watch landing page built with modern web technologies.

Category

Frontend

Technologies

nextjsgsap
Live DemoClient Repository

Project Details

Elegance Watch - Luxury Watch Landing Page

Project Overview

A high-performance, interactive luxury watch landing page built with modern web technologies. This project showcases advanced frontend development skills through complex animations, responsive design, and optimized user experiences.

🛠️ Technology Stack

Core Framework

  • Next.js 16 - React framework with App Router
  • React 19 - Latest React with concurrent features
  • TypeScript - Type-safe development

Styling & Animation

  • Tailwind CSS v4 - Utility-first CSS framework
  • GSAP (GreenSock Animation Platform) - Professional animation library
  • PostCSS - CSS processing and optimization

Development Tools

  • ESLint - Code linting and quality
  • Babel Plugin React Compiler - React optimization
  • pnpm - Fast package manager

Typography

  • Google Fonts: Cormorant Garamond, Geist, Space Grotesk
  • Custom font loading and optimization

🎯 Key Features Implemented

Advanced Scroll Animations

  • ScrollTrigger Integration: Complex scroll-based animations
  • Horizontal Scrolling Sections: Non-standard scroll directions
  • Parallax Effects: Multi-layered background movements
  • Staggered Animations: Coordinated element reveals

Interactive Components

  • 3D Watch Animation: SVG-based watch face with moving hands
  • Modal Systems: Order and contact modals with smooth transitions
  • Interactive Particles: Canvas-based background effects
  • Hover States: Micro-interactions throughout

Performance Optimizations

  • Image Optimization: Next.js Image component with lazy loading
  • Code Splitting: Automatic route-based splitting
  • Font Optimization: Self-hosted fonts with preload
  • Bundle Analysis: Optimized build outputs

🏗️ Architecture & Design Patterns

Component Structure

src/
├── app/                    # Next.js App Router
│   ├── layout.tsx         # Root layout with metadata
│   ├── page.tsx          # Main landing page
│   └── globals.css       # Global styles
├── components/            # Reusable UI components
│   ├── HeroSection.tsx   # Landing hero with particles
│   ├── WatchScene.tsx    # Interactive 3D watch display
│   ├── CraftsmanshipSection.tsx # Horizontal scroll section
│   ├── SpecsSection.tsx   # Technical specifications
│   ├── HeritageSection.tsx # Parallax background section
│   ├── PremiumGallery.tsx # Product showcase grid
│   ├── ExclusiveCTA.tsx   # Call-to-action section
│   ├── SpecPopup.tsx      # Product detail modal
│   ├── OrderModal.tsx     # Purchase flow modal
│   └── ContactModal.tsx   # Contact form modal
└── assets/               # Static assets (images)

State Management

  • React Hooks: useState, useRef for component state
  • GSAP Context: Animation state management
  • Modal State: Local component state for overlays

Animation Architecture

  • GSAP Timelines: Complex sequenced animations
  • ScrollTrigger: Scroll-based animation triggers
  • useGSAP Hook: React integration for GSAP
  • Scoped Animations: Component-level animation isolation

🚀 Development Challenges & Solutions

Complex Scroll Interactions

Challenge: Implementing horizontal scrolling sections with pinned containers Solution: Used GSAP ScrollTrigger with pin: true and calculated end positions dynamically

Performance with Heavy Animations

Challenge: Maintaining 60fps with multiple simultaneous animations Solution: Implemented will-change properties, used transform instead of layout properties, and optimized animation targets

Responsive Design Across Devices

Challenge: Maintaining animation integrity across different screen sizes Solution: Used responsive breakpoints, dynamic calculations, and invalidateOnRefresh for ScrollTrigger

Font Loading Optimization

Challenge: Preventing layout shift with custom fonts Solution: Implemented font-display: swap, preloaded critical fonts, and used variable fonts where possible

📱 Responsive Design

Breakpoint Strategy

  • Mobile First: Base styles for mobile devices
  • Tablet: md: breakpoint (768px+)
  • Desktop: lg: breakpoint (1024px+)
  • Large Screens: xl: breakpoint (1280px+)

Adaptive Animations

  • Reduced Motion: Respects user's motion preferences
  • Touch Interactions: Optimized for mobile touch events
  • Performance Scaling: Animation complexity scales with device capability

🎨 Design System

Color Palette

  • Primary: Black backgrounds with blue (#3B82F6) accents
  • Secondary: Zinc grays for text hierarchy
  • Accent: Blue variants for interactive elements

Typography Scale

  • Display: 7xl-9xl for hero text
  • Headings: 4xl-6xl for section titles
  • Body: lg-xl for descriptive text
  • UI: xs-sm for buttons and labels

Spacing System

  • Container: max-w-6xl/7xl for content width
  • Padding: Consistent 10-unit padding (px-10)
  • Gaps: 6-16 unit spacing between elements

🔧 Build & Deployment

Development Workflow

# Development server
pnpm dev

# Production build
pnpm build

# Type checking
pnpm lint

Build Optimization

  • Static Generation: Next.js static export for fast loading
  • Image Optimization: Automatic WebP conversion and responsive images
  • CSS Optimization: Tailwind purging and PostCSS processing
  • Bundle Splitting: Automatic code splitting by routes

Deployment

  • Vercel: Optimized for Next.js deployment
  • CDN: Global content delivery
  • Analytics: Performance monitoring

📈 Performance Metrics

Core Web Vitals

  • Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
  • First Contentful Paint: <1.5s
  • Largest Contentful Paint: <2.5s
  • Cumulative Layout Shift: <0.1

🧠 Technical Skills Demonstrated

Frontend Development

  • React 19: Latest features and hooks
  • TypeScript: Advanced types and interfaces
  • Next.js: App Router and optimization features

Animation & Interaction

  • GSAP Mastery: Complex timeline animations
  • ScrollTrigger: Advanced scroll interactions
  • SVG Animation: Vector graphics manipulation

Performance & Optimization

  • Web Performance: Core Web Vitals optimization
  • Bundle Analysis: Webpack optimization
  • Image Optimization: Modern image formats

Design & UX

  • Responsive Design: Mobile-first approach
  • Accessibility: WCAG compliant interactions
  • User Experience: Intuitive navigation and feedback

🔍 Code Quality

TypeScript Implementation

  • Strict Mode: Full type checking enabled
  • Interface Design: Well-structured component props
  • Generic Types: Reusable animation utilities

Code Organization

  • Component Composition: Modular, reusable components
  • Custom Hooks: Logic extraction and reusability
  • Utility Functions: Helper functions for common operations

Best Practices

  • Semantic HTML: Proper document structure
  • CSS Methodology: Utility-first with Tailwind
  • Performance Patterns: Optimized rendering and animations

🚀 Future Enhancements

Planned Features

  • WebGL Integration: Three.js for 3D watch models
  • CMS Integration: Content management system
  • E-commerce: Full purchase flow implementation
  • Internationalization: Multi-language support

Performance Improvements

  • Service Worker: Offline functionality
  • Progressive Loading: Component-level code splitting
  • Animation Optimization: Web Animations API integration

📚 Learning Outcomes

This project provided deep experience in:

  • Advanced React Patterns: Complex state management and effects
  • Animation Libraries: Professional animation development
  • Performance Optimization: Real-world web performance
  • Modern CSS: Advanced layout and styling techniques
  • Build Tools: Modern frontend tooling and optimization

🔗 Links

  • Live Demo: [Deployed on Vercel]
  • Source Code: [GitHub Repository]
  • Design Inspiration: Luxury watch industry standards

Built with ❤️ using Next.js, React, TypeScript, and GSAP