Od pomysłu siostry do pełnoprawnego marketplace’u
Ten marketplace nie powstał dlatego, że chciałem zrobić jakiś startup. Piszę ten tekst jako ktoś, kto przeszedł całą tę drogę sam – z klawiaturą, kawą i masą wątpliwości w głowie. Nie było żadnego briefu od klienta ani budżetu zatwierdzonego przez kogoś wyżej.
Pomysł wyszedł od mojej siostry już dawno temu. Chodziło o platformę dla sztuki i rękodzieła handmade, gdzie twórcy mogliby sprzedawać swoje prace bez wysokich prowizji, ograniczeń i narzuconych przez kogoś zasad. Możesz sam zobaczyć, jak to wygląda: https://artovnia.com.
Niestety koszt zlecenia takiego projektu developerowi albo agencji był całkowicie poza naszym zasięgiem. Sprawa wylądowała w szufladzie na kilka lat.
Dopiero później, kiedy już miałem za sobą kilka własnych projektów pobocznych, pomyślałem sobie: „A może spróbuję zrobić to sam? Nawet jeśli zajmie mi to rok albo dwa”.
I tak się zaczęło. Projekt pochłonął tysiące godzin pracy, setki decyzji technicznych i sporo nerwów.
Ambicje
Do projektów nigdy nie podchodzę z pytaniem, czy dam radę. Po prostu zakładam, że dam. Jeśli czegoś nie wiem, to znaczy tylko, że jeszcze się tego nie nauczyłem.
Na początku całość wydawała się przytłaczająca. Dużo kodu, setki plików, architektura, która dla jednej osoby wyglądała na absurdalnie skomplikowaną.
Z czasem jednak, kiedy dodawałem kolejne moduły, serwisy, endpointy i elementy interfejsu, wszystko zaczęło do siebie pasować. Z początkowego chaosu powstał w miarę uporządkowany system.
Prawdziwy przełom przyszedł wtedy, gdy zacząłem spędzać nad platformą po 10–14 godzin dziennie. W tym momencie zrozumiałem, że to już nie jest projekt po godzinach. To stało się moją główną drogą.
Dlaczego Medusa.js, a nie coś prostszego?
Wybór technologii nigdy nie jest prostą sprawą. To decyzja, która będzie miała wpływ na wszystko przez cały czas rozwoju projektu.
Od samego początku wiedziałem, czego zdecydowanie nie chcę: zamkniętego ekosystemu, ograniczeń narzuconych przez platformę i kosztów, które rosną szybciej niż sam biznes.
Z tego powodu Shopify i WooCommerce szybko odpadły. Potrzebowałem pełnej kontroli nad kodem, dobrej skalowalności, możliwości pisania w TypeScript i React oraz architektury, którą da się dopasować do marketplace’u z wieloma sprzedawcami, a nie tylko do zwykłego sklepu jednego właściciela.
Medusa.js od pierwszego dnia była wymagająca. Dziś, z perspektywy czasu, mogę powiedzieć, że to był świadomy wybór stacku pod customowy marketplace sztuki i rękodzieła, a nie szybkie rozwiązanie na MVP. Backend w Medusie nie wybacza półśrodków – trzeba naprawdę zrozumieć core, workflowy i sposób działania modułów.
Na początku tworzenie własnych modułów wydawało się prawie niemożliwe. Kiedy jednak ogarnąłem, jak wszystko jest ze sobą połączone, zaczęło to mieć sens.
Największa zaleta? Moduły są dobrze odizolowane – popsucie jednego nie ciągnie za sobą całego systemu.
Backend – tu było najtrudniej
Jeśli ktoś chce wiedzieć, jak naprawdę wygląda budowanie customowego backendu marketplace’u w Node.js, to właśnie tu jest cała prawda.
Najwięcej problemów sprawiło mi tworzenie własnych serwisów, ich poprawne rejestrowanie w Medusie oraz zrozumienie całego przepływu danych: od modelu, przez serwisy, hooki, workflowy, subscribers, endpointy, aż po dashboard i storefront.
Do tego doszła walidacja Zod, schematy OpenAPI, konfiguracja graph query, middleware’y i kontrola dostępu.
Dokumentacja nie odpowiadała na wszystkie pytania, więc sporo rzeczy rozwiązywałem metodą prób i błędów – patrząc w logi, używając debugera i po prostu próbując różnych rozwiązań.
Często musiałem wyrzucać całe fragmenty kodu i pisać je od nowa. Nie było miejsca na sentyment – jeśli architektura była zła, trzeba było ją zmienić.
Płatności – największy ciężar
Gdybym miał wskazać jeden element, który najbardziej mnie przytłoczył, to zdecydowanie byłyby płatności.
Na początku próbowałem z PayU. Dokumentacja była słaba, nie było gotowych integracji z Medusą. Wszystko napisałem od zera i w końcu działało.
Niestety później okazało się, że PayU nie podejmie z nami współpracy ze względu na model biznesowy i wymagania prawne. Cały moduł poleciał do kosza.
Przepisałem wszystko pod Stripe. Z dzisiejszej perspektywy to była zdecydowanie najlepsza decyzja – integracja jest prostsza, a dla artystów z różnych krajów o wiele wygodniejsza.
Dlaczego oddzielny dashboard sprzedawcy?
W pewnym momencie przestałem myśleć tylko jak developer i zacząłem patrzeć na produkt oczami użytkownika. Artovnia to platforma przede wszystkim dla artystów i twórców rękodzieła, a nie dla programistów.
Standardowy panel administracyjny Medusy jest zbyt rozbudowany, zbyt techniczny i ograniczony do dostępnych widgetów oraz pluginów.
Postanowiłem zrobić całkowicie oddzielny dashboard sprzedawcy. Dzięki temu miałem pełną swobodę projektowania, taką samą, jaką mam przy komercyjnych projektach na appcrates.pl.
Mogłem zaprojektować interfejs tak, żeby prowadził użytkownika krok po kroku. Powstały różne automatyzacje, uproszczone procesy i wizard pomagający przy onboardingu.
Przy każdej decyzji UX zadawałem sobie jedno pytanie: czy to realnie ułatwia życie użytkownikowi? Jeśli odpowiedź brzmiała „tak”, to znaczyło, że idę w dobrym kierunku.

Storefront: Next.js 15 i SEO
Storefront to twarz całej platformy. Jeśli nie jest szybki, nie sprzedaje i nie pojawia się wysoko w Google, to reszta pracy idzie na marne.
Next.js z App Routerem dał mi wszystko, czego potrzebowałem: server-side rendering, wysoką wydajność i pełną kontrolę nad strukturą stron.
SEO wdrożyłem na samym końcu, ale zrobiłem to solidnie: dynamiczne meta dane, automatycznie generowany sitemap, plik robots.txt, własny helper SEO i wykrywanie botów z bezpośrednim kierowaniem ich do API zamiast do Algolii.
Dodatkowo warstwy cache, tagi i edge functions na Vercelu – to wszystko okazało się większym wyzwaniem, niż myślałem. Cały czas optymalizuję.
Artovnia nigdy nie będzie „skończona”. To żywy projekt, który ciągle rozwijam.
To dopiero początek
Piszę ten tekst nie tylko jako podsumowanie jednego projektu, ale jako fragment mojej zawodowej drogi. Appcrates.pl to miejsce, w którym realizuję własne pomysły i pomagam innym budować customowe sklepy oraz marketplace’y.
Artovnia jest dopiero na początku. Teraz przede mną marketing, promocja i docieranie do twórców oraz klientów.
Ten projekt nauczył mnie dwóch rzeczy: że jedyne limity to te, które sami sobie narzucimy, oraz że zawsze jest jeszcze coś nowego do opanowania.
Imposter syndrome jak najbardziej nadal się odzywa, ale z każdym dniem mam coraz więcej narzędzi, żeby sobie z nim radzić.
Chcę, żeby Artovnia stała się największą platformą dla sztuki i rękodzieła w Polsce, a później – kto wie.
Jeśli po przeczytaniu tego pomyślałeś, że chcesz zobaczyć https://artovnia.com albo że przydałby ci się ktoś, kto zbuduje podobny customowy marketplace lub sklep pod twój biznes – to wiesz, gdzie mnie znaleźć.





