← Portfolio Case Study

Zakwaterowania MVP — wyszukiwarka kwater dla ekip budowlanych w Niemczech

Klient: Firma budowlana delegująca ekipy do Niemiec (anonimizowane) Czas: Kilka dni
Next.js 14TypeScriptTailwind CSSResendVercelmonteurzimmer.deGeocoding

Przed

  • Klient miał 8 pomysłów automatyzacji naraz i praktycznie zero systemów
  • Szukanie noclegów dla ekip było ręczne, powtarzalne i zależne od wielu kryteriów
  • Po rozmowie sprzedażowej lead ostygł — kolejne ponaglenie tylko zwiększyłoby tarcie
  • Nie było pewności, czy dane z portalu noclegowego da się stabilnie wyciągnąć i posortować

Po

  • Wdrożony MVP na własnej subdomenie: kwatery.arturmrowicki.pl
  • 172 ustrukturyzowane oferty z jednego zapytania, z geolokalizacją i kontaktem
  • Filtry: cena, odległość, liczba osób, kuchnia, lodówka, pralka, parking
  • Edytowalny szablon zapytania po niemiecku + bezpieczna wysyłka testowa przez Resend
  • Powstał live dowód i powtarzalny moduł sprzedażowy dla firm budowlanych w Niemczech

Live MVP: kwatery.arturmrowicki.pl

Kontekst

Lead przyszedł z OLX: polska firma realizująca podwykonawstwo budowlane w Niemczech, około 20 osób, zmienne zlecenia i bardzo mało uporządkowanych systemów. W jednej rozmowie pojawiło się osiem możliwych automatyzacji: pozyskiwanie niemieckich kontrahentów, baza ekip, karty godzin, dokumenty, faktury, strona, kalkulacje i wyszukiwanie zakwaterowań.

Zamiast wyceniać cały chaos, wybrałem jeden wąski moduł: wyszukiwarkę kwater blisko budowy. To był najlepszy kandydat na MVP, bo miał jasne wejście, jasne wyjście i mierzalną wartość: mniej ręcznego klikania, szybszy kontakt z właścicielami noclegów i większa szansa na tańsze pokoje niż przez ogólne portale.

Dlaczego akurat kwatery

Klient potrzebował zakwaterowań dla ekip pracujących w Niemczech. Kryteria były konkretne: do 25-30 EUR za osobę za noc, pokoje dla 2-3 osób, do 30 km od budowy, kuchnia, lodówka, pralka i parking dla busa jako mocny plus. To nie jest ogólna rezerwacja hotelu. To typowy operacyjny problem firm wysyłających ludzi w teren.

Najważniejsza decyzja: nie robić "platformy". Zrobić jeden przepływ: wpisujesz kod pocztowy budowy i liczbę osób, dostajesz ranking najbliższych pasujących ofert, zaznaczasz wybrane i generujesz niemieckie zapytanie.

Zwrot akcji

Po dwóch dobrych rozmowach lead nagle zamilkł. Wcześniej odpowiadał szybko, potem odczytał podsumowanie i nie wrócił. Diagnoza była niewygodna, ale potrzebna: droga do startu była za długa, rozmowa za mocno eksponowała ryzyka, a dodatkowa płatna konsultacja po wcześniejszym zaakceptowaniu widełek mogła wyglądać jak krok w tył.

W takiej sytuacji kolejne "daj znać" nic nie wnosi. Lepszy ruch: zbudować dowód. Czyli zamiast mówić "da się", pokazać działający link.

Recon danych

Źródłem był portal monteurzimmer.de, czyli niemieckie ogłoszenia noclegów dla ekip pracowniczych. Kluczowe odkrycie: strona nie ukrywała wszystkiego za ciężkim JavaScriptem. Wyniki były renderowane po stronie serwera, a w HTML znajdował się ustrukturyzowany blok danych z ofertami.

Najcenniejszy fragment: ukryty blok z tablicą ofert zawierającą nazwę, e-mail, telefon, WhatsApp, ulicę, kod pocztowy, miasto, współrzędne geo, ceny, pojemność i udogodnienia. W jednym zapytaniu dało się wyciągnąć 172 oferty. Dzięki współrzędnym można było liczyć prawdziwy dystans od budowy, a nie tylko pokazywać przypadkową listę wyników.

Rozwiązanie

Najpierw powstało szybkie demo w Pythonie: kod pocztowy, liczba osób, filtr ceny i HTML-owy raport. Potem przepisałem to na wdrożony MVP w Next.js, żeby powstał produkt, który można wysłać klientowi jako link.

1. Wyszukiwanie po kodzie budowy

Użytkownik wpisuje niemiecki kod pocztowy budowy, liczbę pracowników, maksymalną cenę za osobę i maksymalny promień. Aplikacja pobiera oferty, geokoduje lokalizację budowy i sortuje wyniki po dystansie liczonym haversine.

2. Kryteria operacyjne, nie hotelowe

Dla tego typu klienta "ładny pokój" jest mniej ważny niż kuchnia, lodówka, pralka i parking. MVP oznacza więc każdą ofertę badge'ami kryteriów i pozwala szybko zobaczyć, które noclegi mają realny sens dla ekipy budowlanej.

3. Zapytanie po niemiecku

Po zaznaczeniu ofert użytkownik dostaje gotowy, edytowalny szablon wiadomości po niemiecku. To usuwa kolejny ręczny krok: nie tylko "znajdź kwatery", ale też "napisz do nich w sensowny sposób".

4. Bezpieczna wysyłka testowa

Publiczny link nie może spamować realnych ogłoszeniodawców. Dlatego wysyłka przez Resend działa w trybie testowym: można pokazać pełny flow, ale wiadomości trafiają na adres testowy, nie do właścicieli kwater. To świadomy bezpiecznik produktowy, nie tylko detal implementacyjny.

Wynik

Klient finalnie nie wrócił. To nie jest ukryte, bo to ważna część historii. Natomiast praca nie została zmarnowana: powstał wdrożony, działający MVP pod własną domeną oraz powtarzalny moduł sprzedażowy dla całego segmentu firm delegujących ekipy do Niemiec.

Najważniejszy rezultat: z niepewnej rozmowy powstał konkretny live dowód. Następnemu klientowi z tej branży nie trzeba opowiadać, że "da się zautomatyzować szukanie kwater". Można pokazać link, wpisać kod pocztowy i przejść przez cały proces.

Co można rozbudować dalej

  • wysyłka z domeny klienta, np. kwatery@firma.pl, po konfiguracji SPF/DKIM,
  • dedykowana skrzynka na odpowiedzi od właścicieli kwater,
  • kwalifikujące pytania w mailu: parking, faktura, minimalny pobyt, dostępność od daty,
  • więcej źródeł danych poza monteurzimmer.de,
  • AI personalizujące treść zapytania do konkretnej oferty i wymagań ekipy.

Wnioski

To case study dobrze pokazuje, kiedy MVP ma sens: nie wtedy, gdy "budujemy małą wersję wielkiej platformy", tylko wtedy, gdy izolujemy jeden kosztowny proces i robimy z niego działające narzędzie. Zakres jest mały, ale wynik jest prawdziwy: formularz, dane, filtry, kontakt, wysyłka testowa, deploy i własna domena.

Druga lekcja jest sprzedażowa: gdy lead stygnie, presja zwykle nie pomaga. Działający dowód pomaga częściej. A jeśli taki dowód jest aktywem dla całego segmentu, jego wartość nie zależy od jednego klienta.

Masz podobny problem?

Opisz go własnymi słowami — krótka rozmowa zbierze kontekst, Artur przygotuje wycenę w 48h.

Opisz problem