Transport / Projekt własny
GeoStops.
Od danych GPS do przeglądu postojów.
Jak sprawnie przejrzeć postoje z całego miesiąca? Aplikacja porządkuje dane z GBoxa i pokazuje wybrane miejsca na zdjęciach satelitarnych oraz w Street View.
Zobacz, jak działaFirma transportowa, 8 pojazdów | Budowa aplikacji i wdrożenie | Uruchomiona u użytkownika w lutym 2026
GEOSTOPS- 01GBoxdane GPS, synchronizacja w tle
- 02Postojegrupowanie i próg czasu
- 03Widok satelitarnypytanie: co to za miejsce?
- 04Street Viewodpowiedź w kilka sekund
01 / PROBLEM
Setki postojów. Jak je sprawnie przejrzeć?
Firma transportowa z taborem ośmiu pojazdów, zajmująca się przewozem paliw i bitumów, korzysta z systemu telematyki EUROWAG GBox. Właściciel sam pilnuje rozliczania tras kierowców.
Pierwszym problemem nie były postoje, tylko rentowność zleceń. Zleceniodawca przysyła zestawienia w Excelu i PDF-ie, a właściciel ręcznie ustala, które auto wykonało które zlecenie i czy się opłaciło. Kilka godzin tygodniowo. Aby to zautomatyzować, trzeba najpierw rozumieć trasę, a więc wiedzieć, jaką funkcję pełnią miejsca, w których pojazd miał postój. Stąd potrzeba oznaczania punktów jako baza, załadunek, rozładunek.
W październiku 2025 pojawiło się podejrzenie, że paliwo znika w trasie. Właściciel miał w GBoxie komplet danych GPS, ale to nie wystarczyło. Problemem nie był brak danych, tylko brak sposobu, żeby je efektywnie przejrzeć. Pojazd zatrzymuje się w miesiącu setki razy, a pytanie brzmi: które postoje były uzasadnione, a które nie.
Wcześniejsze narzędzie, które powstawało do rozliczeń (wtedy jeszcze w wersji roboczej), użyte do tej sprawy wskazało podejrzane miejsca w parę minut. Przy okazji obnażyło nieścisłości w samym procesie obsługi zleceń. To przesunęło uwagę projektu na wykrywanie postojów, a automatyzacja rozliczeń została w miejscu, w którym była.
03 / WYBÓR
Co wybrałem i dlaczego
Aplikacja webowa (Django, PostgreSQL), nie skrypt na własnym komputerze. Narzędzie ma być łatwo dostępne dla klienta, bez instalowania czegokolwiek.
-
Własna kopia danych zamiast odpytywania GBoxa na bieżąco.
Aplikacja pobiera dane historyczne raz i trzyma je w bazie danych, nowe pozycje są synchronizowane na bieżąco. Przeglądanie tysięcy punktów przez zewnętrzne API byłoby wolne i zawodne, a osiągnięcie limitu zapytań bardzo realne.
Pierwsza synchronizacja sięga rok wstecz, a potem historia narasta. Po roku korzystania klient ma pod ręką dwa lata danych, od razu, bez występowania o archiwum. Im dłużej narzędzie działa, tym jego wartość diagnostyczna rośnie.
-
Mapa satelitarna i Street View
Pytanie brzmi „gdzie jest punkt” i „co ten pojazd tam robił”. Kluczowa funkcja, przeniesiona wprost z pracy ręcznej, w której ocena jednego miejsca oznaczała kopiowanie współrzędnych do przeglądarki, punkt po punkcie.
-
Filtr długości postoju jako parametr, nie sztywna liczba.
Sam czas nie pozwoli odróżnić planowanego rozładunku od postoju bez powodu: próg daje możliwość zawężenia listy postojów, natomiast o znaczeniu miejsca decyduje lokalizacja.
-
Rozdzielenie danych klientów
To samo rozwiązanie da się postawić zarówno wspólnie, jak i osobno na serwerze klienta, wyłącznie z jego danymi.
Świadome uproszczenie
Przy grupowaniu postojów porzuciłem rozróżnianie kierowców, bo ich identyfikator w danych z GBoxa często bywał pusty. Przyczyna jest natury ludzkiej, nie technicznej: identyfikacja wymaga przyłożenia taga, a to czynność, którą ktoś musi wykonać i nie zawsze wykonuje.
To uproszczone podejście w tym przypadku nie stanowiło problemu, ponieważ danym pojazdem najczęściej porusza się wybrany kierowca, a ewentualne zmiany są łatwe do sprawdzenia.
Pierwsza wersja powstała w n8n, nie jako aplikacja.
Synchronizacja z GBoxem działała jako zestaw przepływów na platformie do automatyzacji i był to dobry wybór na start, który umożliwił sprawne zapoznanie się z udostępnionym API.
Z biegiem czasu logiki w przepływach było tyle, że większość i tak była umieszczona w blokach kodu. Całość rozrosła się do kilku współpracujących ze sobą przepływów, które dzieliły stan i wzajemnie się wywoływały, a każda kolejna funkcja dokładała powiązań.
W tym miejscu edytor wizualny przestał pomagać: zmianę trzeba wyklikać zamiast przeczytać, a pół roku później odtworzyć z pamięci, co się z czym łączy. Skoro i tak pracuję z kodem, to decyzja o aplikacji na tym etapie była jasna.
04 / REALIZACJA
Jak powstała aplikacja i jak wygląda
Kolejność była następująca: najpierw szkielet i pobieranie danych z GBoxa, potem grupowanie pozycji w postoje i przechodzenie punkt po punkcie, mapa, Street View. Następnie dopracowana została synchronizacja, bo to ona decyduje o tym, czy dane są aktualne i prawidłowe. Na koniec aplikacja została uruchomiona na serwerze produkcyjnym.
Interfejs jest prosty i skupiony na określonej funkcjonalności, a logika pod spodem odpowiada za sprawne działanie. Wszystko to wymagało zaplanowania. Kolejne funkcje układałem w kamienie milowe, a pracę prowadziłem w dwutygodniowych cyklach. Każda zmiana wchodziła osobnym zadaniem, żeby dało się śledzić postęp, z przeglądem kodu i testami przed włączeniem do wersji głównej. Błędy w interfejsie i w samej logice oraz awarie takie jak zatrzymująca się synchronizacja czy nieładujące się dane trafiały do tego samego miejsca, żeby nie zginęły i żeby dało się zaplanować naprawę według priorytetu. Część z nich wyszła dopiero w środowisku produkcyjnym po wdrożeniu, na działającej instalacji.
- 01
718 postojów
Jeden pojazd, czerwiec, bez filtra
- 02
396 miejsc
Po odfiltrowaniu pozycji zerowych
- 03
Próg czasu
Lista zawężona do dłuższych postojów
- 04
Ocena miejsca
Widok satelitarny i Street View
Powiększ zrzut ↗
Powiększ zrzut ↗
Powiększ zrzut ↗
Jak działa narzędzie
Widok satelitarny stawia pytanie. Street View na nie odpowiada.
Powiększ zrzut ↗
05 / EFEKT
Co się udało i czego się nauczyłem
Co się udało. Demonstracyjne narzędzie do rozliczeń sprawdziło się w sprawie, która uruchomiła ten projekt: wskazało podejrzane miejsca w parę minut. GeoStops trafił do rąk użytkownika w lutym 2026. Klient samodzielnie przeszedł onboarding, skonfigurował dostęp do GBoxa i wykonał pierwszą pełną synchronizację: rok danych wstecz w 14 minut (8 pojazdów). Całą ścieżkę pierwszego uruchomienia przeszedł sam, na własnych danych, bez mojego udziału.
Czego się z tego projektu nauczyłem. Zbudowałem narzędzie wokół jednorazowego zdarzenia, a takie narzędzie nie ma czym przypomnieć o sobie, kiedy sprawa zostaje rozwiązana, a na biurku leży dziesięć pilniejszych tematów. Narzędzie wpięte w pracę, która wraca co tydzień, otwiera się samo, bo wraca powód.
Aplikacja została uruchomiona na serwerze, z własną domeną i logo. Powstała jako produkt, a nie jednorazowa usługa, bo klient sam podsunął myśl, że narzędzie może przydać się także innym. Ta ścieżka wciąż jest otwarta. Narzędzie istnieje i da się je postawić dla kogoś innego: równie dobrze na miesiąc, żeby wyjaśnić jedną konkretną sprawę, jak i na stałe.
Porozmawiajmy o Twojej firmie
Porozmawiajmy o tym, jak pracuje Twoja firma.
Opowiedz, jak wygląda codzienna praca w Twojej firmie. Nie musisz wiedzieć, co można usprawnić. Podczas 30-minutowej rozmowy poznam Twoją sytuację i wspólnie ustalimy, czy warto przejść do audytu.
Bezpłatnie i bez zobowiązań. 30 minut przez telefon lub Google Meet.
Napisz do mnie, ustalimy dogodny termin.
