Aplikacja serwisowadla firmy HVAC.
Zamiast zleceń ustalanych w wiadomościach na WhatsAppie — jedna aplikacja dla biura i serwisantów. Lista kontrolna przy urządzeniu, podpis klienta na ekranie telefonu i protokół PDF gotowy w chwili odbioru zlecenia.

Punkt wyjścia
Serwis prowadzony na WhatsAppie
Firma instalacyjno-serwisowa realizuje kontrakt na regularne przeglądy klimatyzacji w wielu obiektach. Wcześniej nie miała żadnego systemu — biuro i ekipa komunikowały się przez WhatsApp, a informacje o zleceniach rozchodziły się po wiadomościach i telefonach poszczególnych osób.
Przed
- closeBrak systemu — zlecenia i ustalenia przekazywane w wiadomościach na WhatsAppie
- closeInformacje rozproszone po czatach i telefonach poszczególnych osób
- closeBrak wspólnej bazy obiektów i urządzeń
- closeBrak pulpitu statusów i historii — kto, co i kiedy zrobił
Po wdrożeniu
- checkJedna aplikacja dla biura, serwisantów i zamawiającego
- checkZlecenie trafia do serwisanta od razu, z powiadomieniem push
- checkWyniki, uwagi, materiały, zdjęcia i podpis wracają do biura same
- checkPulpit statusów na żywo i dziennik każdej zmiany
Obieg zlecenia
Od zgłoszenia do protokołu — w jednym miejscu
- add_task01
Biuro tworzy zlecenie
Obiekt i urządzenia z wykazu albo dopisane ręcznie, priorytet, uwagi, jeden lub kilku serwisantów.
- notifications_active02
Serwisant dostaje powiadomienie
Push z linkiem prosto do zlecenia — pilne zgłoszenia są wyróżnione na liście zadań.
- checklist03
Lista kontrolna przy urządzeniu
Czynności wg umowy (12 pkt), kontrola F-gaz (7 pkt) lub dygestorium (3 pkt), wynik, uwagi, materiały i zdjęcia.
- draw04
Podpis klienta i zamknięcie
Klient podpisuje palcem na ekranie, serwisant wpisuje czas pracy i liczbę osób. Brak klienta? Zamknięcie z podaniem powodu.
- fact_check05
Odbiór w biurze
Biuro odbiera zlecenie, wpisuje cenę netto — protokół PDF jest gotowy do wysłania.
Serwisant w terenie
Zaprojektowana do pracy przy urządzeniu, nie przy biurku
Nadrzędna zasada projektu: serwisant ma nie myśleć o aplikacji. Instaluje ją na telefonie jak zwykłą aplikację, a w piwnicy bez zasięgu pracuje dalej — synchronizacja nadrobi się sama.
Obsługa w rękawicach
Cele dotykowe minimum 48 px, jeden ekran = jedno zadanie, wysoki kontrast do pracy w słońcu.
Brak zasięgu nie przeszkadza
Zmiany trafiają do lokalnej kolejki (IndexedDB) i synchronizują się same, gdy telefon złapie sieć.
Dyktowanie uwag
Opis usterki można podyktować zamiast pisać na małej klawiaturze (Web Speech API).
Zgłoszenie potrzebnego towaru
Serwisant zaznacza, czego brakuje — biuro dostaje powiadomienie i zmienia status na „zamówiono towar".




Panel biura
Biuro widzi wszystko na żywo — i ma to na piśmie
Koordynator przydziela pracę, pilnuje terminów i rozlicza zlecenia bez telefonów do ekipy. Każda zmiana ma autora i datę, a zamawiający może zajrzeć w postęp prac na własnym koncie.
Pulpit statusów
Liczniki obiegu, filtry, wyszukiwarka i postęp każdego zlecenia w procentach.
Przeglądy półroczne
Jeden przegląd generuje zlecenia dla wszystkich obiektów i kończy się protokołem zbiorczym.
Raporty CSV i PDF
Usterki, zużyte materiały i wykonane przeglądy — z filtrem dat i obiektu.
Dziennik zmian
Kto zmienił status, cenę czy priorytet, z wartością przed i po — pełna rozliczalność.
Konto zamawiającego
Podgląd tylko przypisanych obiektów, bez cen i bez możliwości zapisu — blokada w API, nie tylko w interfejsie.
Anulowanie z powodem
Każde anulowanie wymaga uzasadnienia i zostaje w historii zlecenia.



Protokół serwisowy
Dokument dla klienta generuje się sam
Po zamknięciu zlecenia serwer składa protokół PDF: dane obiektu, serwisanci z certyfikatami F-gaz, czas pracy, wynik każdego urządzenia z listą wykonanych czynności, uwagi, materiały, zdjęcia i podpis odbiorcy. Zamawiający dostaje wersję bez ceny, a przegląd półroczny kończy się protokołem zbiorczym.

Bezpieczeństwo i dane
Podpisy, zdjęcia i ceny pod kontrolą
Aplikacja przechowuje podpisy klientów, zdjęcia z obiektów i ceny usług, a konto zamawiającego ma widzieć tylko swoje. Dlatego zabezpieczenia są w API, a nie wyłącznie w wyglądzie interfejsu.
- keyKrótkie tokeny dostępu (15 min) tylko w pamięci, odświeżanie w ciasteczku HttpOnly z rotacją
- lock_clockLimit prób logowania, Content-Security-Policy i nagłówki bezpieczeństwa
- location_offZdjęcia sprawdzane i kodowane na nowo — bez EXIF i współrzędnych GPS
- admin_panel_settingsUprawnienia do zleceń rozstrzygane w jednym miejscu po stronie serwera
- policyInformacja RODO przy podpisie klienta i analiza przetwarzania danych
Przebieg współpracy
Pierwsza wersja po tygodniu, rozwój z uwag ekipy
Tydzień 1
Plan i prototyp
Rozmowa z biurem i serwisantami, spisanie obiegu, model danych, makiety.
Po 7 dniach
Pierwsza wersja w firmie
Ekipa zaczyna testy na prawdziwych zleceniach „od czystej karty".
10 tygodni
17 aktualizacji
Kolejne funkcje z uwag użytkowników: towar, czas pracy, cena, anulowanie, zlecenia zakładane przez serwisanta.
Dziś
Na serwerze klienta
Przeniesienie na własny hosting firmy, paczki aktualizacji z migracjami bazy — bez dostępu do konsoli.
Stack technologiczny
Nowoczesny front, tanie w utrzymaniu zaplecze
Backend celowo bez ciężkiego frameworka — aplikacja działa na zwykłym hostingu współdzielonym, bez osobnego serwera i bez stałej opłaty za platformę.
Aplikacja (PWA)
- check_circleReact 19 + Vite
- check_circleReact Router 7
- check_circleService Worker i instalacja na telefonie
- check_circleIndexedDB — kolejka offline
- check_circleWeb Push (VAPID)
- check_circleWeb Speech API
API i dane
- check_circlePHP 8 + Slim 4
- check_circleMySQL / MariaDB — 28 tabel
- check_circle60 endpointów REST
- check_circledompdf — protokoły i raporty
- check_circleSynchronizacja /sync pull + push
Wdrożenie
- check_circleHosting współdzielony — niski koszt utrzymania
- check_circlePaczki aktualizacji z migracjami
- check_circleDziennik zmian (audit log)
- check_circleAnaliza bezpieczeństwa i RODO
Realizacja prezentowana anonimowo — nazwa firmy, zamawiający i dane z obiektów nie są publikowane. Zrzuty ekranu pochodzą z wersji demonstracyjnej z fikcyjnymi danymi, zbudowanej na tym samym kodzie.
Twoja ekipa też pracuje na komunikatorze?
Zamieńmy Twój obieg zleceń w aplikację
Serwis, montaże, przeglądy, odbiory — jeśli zlecenia krążą dziś między telefonem, papierem i arkuszem, zacznijmy od rozmowy o tym, jak pracuje Twoja firma.