A cinematic, scroll-driven single-page website that tells the story of Yume – an iPad bedtime app for parents and children.
- Scroll-driven animations: Smooth, performant animations using IntersectionObserver and CSS transitions
- Responsive design: Mobile-first approach with breakpoints for tablet and desktop
- Accessibility: WCAG AA compliant with reduced motion support
- Modern tech stack: React + Vite for fast development and optimized builds
- Node.js 16+ and npm
- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser to
http://localhost:5173
npm run buildThe built files will be in the dist directory.
src/
├── components/ # Reusable components (Navigation, Footer)
├── sections/ # Page sections (Hero, Features, Plans, etc.)
├── App.jsx # Main app component
├── App.css # App styles
├── main.jsx # Entry point
└── index.css # Global styles and design system
Place the following assets in the public/assets/ directory:
hero-problem.jpg- Child lit by tablet (dark)rest-mother-child.jpg- Mother and child cuddling with warm lampyume-tablet-video.mp4- Rotating/hovering tablet videologo-yume-wordmark.svg- Large "YUME" logo (optional, currently using text)icon-yume-app.svg- App icon (optional, currently using placeholder)
- Hero/Problem - Dark, emotional introduction to the problem
- Rest/Solution - Warm, hopeful transition introducing Yume
- Product Video - Scroll-scrubbed iPad video showcase
- Logo Transition - Animated logo movement from center to header
- Logo Explainer - App icon and clear explanation
- Features - Horizontal scrolling feature cards
- Plans & CTA - Pricing tiers and final call-to-action
The site uses a carefully crafted color palette and typography system defined in src/index.css:
- Colors: Navy blues, soft blues, and cream accents
- Typography: DM Sans for headings and body, Dancing Script for accents
- Spacing: Consistent padding and margins across breakpoints
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Mobile browsers (iOS Safari, Chrome Mobile)
- Reduced motion support for accessibility
Private project - All rights reserved