Marketing site for Zingy: a scroll-driven landing experience with 3D content and WebGL scenes (product hero, carousel, and narrative sections).
Production: zingy-drink.vercel.app
- Application: Next.js 16 (App Router), React 19, TypeScript
- Styling: Tailwind CSS 4
- 3D: Three.js, React Three Fiber, Drei
- Animation: GSAP (ScrollTrigger,
@gsap/react) - State: Zustand
Requirements: Node.js 18 or newer, npm.
npm install
npm run devApplication: http://localhost:3000
| Command | Description |
|---|---|
npm run dev |
Development server |
npm run build |
Production build |
npm run start |
Production server |
npm run lint |
ESLint |
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_SITE_URL |
Canonical origin for Open Graph, sitemap, robots.txt, and JSON-LD (e.g. https://example.com). On Vercel, VERCEL_URL is used if this is unset. |
src/app/— App Router entry, metadata, sitemap, robotssrc/components/sections/— Page sections and layout chromesrc/components/scenes/— R3F scenes wired to sectionssrc/components/— Shared UI and 3D primitives (e.g. soda can model)public/— Static assets (HDR environments, textures, fonts, images)
Hosted on Vercel. Configure NEXT_PUBLIC_SITE_URL to the public domain so social previews and discovery URLs stay correct.
Private. All rights reserved.