A high-fidelity, motion-driven agency website inspired by K72 MontrΓ©al, built using React, Tailwind CSS, and GSAP.
This project focuses on cinematic motion design, seamless navigation, and expressive UI transitions to bring brand storytelling to life.
- πΈ Screenshots
- π About the Project
- β¨ Features
- π» Tech Stack
- π Getting Started
- π Folder Structure
- ποΈ Animation & GSAP Highlights
- π₯ Project Team
- π License
K72 Agency Website is a React-based digital experience that brings together creative storytelling, GSAP motion design, and interactive UI.
It captures the essence of modern digital agencies β bold typography, smooth transitions, and dynamic navigation β inspired by the real K72 MontrΓ©al.
βDesign. Motion. Emotion.β
K72 combines technology and art to create meaningful digital experiences.
- Showcase the power of motion in UI/UX.
- Recreate the cinematic flow of high-end agency websites.
- Demonstrate GSAP mastery in React-based architectures.
- π Cinematic Full-Screen Navigation powered by GSAP timelines & staggered animations.
- β‘ Scroll-based transitions via ScrollTrigger (image reveals, section pins, and parallax effects).
- ποΈ Dynamic Agency page with live image swapping and marquee animations.
- π§ Smart component structure with reusable context-driven navbar logic.
- π Minimal dark/light adaptive styling using TailwindCSS.
- π Continuous marquee animation using GSAP modifiers and loops.
- πΆοΈ Custom Fonts (
font1,font2) for brand-accurate typography.
| Layer | Technologies |
|---|---|
| Frontend | React.js |
| Styling | Tailwind CSS |
| Animation | GSAP (GreenSock Animation Platform), ScrollTrigger |
| Routing | React Router |
| State Management | React Context API |
| Build Tool | Vite |
| Icons / Assets | Custom SVGs & Media Components |
| Deployment | GitHub Pages / Vercel |
To run the project locally:
Ensure you have Node.js (v16+) and npm or yarn installed.
# Clone the repository
git clone https://github.com/AyushAwasthi26/K72.git
# Navigate into the folder
cd K72
# Install dependencies
npm install
# Start the development server
npm run devNow open your browser at http://localhost:5173/
K72/
β
βββ public/
β βββ Media/
β β βββ Agency/
β β β βββ imgi_1_Carl_480x640.jpg
β β β βββ imgi_2_Olivier_480x640.jpg
β β β βββ ...
β β βββ NavBar/
β β β βββ b1-1.jpg
β β β βββ b2-2.jpg
β β β βββ b4-gif.gif
β β β βββ heart-b-3.svg
β β βββ Projects/
β β βββ i1.jpg β i16.jpg
β β βββ heart-b-3-green.svg
β β βββ ...
β βββ svgs/
β βββ Globe.svg
β
βββ src/
β βββ components/
β β βββ home/
β β β βββ HomeHero.jsx # Hero section (video & heading)
β β β βββ HomeMid.jsx # Tagline & intro section
β β β βββ HomeBottom.jsx # CTA & footer buttons
β β β βββ Time.jsx # Dynamic Montreal time component
β β β βββ video.jsx # Background looping video
β β β
β β βββ navigation/
β β β βββ Navbar.jsx # Top navbar (state-aware)
β β β βββ FullScreenNav.jsx # GSAP full-screen nav animations
β β β
β β βββ project/
β β β βββ ProjectCard.jsx # Hover-reveal project cards
β β β
β β βββ context/
β β βββ NavContext.jsx # Context for nav state & animation blocking
β β
β βββ pages/
β β βββ Home.jsx # Homepage composition
β β βββ Projects.jsx # Work showcase (GSAP scroll animation)
β β βββ Agency.jsx # About / Team page with marquee + ScrollTrigger
β β
β βββ index.css # Tailwind + global styles
β βββ main.jsx # ReactDOM root
β βββ App.jsx # App-level route container
β βββ vite.config.js # Vite configuration
β
βββ .gitignore
βββ package.json
βββ tailwind.config.js
βββ README.mdFile: FullScreenNav.jsx
-
Uses
gsap.timeline()for entrance and exit animations. -
Controls staggered
.stairingdiv heights for cinematic reveals. -
Context-managed animation lock (
isAnimating) ensures no double-triggers. -
Timeline structure:
tl.to(".stairing", { height: "100%", stagger: { amount: -0.3 } }) .to(".navlink", { opacity: 1 }) .to(".link", { rotateX: 0, opacity: 1 });
File: Agency.jsx
- ScrollTrigger pins a central image container and updates the image dynamically as you scroll.
- Marquee animation built with GSAP modifiers for infinite looping names.
- Dynamic dark mode toggles when reaching the team section.
File: Projects.jsx
- Project list powered by mapped
ProjectCardcomponents. - ScrollTrigger animates project height and visibility for smooth load transitions.
File: HomeHero.jsx
- Video embedded within headline typography.
- Animated CTA circles (βWorkβ, βAgencyβ) at the bottom with glowing borders.
β Ayush Awasthi [Lead Developer & UI/UX Designer] Designed and built the entire front-end architecture, GSAP animation logic, and motion transitions for K72.
This project is licensed under the MIT License β see the LICENSE.md file for details.