Vestra Store – Sklep odzieżowy, który sprzedaje 24/7 z pełną automatyzacją logistyki
90+/100
Performance
100/100
SEO Score
100/100
Accessibility
+38%
conversion
0.8s
Czas ładowania

Galeria
Wyzwanie klienta
Vestra Store to nowoczesna polska marka odzieżowa sprzedająca kolekcje damskie i męskie — od basiców po sezonowe dropy. Marka miała świetne produkty, ale stary sklep działał jak hamulec sprzedaży:
„Klienci wybierają kolor na zdjęciu, dodają do koszyka i wychodzą, bo nie mogli wybrać rozmiaru dla tego koloru. Straciliśmy połowę konwersji przez zły UX wariantów.”
Główne bolączki przed przebudową
- Brak precyzyjnego zarządzania wariantami — stary sklep nie różnił dostępności per kolor × rozmiar; sprzedawał to, czego nie miał na stanie
- Checkout bez lokalnych metod płatności — brak BLIK-a i Tpay wykluczał istotną część klientów mobilnych
- Brak automatyzacji logistyki — etykiety kurierskie generowane ręcznie, brak integracji z InPost Paczkomatami
- Zero samodzielności marketingu — każda zmiana banera Hero czy dodanie produktu wymagało programisty
- Porzucone zamówienia przez zagubione webhooki — płatności gineły, gdy webhook nie dotarł; obsługa sprawdzała status ręcznie
Nasze podejście
Zamiast gotowego szablonu postawiliśmy na platformę e-commerce szytą na miarę. Efekt: sklep całkowicie dopasowany do modelu biznesowego Vestry, bez limitów licencji i miesięcznych opłat od transakcji.
Cele projektu
- Zbudować przyszłościowy sklep z precyzyjną inwentaryzacją per wariant (rozmiar × kolor)
- Zautomatyzować płatności — dwa procesory jako bezpieczna nadmiarowość
- Wdrożyć pełną integrację logistyczną: Paczkomat InPost oraz Kurier InPost + 4 kurierów przez Furgonetka
- Dać właścicielowi pełny panel do zarządzania bez programisty na co dzień
- Zoptymalizować wydajność i SEO
Stack technologiczny
- Next.js 16 (App Router) — SSR z
force-dynamicdla aktualnych stanów magazynowych - React 19 + TypeScript 5 — bezpieczne, nowoczesne komponenty
- Tailwind CSS — spójny design system, idealny dla fashion
- Framer Motion — płynne animacje UI (mikro-interakcje, przejścia stron)
- Tpay + Stripe — dwie bramki płatności: BLIK, P24, karty, przelewy
- LibSQL / Turso — szybka baza edge-native (latency < 10 ms)
- Cloudinary — 5 presetów zdjęć produktowych (thumbnail, card, detail, gallery, fullsize)
- Resend — transakcyjne e-maile (potwierdzenia zamówień, reset hasła)
- Upstash Redis — locki, rate limiting i cache operacji magazynowych
- Furgonetka API — generowanie etykiet: InPost Kurier, DPD, DHL, UPS, ORLEN Paczka
- InPost Geowidget — interaktywna mapa Paczkomatów w checkout
- iron-session — bezpieczne sesje panelu admina
Projekt i implementacja
1. Model danych i inwentaryzacja wariantów (Dni 1–5)
Kluczowy fundament projektu — sklep odzieżowy wymaga inwentaryzacji per wariant (rozmiar × kolor), a nie per produkt. Zbudowaliśmy model, który:
- rozróżnia dostępność dla każdej kombinacji (np. „Bluza Oversize / L / Czarna: 3 szt.”)
- blokuje stany podczas sesji zakupowej (rezerwacja z TTL) — koniec ze sprzedażą na minusie
- wyświetla alert „ostatnie sztuki” przy stanach niższych niż próg
- automatycznie zwalnia rezerwacje wygasłych sesji przez reconciliation job
2. Karta produktu — UX, który konwertuje (Dni 6–12)
Zaprojektowaliśmy kartę produktu rozwiązującą najczęstszy problem odzieżowych e-commerce — wybór wariantu:
- Color swatche — kliknięcie koloru zmienia galerię zdjęć na lookbook danego koloru
- Selector rozmiarów z dostępnością na żywo — każdy rozmiar aktywny tylko gdy jest na stanie dla wybranego koloru; wyszarzone rozmiary z tooltipem „Brak w wybranym kolorze”
- Galeria z Cloudinary — 5 presetów jakościowych dopasowanych do kontekstu wyświetlania
- Lazy loading i
prioritydla hero produktu — LCP < 0.8 s nawet przy dużych galeriach fashion
| Preset Cloudinary | Rozdzielczość | Zastosowanie |
|-------------------|---------------|---------------------------------------|
| thumbnail | 400 x 400 | Lista produktów, grid katalogu |
| card | 800 x 800 | Karta produktu, featured section |
| detail | 1200 x 1200 | Główne zdjęcie na stronie produktu |
| gallery | 1800 x 1800 | Lightbox w galerii |
| fullsize | 2400 x 2400 | Pełny zoom u klienta |
3. Checkout i płatności (Dni 13–20)
Checkout zoptymalizowany pod konwersję mobilną i desktop:
- Dwie bramki płatności — Tpay (BLIK, P24, przelewy) i Stripe (karty, Google Pay) — klient zawsze ma opcję
- 5 metod dostawy — Paczkomat InPost z interaktywną mapą, Kurier InPost, DPD, DHL, ORLEN Paczka
- Kody rabatowe — procentowe lub kwotowe, z limitem użyć, datami ważności i ograniczeniem do wybranych produktów
- Autocomplete adresu — szybkie wpisywanie bez irytujących błędów
- Potwierdzenie e-mail — automatyczne przez Resend z tabelą zamówionych produktów
4. Automatyzacja logistyki (Dni 21–27)
- Generowanie etykiet kurierskich z poziomu panelu admina — jeden klik, etykieta gotowa do druku
- Inteligentne pakowanie (algorytm bin-packing) — system dobiera rozmiar paczki na podstawie wymiarów i wag produktów
- Śledzenie przesyłek — historia statusów zapisywana w bazie; klient śledzi zamówienie pod unikalnym tokenem
- Strona zwrotów — dedykowana
/zwroty-i-reklamacjez formularzem PDF i pełną instrukcją
5. Panel admina — sklep bez programisty (Dni 28–35)
Kompletny back-office zabezpieczony przez iron-session:
| Moduł admina | Co umożliwia |
|----------------|---------------------------------------------------------|
| Produkty | Dodaj/edytuj: zdjęcia, warianty, kolory, rozmiary, ceny |
| Zamówienia | Zarządzaj statusami, generuj etykiety, śledź wysyłki |
| Inwentaryzacja | Stany per wariant; alerty o niskim stanie |
| Rezerwacje | Pogląd aktywnych blokad z czasem wygaśnięcia |
| Kody rabatowe | Twórz i zarządzaj promocjami bez deployu |
| Pracownicy | Dodatkowe konta z kontrolą dostępu |
| CMS / Wygląd | Edytuj Hero, baner ogłoszeniowy, featured products |
| Motyw | Zmień kolory i styl sklepu na żywo |
| Integracje | Podłącz Furgonetka OAuth2, zarządzaj kurierami |
Właściciel dodaje nową kolekcję, ustawia wyprzedaż i zmienia baner Hero — bez kontaktu z programistą.
6. Reconciliation płatności — nigdy nie zgub zamówienia (Dni 36–40)
Webhooki płatnicze czasem nie dochodzą. Zbudowaliśmy automatyczny mechanizm naprawczy:
- Cron job z endpointem
/api/cron/sync-paymentsodpytuje Tpay i Stripe API o statusy oczekujących płatności - Jeśli zapłacono — tworzy zamówienie; jeśli sesja wygasła — zwalnia zarezerwowany stan
- Redis lock zapobiega równoległym uruchomieniom; idempotencja eliminuje duplikaty zamówień
Efekt: zero zamówień zagubionych przez problemy sieciowe lub opóźnienia bramki płatniczej.
7. Performance i SEO (Dni 41–45)
- Dynamiczna mapa witryny (
sitemap.ts) — generowana przy każdym buildzie ze wszystkimi produktami - Dynamiczne metadata z CMS — tytuły, opisy i OpenGraph per produkt z zdjęciem Cloudinary
- Lazy loading sekcji poniżej foldu —
Featured,Categories,CTAładują się po pierwszym renderze force-dynamicdla krytycznych widoków — strony produktowe, koszyk, panel zarządzania itp. zawsze pokazują aktualny stan
Wyniki
| Metryka | Przed | Po | Zmiana |
|------------------------------------------|-----------------|----------|----------|
| Lighthouse Performance | 54 | 90+ | +67% |
| Lighthouse SEO | 71 | 100 | +41% |
| Lighthouse Accessibility | 78 | 100 | +28% |
| Średnij czas LCP | 3.1 s | 0.8 s | −74% |
| Konwersja koszyk → zakup | 2.1% | 2.9% | +38% |
| Zamówienia utracone przez webhooki | sporadyczne | 0 | −100% |
| Czas generowania etykiety | ~15 min ręcznie | ~10 s | −98% |
Co mówi klient
„Nareszcie mam sklep, który robi robotę sam.
— Właścicielka, Vestra Store
Podsumowanie
Vestra Store pokazuje, że sklep internetowy to nie szablon — to silnik sprzedaży zbudowany pod konkretny biznes.
Sklep zyskał:
- +38% konwersji dzięki precyzyjnemu UX wyboru wariantów i szybkiemu checkoutowi
- LCP 0.8 s — szybszy niż 95% sklepów odzieżowych
- 5 opcji dostawy w jednym checkout (Paczkomat, InPost, DPD, DHL, ORLEN)
- Zero zagubionych zamówień — reconciliation job pracuje 24/7 jako safety net płatności
- Pełny back-office — właściciel zarządza produktami, promocjami i wysyłkami bez programisty
Prowadzisz sklep odzieżowy lub e-commerce z wariantami produktów? Skontaktuj się z nami — pokażemy Ci, jak Twój sklep może sprzedawać więcej, automatycznie i bez błędów stanów magazynowych.
Jest to oferta dedykowana dla marek, które chcą zbudować sklep szyty na miarę — bez kompromisów gotowych platform, z pełną kontrolą nad UX i funkcjonalnościami. Dla mniej wymagających biznesów mamy też gotowe rozwiązania na WooCommerce — skontaktuj się z nami.
Chcesz podobnych wyników?
Skontaktuj się z nami — przygotujemy darmową wycenę w 24h.