Awwwards Design
by @mkhaytman87
Create award-winning, memorable websites with advanced animations, creative interactions, and distinctive visual experiences. Use this skill when building sites that need to be exceptional—portfolio sites, agency showcases, product launches, or any project where "wow factor" matters.
clawhub install awwwards-design📖 About This Skill
name: awwwards-design description: Create award-winning, memorable websites with advanced animations, creative interactions, and distinctive visual experiences. Use this skill when building sites that need to be exceptional—portfolio sites, agency showcases, product launches, or any project where "wow factor" matters. license: MIT
Awwwards-Level Web Design
This skill guides creation of truly exceptional websites—the kind that win awards, get shared, and make people stop scrolling. These aren't just good websites; they're experiences.
Philosophy: What Makes a Site Unforgettable
Award-winning sites share common traits that separate them from the millions of forgettable pages:
1. Intentional Storytelling
Every scroll, every click, every hover tells part of a story. The site guides users through a narrative, not just a collection of sections. Content reveals progressively, creating anticipation and reward.2. Choreographed Motion
Animations aren't decoration—they're communication. Each movement has purpose: guiding attention, providing feedback, creating continuity, or building emotional resonance. The timing, easing, and sequencing are meticulously orchestrated.3. Sensory Richness
These sites engage multiple senses. Custom cursors create tactile feedback. Sound design (when appropriate) adds depth. Textures, gradients, and lighting effects create atmosphere. The experience feels *physical* despite being digital.4. Technical Craftsmanship
Smooth 60fps animations. Fast load times despite rich visuals. Graceful degradation on slower devices. The engineering is invisible but essential.5. Breaking Conventions Intentionally
Award-winning sites know the rules well enough to break them deliberately. Unconventional layouts, unexpected interactions, rule-breaking typography—but always in service of the experience, never random.The Awwwards Evaluation Criteria
Sites are judged on four dimensions:
1. Design (8.5+ for SOTD): Visual aesthetics, composition, color, typography, imagery 2. Usability (8.5+ for SOTD): Navigation, accessibility, responsiveness, intuitive UX 3. Creativity (8.5+ for SOTD): Innovation, uniqueness, memorable moments 4. Content (8.5+ for SOTD): Quality, storytelling, relevance, engagement
To win Site of the Day, you need excellence across ALL four. A beautiful site with poor usability won't win.
Core Animation Techniques
1. Scroll-Triggered Animations
The foundation of immersive web experiences. Elements animate in response to scroll position, creating a sense of discovery.
Key Patterns:
Implementation Stack:
Primary: GSAP + ScrollTrigger (industry standard)
Smooth Scrolling: Lenis or GSAP ScrollSmoother
React: Framer Motion + useScroll hook
Code Pattern (GSAP):
gsap.registerPlugin(ScrollTrigger);// Basic reveal
gsap.from(".reveal-element", {
opacity: 0,
y: 100,
duration: 1,
ease: "power3.out",
scrollTrigger: {
trigger: ".reveal-element",
start: "top 80%",
end: "top 20%",
toggleActions: "play none none reverse"
}
});
// Scrubbed animation (tied to scroll position)
gsap.to(".parallax-bg", {
y: -200,
ease: "none",
scrollTrigger: {
trigger: ".parallax-section",
start: "top bottom",
end: "bottom top",
scrub: true
}
});
2. Text Splitting & Typography Animation
Award-winning sites treat text as a design element, not just content. Individual characters, words, and lines become animatable units.
Key Patterns:
Implementation:
GSAP SplitText (premium but powerful)
SplitType (free alternative)
Splitting.js (lightweight)
Code Pattern:
// Using SplitType + GSAP
const text = new SplitType('.hero-title', { types: 'chars, words' });gsap.from(text.chars, {
opacity: 0,
y: 50,
rotateX: -90,
stagger: 0.02,
duration: 0.8,
ease: "back.out(1.7)"
});
Typography Choices for Impact:
3. Micro-Interactions & Hover States
The details that create delight. Every interactive element should respond to user input in satisfying ways.
Key Patterns:
Implementation:
Rive (for complex state-based animations)
Lottie (After Effects → web)
GSAP (programmatic control)
CSS transitions (simple states)
Code Pattern (Magnetic Effect):
const magneticElements = document.querySelectorAll('.magnetic');magneticElements.forEach(el => {
el.addEventListener('mousemove', (e) => {
const rect = el.getBoundingClientRect();
const x = e.clientX - rect.left - rect.width / 2;
const y = e.clientY - rect.top - rect.height / 2;
gsap.to(el, {
x: x * 0.3,
y: y * 0.3,
duration: 0.3,
ease: "power2.out"
});
});
el.addEventListener('mouseleave', () => {
gsap.to(el, {
x: 0,
y: 0,
duration: 0.5,
ease: "elastic.out(1, 0.3)"
});
});
});
4. Page Transitions
Seamless transitions between pages create a native-app feel and maintain immersion.
Key Patterns:
Implementation:
Barba.js + GSAP (multi-page sites)
Next.js + Framer Motion (React apps)
Astro + View Transitions API (modern approach)
5. Custom Cursors
Replace the default cursor with something that reinforces the brand and adds interactivity.
Key Patterns:
Code Pattern:
const cursor = document.querySelector('.cursor');
let mouseX = 0, mouseY = 0;
let cursorX = 0, cursorY = 0;document.addEventListener('mousemove', (e) => {
mouseX = e.clientX;
mouseY = e.clientY;
});
// Smooth following with lerp
function animate() {
cursorX += (mouseX - cursorX) * 0.1;
cursorY += (mouseY - cursorY) * 0.1;
cursor.style.transform = translate(${cursorX}px, ${cursorY}px);
requestAnimationFrame(animate);
}
animate();
// Context changes
document.querySelectorAll('a, button').forEach(el => {
el.addEventListener('mouseenter', () => cursor.classList.add('cursor--hover'));
el.addEventListener('mouseleave', () => cursor.classList.remove('cursor--hover'));
});
6. Easing & Timing
The secret sauce. Proper easing transforms mechanical movement into organic motion.
Essential Easing Functions:
power2.out / power3.out — Natural deceleration (most common)
power2.inOut — Smooth acceleration and deceleration
back.out(1.7) — Slight overshoot, then settle (playful)
elastic.out(1, 0.3) — Bouncy, energetic
expo.out — Dramatic fast-start, slow-end
circ.out — Quick initial movement
Timing Principles:
The Golden Rule: Fast in, slow out. Most movements should decelerate into their final position.
Visual Techniques
Gradients & Color
Mesh Gradients: Complex multi-point gradients that feel organic
background:
radial-gradient(at 40% 20%, hsla(28,100%,74%,1) 0px, transparent 50%),
radial-gradient(at 80% 0%, hsla(189,100%,56%,1) 0px, transparent 50%),
radial-gradient(at 0% 50%, hsla(355,85%,93%,1) 0px, transparent 50%);
Animated Gradients: Shifting colors that create movement
@keyframes gradient-shift {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.animated-gradient {
background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
background-size: 400% 400%;
animation: gradient-shift 15s ease infinite;
}
Texture & Depth
Grain/Noise Overlays: Add organic texture
.grain::after {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
opacity: 0.03;
pointer-events: none;
z-index: 9999;
}
Glassmorphism: Frosted glass effects
.glass {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 16px;
}
Shadows for Depth: Layered, soft shadows
.elevated {
box-shadow:
0 1px 1px rgba(0,0,0,0.02),
0 2px 2px rgba(0,0,0,0.02),
0 4px 4px rgba(0,0,0,0.02),
0 8px 8px rgba(0,0,0,0.02),
0 16px 16px rgba(0,0,0,0.02);
}
Layout Breaking
Overlapping Elements: Break the grid intentionally Diagonal/Angular Sections: Clip-path for non-rectangular sections Asymmetric Compositions: Deliberate imbalance creates tension Full-bleed Media: Images/video that escape containers Mixed Grid Systems: Combine different column structures
3D & WebGL
For truly next-level sites, 3D elements create unforgettable experiences.
Implementation Stack:
Three.js — Full 3D engine
React Three Fiber — Three.js in React
Spline — No-code 3D design tool
Lottie 3D — Lightweight 3D animations
Common Patterns:
Performance Note: 3D is expensive. Use sparingly, optimize aggressively, and always provide fallbacks.
Technical Requirements
Performance Targets
Optimization Strategies
will-change sparingly and correctlyrequestAnimationFrame for JS animationsAccessibility
Award-winning sites must be usable by everyone:prefers-reduced-motion@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
Implementation Checklist
Before considering a site "award-worthy," verify:
Animation
Visual
Technical
Content
Reference Sites
Study these for inspiration (search on Awwwards):
When NOT to Use This Approach
Award-winning design isn't always appropriate:
Use these techniques when the goal is to create a memorable brand experience, showcase creative work, or make a statement. For utility-focused sites, the standard frontend-design skill may be more appropriate.
Remember: Award-winning sites aren't just technically impressive—they're emotionally resonant. Every animation, every interaction, every visual choice should serve the story you're telling. Technical skill without creative vision produces impressive-but-forgettable work. The goal is to make someone feel something.