- Realizacje
- wynagrodzeniezaslupy.pl
Od frazy w Google do podpisanej umowy. Jeden system.
Serwis wynagrodzeniezaslupy.pl, kalkulator, panel CRM i skaner działek ze słupami - zbudowane od zera dla GAMA OZE w sześć tygodni. Poniżej: co dostał klient, które decyzje podjęliśmy za niego i czym to mierzymy.
- Klient
- GAMA OZE
- Branża
- odszkodowania za słupy i linie
- Zakres
- serwis, kalkulator, CRM, mapa
- Produkcja
- od 5 sierpnia 2026
Liczby, ktore mowia same za siebie
- 5,0 średnia opinii z Google
- 26 adresów w indeksie Google
- 1 779 testów automatycznych
- 6 tygodni do produkcji
Trzy ograniczenia ustawiły cały projekt
GAMA OZE prowadzi sprawy właścicieli działek, na których energetyka postawiła słupy i linie bez umowy. Firma miała proces, kancelarię i wewnętrzny system spraw. Nie miała kanału, który przyprowadza klientów z internetu.
Dostaliśmy jedno zadanie: serwis, który rankuje na frazy o odszkodowaniach za słupy i zamienia wejście z Google w rozmowę handlowca. Zanim powstał pierwszy ekran, spisaliśmy trzy ograniczenia, których nie wolno było złamać.
- Odbiorca
Właściciel działki, 45-70 lat, na telefonie
Często rolnik. Słup stoi „od zawsze”. Nie ufa firmom odszkodowawczym i woli zadzwonić, niż wypełniać formularz. Stąd tekst bazowy 18 px, telefon w każdym widoku i formularz o pięciu polach w jednym kroku.
- Temat
Prawo i pieniądze, czyli pełna odpowiedzialność
Każda kwota, termin i sygnatura na stronie to twierdzenie, za które odpowiada klient. Treść przechodzi przegląd prawny przed publikacją, a liczby bez źródła nie wchodzą - nawet gdy stoją w prezentacji handlowej klienta.
- Granica
Klient ma już system do prowadzenia spraw
Nasz CRM kończy pracę na podpisanej umowie i przekazaniu sprawy. Zero integracji na siłę, zero dublowania statusów kancelarii. Jeden lejek od zgłoszenia do umowy, dalej sprawa żyje u klienta.
Sześć modułów w jednym repozytorium
Strona publiczna, kalkulator, panel CRM i mapa słupów stoją w jednym kodzie, na jednym serwerze i przechodzą te same bramki jakości. Nie ma tu wtyczek, gotowców ani zewnętrznego CRM-u na abonament - jest system, który klient rozumie i ma na własność.
- 01
Serwis pod frazy, nie pod szablon
26 adresów: pillar o służebności przesyłu, gałąź urządzeń (słupy, linia WN, transformator, kabel ziemny, gazociąg), kalkulator, blog i strony zaplecza. Każdy URL ma przypisaną frazę i rolę w lejku - mapa fraz powstała przed pierwszym ekranem.
// 26 URL · 11 artykułów · 1 pillar - 02
Kalkulator, który nie udaje wyceny
Cztery pytania, bez rejestracji i bez numeru telefonu. Wynik to widełki do rozmowy. Odpowiedzi i kwoty z ekranu zapisują się przy zgłoszeniu razem z wersją stawek, więc handlowiec widzi w CRM tę samą liczbę, którą zobaczył klient.
// 4 pytania · formularz 5 pól - 03
Panel CRM od zgłoszenia do umowy
Pulpit z lejkiem, lista z filtrami, karta leada z historią kontaktu, notatkami i przypisaniem. Dziewięć statusów od „nowy” do „wygrany”, eksport XLSX z wpisem w dzienniku audytu, logowanie tylko z drugim składnikiem.
// 9 statusów · 2FA obowiązkowe - 04
Mapa słupów z rejestrów publicznych
Skaner, który dla wskazanej gminy zestawia linie i słupy z BDOT10k z granicami działek z EGiB i adresami z PRG. Wynik: lista działek-kandydatek z priorytetem i miarą pewności, kolejka weryfikacji i osobna baza PostGIS.
// worker w Pythonie · PostGIS · DPIA - 05
Treść po przeglądzie prawnym
Strony i artykuły napisane po ludzku, bez żargonu. Każdy fakt prawny ma stempel „stan prawny na” i wpis w rejestrze przeglądów. Klauzula „treść przeglądamy okresowo” ma pokrycie w dokumencie, nie w dobrych chęciach.
// 18 plików ze stemplem stanu prawnego - 06
Infrastruktura, która wdraża się sama
VPS w Warszawie, Docker, obrazy z GHCR. Push na main przechodzi sześć bramek CI, potem automatyczny deploy z health-checkiem i rollbackiem. Sentry w regionie EU, monitoring dostępności, backupy szyfrowane kluczem, którego nie ma na serwerze.
// 6 bramek CI · rollback automatyczny
-
Kalkulator Cztery pytania i pasek postępu. Wynik pokazuje widełki, nie jedną kwotę - i mówi o tym wprost. -
Gałąź urządzeń Pięć podstron o jednym szkielecie: słupy, linia WN, transformator, kabel ziemny, gazociąg. Każda z własną frazą. -
Telefon Tu czyta większość odbiorców. Przycisk na całą szerokość, telefon pod kciukiem.
Cztery decyzje, które podjęliśmy za klienta
Klient przyszedł z prezentacją handlową i listą fraz. Reszta to były nasze decyzje. Poniżej te, które kosztowały najwięcej rozmów i zmieniły najwięcej w produkcie.
-
Liczby bez źródła nie wchodzą na stronę
- Problem
- Prezentacja handlowa klienta podawała typowy czas do ugody i czas sprawy sądowej. Żadnej z tych liczb nie dało się potwierdzić w publicznym źródle - a strona o pieniądzach odpowiada za każde zdanie.
- Decyzja
- Obie liczby zablokowaliśmy i zastąpiliśmy opisem jakościowym. Każdy fakt prawny dostał datę stanu prawnego, a monitoring orzecznictwa - comiesięczny wpis w rejestrze przeglądów.
- Skutek
- Zero twierdzeń, których klient nie obroni przed urzędem ani przed własnym klientem.
-
Dane leadów nie opuszczają panelu
- Problem
- Branżowy standard to mail z imieniem i telefonem do handlowca. Wygodne, ale dane osobowe krążą po skrzynkach, których nikt nie audytuje.
- Decyzja
- Serwis nie wysyła żadnych powiadomień z danymi. Lead trafia wyłącznie do CRM, za logowaniem z drugim składnikiem. IP zapisujemy jako skrót z solą, leadów nie kasujemy - anonimizujemy.
- Skutek
- Jeden zbiór danych, jedno miejsce kontroli, pełna historia zdarzeń do audytu.
-
Sprawą jest działka, nie słup
- Problem
- Warstwa słupów z BDOT10k ma dokładność kilku metrów, granica działki - geodezyjną. Na dwudziestometrowej działce prosty test „punkt w wielokącie” przenosi słup do sąsiada.
- Decyzja
- Każde przypisanie niesie miarę pewności liczoną z odległości od granicy. Wynik skanera to hipoteza do potwierdzenia w kolejce weryfikacji, nie werdykt.
- Skutek
- Handlowiec dostaje listę z priorytetem i wie, które sprawy wymagają ortofotomapy albo wizyty w terenie.
-
Kolor marki tylko dla akcji, jeden akcent na ekran
- Problem
- Strona o pieniądzach dla odbiorcy 45+ nie może krzyczeć. Żółty marker w nagłówku obniżał powagę, a kolor marki użyty jako tekst nie spełniał progu kontrastu.
- Decyzja
- Teal dostały wyłącznie przyciski i stany „wybrane”. Tekst bazowy 18 px, mono dla kwot, obramowania kontrolek dociągnięte do 3:1 pomiarem, nie na oko.
- Skutek
- Kalkulator, strona i CRM wyglądają jak jedna rodzina narzędzi - razem z wewnętrznym kalkulatorem, na którym klient pracował wcześniej.
Panel, do którego dyrektor wraca po liczby
Zgłoszenie z kalkulatora, formularza albo telefonu ląduje w jednym lejku. Dyrektor widzi, ile leadów przyszło w tym tygodniu, ile czeka na pierwszy kontakt i gdzie sprawy utykają. Każdy wiersz lejka to link do listy z gotowym filtrem.
Na zrzutach są dane syntetyczne. Prawdziwych leadów nie pokazujemy - to nie jest nasz zbiór i nie mamy do niego dostępu z tej strony.
-
Lista leadów Filtry, wyszukiwarka, sortowanie i eksport do Excela - z wpisem w dzienniku, kto i kiedy go pobrał. -
Karta leada Snapshot kalkulatora z tą samą kwotą, którą zobaczył klient, i wersją stawek, na których ją policzono. -
Panel na telefonie Dyrektor odbiera leada w terenie. Nawigacja chowa się w szufladzie, „Zadzwoń” zostaje.
-
Pulpit Tydzień, miesiąc, łącznie i średni czas do pierwszego kontaktu. Lejek „w toku” i „zamknięte” osobno. -
Mapa słupów Skan gminami po kodzie TERYT. Import danych, przebieg i wynik na mapie w czterech krokach, z kolejką weryfikacji.
- Lejek dziewięciu statusów - od „nowy” do „wygrany”, z granicą na przekazaniu sprawy do systemu klienta.
- Historia tylko dopisywana - statusy, notatki, próby kontaktu, przypisania. Nic nie znika, wszystko ma autora i czas.
- Eksport XLSX z dziennikiem audytu - kto, kiedy, ile wierszy i w jakim zakresie filtra.
- 2FA TOTP obowiązkowe - hasła argon2id, sesje 7 dni w ciasteczku HttpOnly, reset unieważnia wszystkie sesje.
- Anonimizacja zamiast kasowania - statystyki źródeł zostają, dane osobowe znikają, zdarzenie trafia do historii.
- Zero powiadomień z danymi - serwis nie wysyła maili z imieniem i telefonem; lead żyje wyłącznie w panelu.
- Samouczek pierwszego logowania - osiem kroków, zapisany per konto, nie per przeglądarka.
- Mapa z osobną bazą PostGIS - dane z rejestrów publicznych trzymamy poza bazą leadów, z własną retencją i sprzeciwem „nie kontaktować”.
Liczby, które da się powtórzyć
Każda liczba niżej ma komendę, która ją odtwarza, i datę pomiaru. Testy chodzą przy każdym pushu, Core Web Vitals mierzymy skryptem z repozytorium na profilu wolnego telefonu - nie na laptopie deweloperskim.
Stack
Jakość
- 1 779
- testów jednostkowych w 139 plikach, komplet zielony w 13 sekund. // npm test · vitest 4 · pomiar 2026-09-11
- 8
- zestawów e2e Playwright - desktop i telefon 390 px, z prawdziwym logowaniem i enrollmentem 2FA. // npm run test:e2e
- 6
- bramek CI przed każdym wdrożeniem: prettier, tsc, eslint, vitest, knip, npm audit. // .github/workflows/ci.yml
- ≤ 64 ms
- INP na siedmiu trasach i CLS 0,0001 na kalkulatorze - profil mobile z czterokrotnie wolniejszym CPU. // scripts/cwv.mjs · 3 przebiegi · 2026-09-11
- 2,1 s
- LCP kalkulatora (mediana) przy 1,6 Mbit/s i 150 ms opóźnienia; strona główna 2,7 s. // ten sam pomiar, profil „standard”
Co mierzymy i kiedy pokażemy wynik
Serwis jest na produkcji od 5 sierpnia 2026. Wyniki SEO w tej branży przychodzą po miesiącach, nie po tygodniach - dlatego nie publikujemy tu liczb, których jeszcze nie ma. KPI ustaliliśmy przed pierwszym ekranem i to one wracają w raporcie.
- KPI 1 Leady / mies.
Formularz i telefon, liczone w CRM, nie w Analytics. Cel liczbowy ustalamy z klientem po pierwszym miesiącu danych - wcześniej byłby zgadywaniem.
// pomiar: pulpit CRM - KPI 2 TOP 10
Na frazy główne z mapy fraz - „odszkodowanie za słupy energetyczne”, „służebność przesyłu wynagrodzenie” i pochodne. Horyzont: 4-9 miesięcy.
// pomiar: Search Console - KPI 3 ≥ 3 %
Konwersja wejście → lead na ruchu organicznym z fraz komercyjnych. Liczona z kliknięć w Search Console i zgłoszeń w CRM.
// pomiar: GSC × CRM
Pierwszy raport z liczbami: po 90 dniach od startu, na początku listopada 2026. Ta strona dostanie wtedy sekcję z wynikami - datowaną, z komendą pomiaru, którą da się powtórzyć. Do tego czasu stan techniczny wyżej jest jedynym, co możemy uczciwie pokazać.
Pytania, które padają po tym case study
Zebrane z rozmów o podobnych systemach. Kwoty z cennika, terminy z tego projektu. Nie ma tu Twojego pytania? Napisz - odpowiemy bez owijania.
Zadaj pytanieWolisz porozmawiać?
Zadzwoń w godzinach pracy na numer +48 731 412 684. Bez infolinii, odbiera człowiek z zespołu.
Ile kosztuje taki serwis z panelem CRM?
Strona firmowa z blogiem to 5 500 - 9 000 zł, system CRM od 9 500 zł w wersji podstawowej i od 18 000 zł z lejkiem sprzedaży, raportami i eksportem. Moduł mapy wyceniamy osobno, bo zależy od źródeł danych i zakresu weryfikacji. Pełne widełki z terminami są w cenniku - jawnie, bez „wycena indywidualna” przy każdej pozycji. Sprawdź cennik systemów CRM .
Ile trwało wdrożenie?
Od planu do produkcji sześć tygodni: plan 30 lipca 2026, pierwszy commit 4 sierpnia, pierwszy automatyczny deploy 5 sierpnia. Strona publiczna działała od pierwszego tygodnia, CRM i mapa dochodziły etapami na żywym serwisie - do 11 września repozytorium miało 568 commitów.
Czy kod i dane są własnością klienta?
Tak. Repozytorium Git, obrazy Dockera, baza na VPS klienta i klucz do backupów są jego. Nie ma licencji per użytkownik ani zamkniętego panelu, z którego nie da się wyjść. Prawa majątkowe przechodzą umową po zapłacie za etap.
Dlaczego Next.js, skoro strony budujecie w Astro?
Bo ten projekt to aplikacja z logowaniem, sesjami, 2FA i mapą, a nie strona statyczna. Astro daje najszybsze strony marketingowe - tak zbudowany jest digidraft.pl. Gdy pojawia się panel z uprawnieniami i baza z danymi osobowymi, bierzemy framework serwerowy. Stack dobieramy do zadania, nie do przyzwyczajenia.
Jak wygląda RODO w takim systemie?
Dane leadów zostają w CRM za logowaniem z drugim składnikiem. Serwis nie wysyła powiadomień z danymi osobowymi, adres IP zapisuje jako skrót z solą, a leadów nie kasuje - anonimizuje, żeby statystyki zostały. Moduł mapy, który przetwarza dane z rejestrów publicznych, dostał ocenę skutków dla ochrony danych i mechanizm sprzeciwu „nie kontaktować”.
Zrobicie podobny system dla innej branży?
Tak, jeśli macie proces, który da się opisać lejkiem, i klientów, którzy szukają was w Google. Sprawdza się u kancelarii, firm odszkodowawczych, instalatorów i w usługach z dłuższą decyzją zakupową. Zaczynamy od briefu i mapy fraz, kod wchodzi dopiero po zaakceptowanym scope. Opisz swój proces .
Wyceń projekt
Wycena, termin i pierwszy pomysł na realizację - na maila w 24h. Możesz też zobaczyć pełny cennik.
Wysłane!
Odezwiemy się do 24 godzin.