Zaufali nam
Zajmiemy się następującymi aspektami:
UX/UI
•Branding
•Research
•Strategy
.stacking_card-container {
position: sticky;
top: 150px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
overflow: hidden;
}
/* Karta */
.stacking_card {
display: flex;
flex-direction: column;
position: relative;
transform-origin: top;
transition: transform 0.1s ease-out;}// Helper function to map a value from one range to another
function map(value, in_min, in_max, out_min, out_max) {
return (
out_min +
((value - in_min) * (out_max - out_min)) / (in_max - in_min)
);
}
// Get all card containers
const cardContainers = document.querySelectorAll('.stacking_card-container');
// Total number of cards
const numCards = cardContainers.length;
// Convert NodeList to Array and store card elements
const cardElements = Array.from(cardContainers).map(
(cardContainer, index) => {
const card = cardContainer.querySelector('.stacking_card');
const inner = card.querySelector('.inner');
// Set initial top position for stacking effect
card.style.top = `calc(${index * 25}px)`; // Regular stacking
card.style.zIndex = numCards - index; // Ensure proper stacking order
return {
cardContainer,
card,
inner,
index,
};
}
);
// Initialize Lenis for smooth scrolling
const lenis = new Lenis({
duration: 1.2,
easing: (t) => Math.min(1, 1.001 - Math.pow(2, -10 * t)),
smoothWheel: true,
smoothTouch: false,
});
// Scroll handler
function onScroll() {
const scrollY = lenis.scroll; // Use Lenis scroll position
const windowHeight = window.innerHeight;
// Define base and final minScale values
const baseMinScale = 0.8; // Adjust as needed
const finalMinScale = 0.95; // Adjust as needed
// Calculate scale increment per card
const scaleIncrement = (finalMinScale - baseMinScale) / (numCards - 1);
cardElements.forEach((cardElement, index) => {
const { card, inner } = cardElement;
// Define start and end points for scaling for each card
const start = windowHeight * index + windowHeight * 1.1; // Start animation later
const end = windowHeight * (index + 1);
// Calculate progress for this card
const cardProgress = (scrollY - start) / windowHeight;
const clampedProgress = Math.max(0, Math.min(1, cardProgress));
// Calculate minScale for this card based on its index
const minScale = baseMinScale + index * scaleIncrement;
// Handle animation for all cards
if (index === numCards - 1) {
// Last card
const lastCardStart = windowHeight * (numCards - 1);
const progress = Math.max(0, Math.min(1, (scrollY - lastCardStart) / windowHeight));
card.style.zIndex = numCards + 1; // Bring to front
card.style.transform = `translateY(${progress * -50}px) scale(1)`; // Pull up
} else {
// All other cards
if (clampedProgress >= 0 && clampedProgress <= 1) {
const scale = 1 - clampedProgress * (1 - minScale);
card.style.transform = `scale(${scale})`;
card.style.zIndex = numCards - index; // Maintain stacking
} else if (scrollY < start) {
card.style.transform = `scale(1)`;
card.style.zIndex = numCards - index; // Reset stacking
} else {
card.style.transform = `scale(${minScale})`;
}
}
});
}
// Animation loop
function raf(time) {
lenis.raf(time);
onScroll(); // Call your scroll handler
requestAnimationFrame(raf);
}
requestAnimationFrame(raf);Co o nas mówią
We create functioning websites
We combine data, product thinking, and frontend technology to create attractive and effective interfaces.
UX/UI design
We will design a mobile application, online store, portal, and business card website.
- Creating and developing design systems
- Analysis and testing
- Full product development cycle
Research
We will help tailor the product to customer needs and increase its market attractiveness.
- Understanding customer needs
- Describe key product features
- Organize information
3D Design
With our 3D, your products and projects will be precisely presented, capturing attention and building customer trust.
- Increased Engagement
- Easy navigation through content
- Unique User Experiences
Branding
We will help distinguish your brand in the market by building a strong identity and attracting target customers.
- Greater Brand Recognition
- Increased Customer Loyalty
- Market Differentiation
Naszym priorytetem jest terminowe i rzetelne wykonanie zadań. Tworzymy zespół ekspertów, którzy ciągle się doskonalą w swoim wachu.
Pełna transparentność
Wysyłamy raporty co poniedziałek abyś wiedział, co zostało zrobione i ile pieniędzy wydano
Important_Blog
We write about product approach, design, and research.
Jak tworzyć dobre zadania? Przewodnik, który może uratować Twój projekt (i związek :))
Dlaczego jasne zadania mają znaczenie Historia o mleku SMS od partnera: "Kup mleko" Stoisz w sklepie. Przed Tobą lodówka z 15 rodzajami mleka. Dzwonisz. Nie odbiera. Oczywiście. Bierzesz jak zwykle: pełne, w kartonie. W domu, godzinę później: "Ale ja chciałam 2% bez laktozy…" Ty: "Skąd miałem wiedzieć?" Partnerka: "No mówiłam w zeszłym tygodniu że chcę…
Jak tworzyć automatyzacje n8n, które naprawdę działają (praktyczny poradnik 2025)
Co znajdziesz w tym przewodniku po automatyzacji w n8n Jeśli szukasz sposobu na automatyzację procesów biznesowych w swojej firmie, n8n to jedno z najlepszych narzędzi open-source dostępnych na rynku. Problem w tym, że większość poradników pokazuje tylko podstawy, a rzeczywistość bywa brutalna - workflow które działają na YouTube, potrafią położyć produkcję. Przeanalizowałem ponad 2000 rzeczywistych…
Kompletny kalendarz marketingowy dla Polski na 2025 rok
Święta Bożego Narodzenia generują 1400-1500 zł wydatków na polską rodzinę, podczas gdy Dzień Singla rośnie o 47% rocznie, stając się najszybciej rozwijającą się okazją handlową. Polscy konsumenci coraz częściej kupują przez telefon (55% zakupów w Black Friday), płacą BLIK-iem (68%) i odbierają paczki z automatów (81%). Ten kalendarz łączy tradycyjne polskie święta z globalnymi trendami,…
Badania, GEO
GEO nowe KPI i narzędzia do śledzenia cytowań AI
Mierzenie skuteczności GEO w erze odpowiedzi generatywnych wymaga nowych danych. Klasyczne narzędzia i raporty SEO często nie nadążają, bo to AI tworzy wynik, a nie lista linków. Coraz częściej padają pytania: jak zmierzyć widoczność w AI, jakie KPI mają sens i co naprawdę wpływa na ruch bez kliknięć? Nowe KPI skupiają się na obecności i…