Banner Background
Web App

SlimQook

SlimQook is a high-end culinary landing page that showcases advanced front-end engineering with production-grade animation systems. Built on React 19, Vite 8, and Tailwind CSS v4, it implements multi-layer parallax scrolling with spring physics, custom Framer Motion variants with Apple-style easing curves, and Lenis smooth scroll for buttery momentum physics. The design philosophy centers on editorial photography with dramatic lighting, rounded glass-morphism cards with backdrop blur, and sophisticated micro-interactions. Every animation respects prefers-reduced-motion for accessibility, while scroll-linked parallax creates cinematic depth with independent motion speeds across hero imagery, glowing lamp effects, and floating particle systems.

React JSTypescriptTailwind CSSFramer MotionViteViteEsLintESLintPostCSSpnpmGitGithubVercel
SlimQook Preview

Overview

SlimQook is a premium, Apple-inspired landing page for an exclusive private chef service. Built with React 19, TypeScript 6, and Tailwind CSS v4, it showcases sophisticated web design and animation techniques that rival Apple's own product pages.

The project demonstrates mastery of production-grade animation systems, featuring cinematic parallax effects, custom Framer Motion variants, Lenis smooth scroll with momentum physics, and meticulously crafted micro-interactions.

Design Philosophy

SlimQook implements an Apple-inspired premium aesthetic with tight typography, dark editorial photography with dramatic lighting, rounded glass-morphism cards, warm amber accents, and cinematic animations with custom exponential easing curves.


Animation Architecture

The heart of SlimQook is its production-grade animation system — a custom motion library built on Framer Motion that powers every interaction throughout the page.

Custom Motion Library

All animations are orchestrated through a centralized motion library that provides reusable animation variants with consistent timing and easing.

// Apple-style easing curves
export const EASE_APPLE = [0.16, 1, 0.3, 1];

// Fade animations
export const fadeIn = {
  initial: { opacity: 0 },
  animate: { opacity: 1 },
  transition: { duration: 0.6, ease: EASE_APPLE }
};

// Staggered children
export const staggerContainer = {
  animate: {
    transition: { staggerChildren: 0.1, delayChildren: 0.2 }
  }
};

Performance

All animations use CSS transforms for GPU acceleration, ensuring 60fps performance.


Multi-Layer Parallax System

The hero section features an advanced multi-layer parallax effect where different elements move at independent speeds as you scroll, creating cinematic depth.

SlimQook hero section with multi-layer parallax

Custom Parallax Hook

export function useParallax(speed: number = 0.5) {
  const ref = useRef<HTMLElement>(null);
  const { scrollYProgress } = useScroll({
    target: ref,
    offset: ["start start", "end start"]
  });
  
  const y = useTransform(scrollYProgress, [0, 1], ["0%", `${speed * 100}%`]);
  const smoothY = useSpring(y, { stiffness: 100, damping: 30, mass: 0.5 });
  
  return { ref, y: smoothY };
}

Hero Implementation

The hero uses three independent parallax layers:

  • Background Image (+20% speed) — Creates depth behind content
  • Glow Effect (-44% speed) — Dramatic revealing effect
  • Content (-34% speed) — Text stays visible longer

Additional scroll-reactive effects include vignette intensification, exit blur, and floating particle systems.


Lenis Smooth Scroll

SlimQook uses Lenis for hardware-accelerated momentum scrolling with natural damping physics.

const lenis = new Lenis({
  duration: 1.2,
  easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),
  smooth: true,
  smoothTouch: false // Disabled on mobile
});

Spring Physics:

  • Stiffness: 100 (balanced feel)
  • Damping: 30 (smooth deceleration)
  • Mass: 0.5 (light, responsive feel)

Premium Components

SlimQook features 13 modular components designed for reusability:

Core UI:

  • Reveal — Scroll-triggered animation wrapper
  • AnimatedHeading — Text reveal with line-up animation
  • PillButton — Rounded CTA with hover effects
  • ArrowUpRight — Animated SVG icon component

Page Sections:

  • Navbar (glass-morphism with scroll detection)
  • Hero (full-screen parallax)
  • Services (glass cards with hover zoom)
  • Gallery (horizontal scroll-snap carousel)
  • Quote (word-by-word animation)
  • FAQ (animated accordion)
  • Contact (form section)
  • Footer

The gallery section features a horizontal scroll-snap carousel with custom navigation arrows.

SlimQook gallery - gourmet dishes
<div 
  ref={scrollRef}
  className="flex gap-6 overflow-x-auto snap-x snap-mandatory scroll-smooth"
>
  {images.map((img, idx) => (
    <motion.div
      key={idx}
      initial={{ opacity: 0, x: 40 }}
      whileInView={{ opacity: 1, x: 0 }}
      className="snap-center shrink-0 w-[85vw] md:w-[500px]"
    >
      <img src={img} className="w-full h-[400px] object-cover rounded-2xl" />
    </motion.div>
  ))}
</div>

Quote Section

Features word-by-word animated quote with a parallax image band.

SlimQook quote section - elegant dining

Each word animates in sequence with an 80ms delay while a parallax image strip moves behind the text using mix-blend-mode: overlay.


Accessibility

SlimQook is accessibility-first with comprehensive WCAG compliance:

Reduced Motion Support:

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

Additional Features:

  • Semantic HTML5 structure (<header>, <nav>, <main>, <section>, <footer>)
  • ARIA labels on decorative elements (aria-hidden="true")
  • Full keyboard navigation with visible focus states
  • Descriptive alt text on all meaningful images
  • Scroll margin for anchor links to clear fixed navbar

Performance Optimizations

GPU Acceleration

.hero-image {
  will-change: transform;
  transform: translateZ(0);
}

Best Practice

will-change is only applied during active animations and removed afterward to prevent creating too many compositor layers.

Image Optimization

  1. Format: WebP with JPEG fallback (90% smaller)
  2. Sizing: Multiple sizes via srcset based on viewport
  3. Lazy Loading: Native loading="lazy" for below-fold images
  4. Compression: 80% quality (imperceptible loss, 50-70% size reduction)

React 19 Features

  • Automatic batching for multiple state updates
  • Transitions for non-urgent updates (gallery navigation)
  • Optimized re-renders with concurrent features

Technology Stack

Core:

  • React 19.2 (concurrent features, automatic batching)
  • TypeScript 6.0 (strict mode, full type safety)
  • Vite 8.0 (instant HMR, optimized builds)
  • Tailwind CSS v4 (custom design tokens)

Animation & UX:

  • Framer Motion 12.40 (spring physics, scroll animations)
  • Lenis 1.3 (smooth scroll with momentum)

Development:

  • ESLint 10 (React hooks, TypeScript plugins)
  • Type-safe configuration across build tools

Project Structure

slimcook/
├── src/
│   ├── components/
│   │   ├── ui.tsx
│   │   ├── Navbar.tsx
│   │   ├── Hero.tsx
│   │   ├── Services.tsx
│   │   ├── Gallery.tsx
│   │   ├── Quote.tsx
│   │   ├── Faq.tsx
│   │   ├── Contact.tsx
│   │   └── Footer.tsx
│   ├── lib/
│   │   ├── motion.ts
│   │   ├── smoothScroll.ts
│   │   └── useParallax.ts
│   ├── App.tsx
│   └── main.tsx
├── public/images/
├── vite.config.ts
├── tsconfig.json
└── package.json

Development Workflow

# Install dependencies
npm install

# Start dev server
npm run dev

# Type checking
tsc --noEmit

# Linting
npm run lint

# Production build
npm run build

# Preview build
npm run preview

Frequently Asked Questions


Key Achievements

1. Advanced Animation Systems — Production-grade motion library with reusable variants, custom easing curves, and stagger animations demonstrating mastery of complex animation orchestration.

2. Performance Optimization — Consistent 60fps through strategic GPU acceleration, optimized re-renders with React 19, and efficient scroll event handling.

3. Accessibility Excellence — Comprehensive WCAG compliance with reduced-motion support, semantic HTML, ARIA labels, and full keyboard navigation.

4. Modern Tooling Mastery — Bleeding-edge tools (Vite 8, React 19, TypeScript 6, Tailwind v4) showcasing ecosystem expertise.

5. Design-to-Code Translation — Pixel-perfect Apple-inspired premium aesthetic from concept to production.


Live Experience

Visit the Live Application to experience the cinematic parallax effects, smooth scroll physics, and premium animations. Best viewed on desktop for the full parallax experience.


Project Metrics:

  • 13 Custom Components
  • 8+ Animation Variants
  • 100% TypeScript Coverage
  • 60fps Performance
  • WCAG Compliant
  • ~180KB Bundle Size