©2025 · Personal brand · Strona designerska
Air Dave
Strona reżyserowana jak film, nie wizytówka. Hero z video, pinning w każdej sekcji, horizontal scroll i nachodzące karty.
- Klient
- Dawid Chęsiak
- Osoba
- Dawid „air_d.a.v.e” Chęsiak
- Lokalizacja
- Bydgoszcz i okolice
- Rok
- 2025
- Zakres
- Identyfikacja personal brand · Strona designerska · Animacje GSAP · Wdrożenie
Branża
Fotografia i film z drona · Bydgoszcz

- Klient
- Dawid Chęsiak
- Osoba
- Dawid „air_d.a.v.e” Chęsiak
- Lokalizacja
- Bydgoszcz i okolice
- Rok
- 2025
- Zakres
- Identyfikacja personal brand · Strona designerska · Animacje GSAP · Wdrożenie
Problem i podejście
Jak sprzedać widok z góry komuś, kto siedzi za ekranem na drugim piętrze?
- Identyfikacja personal brand
- Strona designerska
- Animacje GSAP
- Wdrożenie
Problem
Dawid lata dronem od ponad pięciu lat, hobbystycznie. Prowadzi Instagram @air_d.a.v.e i większość nagrań do tej pory robił za darmo, dla znajomych i z miłości do latania. Teraz chce zacząć powoli traktować to poważniej i przyjmować pierwsze płatne zlecenia.
Nadal bez działalności gospodarczej, nadal jako pasjonat, ale z miejscem w internecie, w którym ktoś zupełnie obcy może go zobaczyć, ocenić poziom i napisać. W Bydgoszczy operatorów drona jest sporo, każdy z podobnym Instagramem.
Strona miała pokazać, że Dawid jest gotowy na pierwsze realne zlecenia, mimo że dalej traktuje to jak pasję.
Podejście
Drone to ruch, więc strona też musi być ruchem. Zamiast galerii ze statycznymi zdjęciami klient od razu po wejściu widzi fragment lotu jako tło hero. Każda kolejna sekcja zatrzymuje go na chwilę, jak scena w filmie, zanim przejdzie dalej.
Galeria nie spada w dół długą listą, tylko przesuwa kadry w bok. Karty na telefonie nachodzą jedna na drugą, jakby ktoś rozłożył je na biurku. Cała strona naśladuje rytm montażu wideo. Zamiast czytać listę usług klient ogląda kilka scen i decyduje, czy chce takich kadrów u siebie.
Co dostarczyłem.
Single-page landing zaprojektowany jak edytowane wideo, nie strona internetowa. Hero z preloadowanym video webm (2 Mbps, marker LCP) startuje pierwszą klatkę razem z pierwszym renderem, bez pustego placeholderu na 2 sekundy.
Cztery sceny: reel w hero, „Jestem Dawid” (o mnie z konkretnym sprzętem DJI Mini 3 Pro), „Moje Realizacje” (galeria filmów i zdjęć z lotów) oraz kontakt. Każda sekcja ma pina i własną micro-narrację scroll-driven.
Galeria z horizontal scroll na desktop, sterowana pionowym scrollem przez ScrollTrigger. Na mobile karty nachodzą na siebie zamiast układać się stosem, co utrzymuje gęstość kompozycji w kadrze telefonu zamiast rozciągać sekcję na 3 ekrany.
Parallax na zdjęciach z lotów, scroll reveal na nagłówkach, magnetic-like hover na CTA. JSON-LD typu Person z jobTitle „Operator Drona”, og:image z autorskiego podpisu, meta theme-color w kinematograficznej czerni.
Jak to zrobiłem.
Stack: React, Vite, GSAP, ScrollTrigger, Netlify. Pojedynczy bundle bez SSR, bo to nie jest strona z setką podstron pod indeksowanie, tylko pokaz w czterech scenach. SPA daje instant pierwszy paint i pełną kontrolę nad GSAP-em bez hydration mismatchu.
Video w hero jako webm preloadowany przez `<link rel="preload" as="video">`, dzięki czemu LCP łapie się na pierwszej klatce video zamiast na fallbackowym obrazie. Bitrate 2 Mbps to świadomy kompromis między ostrością a wagą.
ScrollTrigger w każdej sekcji: `pin` zatrzymuje scenę na ekranie, `scrub` wiąże postęp scrolla z animacją, horizontal scroll przez translateX sterowane scrollem pionowym. Mobile overlapping cards to position absolute plus transform driven by ScrollTrigger progress. Wszystkie listenery cleaned up w return funkcji efektu.
Dlaczego tak.
Video w hero zamiast obrazu jest decyzją branżową. Drone to medium ruchu i klient szuka u operatora dynamiki, kompozycji i świadomości kadru. Statyczna galeria nie odpowiada na to pytanie. Pierwsza klatka strony już sprzedaje ruch, zanim klient przeczyta jedno zdanie.
Pin w każdej sekcji to świadomy reżyserski wybór. Klasyczny scroll to lista. Pinning robi z każdej sekcji scenę, którą widz dogląda do końca, zanim przejdzie dalej. Klient ogląda stronę jak film, nie przewija jak feed.
Horizontal scroll w galerii i nachodzące karty na mobile rozwiązują ten sam problem inaczej: zamiast rozciągać sekcje na pięć ekranów, kompresują kompozycję i każdy scroll dostarcza nowy kadr. Patrzy się gęściej, mniej się przewija.
React plus Vite zamiast Next.js, bo to nie strona z 200 podstronami pod SEO, ale 4-scenowy pokaz. SSR i statyczne renderowanie byłyby przeinwestowane. Vite daje pojedynczy bundle, błyskawiczny LCP i GSAP w pełni bez kompromisów. DJI Mini 3 Pro wymienione w o-mnie eliminuje pytanie „czym latasz”, zanim klient zdąży je zadać.
Tech stack
- React
- Vite
- GSAP
- ScrollTrigger
- Netlify
Credits
- Projekt i kod
- SoraWeb Studio · Aleksander Pietrzak
- Stack
- React · Vite · GSAP · ScrollTrigger
- Hosting
- Netlify

Schol-Bud
Podobny projekt?
Porozmawiajmy o Twojej stronie.
Każda strona zaczyna się od krótkiej rozmowy o celach. Bez briefu, bez zobowiązań. Najpierw sprawdzam, czy się dogadujemy.