FieldOps

Case study, nie broszura

FieldOps wyrósł z konkretnej roboty: firma instalacyjna prowadziła osiem ekip w arkuszu i przestawała nad tym panować. Ta strona mówi, co w środku już działa, co jest dopiero szkicem i na czym całość stoi. Bez owijania.

Demo wchodzi bez konta i bez hasła, na danych wymyślonych.

Opsik, maskotka FieldOps: monter w kasku

Opsik Asystent w prawym dolnym rogu aplikacji. Pytasz po polsku, on przełącza widoki i tłumaczy, gdzie co leży.

Co siedzi w demie

Dane są wymyślone, kod prawdziwy. Zestaw generuje się przy pierwszym wejściu, razem z celowymi kolizjami terminów, żeby widać było, jak apka na nie reaguje.

4 branże do przełączenia: PV, światłowód, klimatyzacja, elektryka
8 monterów w każdej branży, z urlopami i obłożeniem
18 widoków w lewym pasku aplikacji
6 tygodni grafiku w przód, plus miniony tydzień

Moduły, po kolei

Każdy z nich odpowiada jednej pozycji w lewym pasku. Wszystkie chodzą na tych samych danych.

Mapa

Leaflet z klastrowaniem, monterzy i zlecenia na jednej warstwie, filtry grup, hotele delegacyjne. Adresy geokodują się z cache, żeby nie pytać dwa razy o to samo.

Kalendarz

Dzień, tydzień i miesiąc. Zlecenia przeciągasz między monterami, siatka przelicza dojazdy i pokazuje, gdzie dzień się rozjeżdża.

Doradca terminów

Klient dzwoni z pytaniem o czwartek. Doradca liczy kandydatów z grafiku i kosztu dojazdu, i mówi, który slot naprawdę się spina.

Monterzy i urlopy

Grupy zawodowe z kolorami, obłożenie, nieobecności i święta. Grafik sam pomija kogoś, kto jest na urlopie.

Import i eksport

Kreator mapuje kolumny dowolnego CSV na pola zlecenia, z podglądem przed wgraniem. Wyjście do Excela jednym kliknięciem.

Widok montera

Osobny tryb na telefon: plan dnia, trasa, dane klienta, zamykanie zlecenia ze zdjęciem i podpisem. PWA, działa też bez zasięgu.

Rdzeń jest wspólny, branżę wybiera się przełącznikiem

Fotowoltaika Światłowód Klimatyzacja Elektryka

Od pliku do planu dnia

Trzy kroki, które w demie możesz przejść od początku do końca.

01

Zlecenia wchodzą do środka

Z pliku CSV przez kreator importu, z formularza rezerwacji dla klienta albo wpisane ręcznie w kreatorze. Adres zamienia się we współrzędne, zlecenie ląduje na mapie.

02

Dyspozytor układa tydzień

Przypisanie montera na mapie albo przeciągnięcie w kalendarzu. Po każdej zmianie widać dojazdy między wizytami i kolizje, których wcześniej nikt nie zauważał.

03

Ekipa dostaje swój dzień

Monter otwiera widok mobilny, zamyka zlecenie zdjęciem i podpisem klienta, wpisuje zużyty materiał. Status wraca do dyspozytora bez telefonu.

Co działa, a co jest szkicem

Najważniejsza sekcja tej strony. Demo nie udaje produktu skończonego.

Działa

Mapa, kalendarz, monterzy, zlecenia

Rdzeń planera. Przeciąganie, dojazdy, kolizje, urlopy, filtry, import i eksport. To jest kod, na którym można pracować.

Działa

Widok montera na telefonie

Plan dnia, trasa, zamykanie zlecenia z załącznikiem. PWA z zapisem offline, można przypiąć do ekranu głównego.

W toku

Komunikacja i wiadomości

Wybór odbiorcy, szablony i skrzynka z wątkami stoją, ale wysyłka do klienta idzie na razie tylko z demonstracyjnych skrzynek. Docelowo to jeden kanał na maile i powiadomienia.

W toku

Materiały przy zleceniu

Zużycie materiału monter wpisuje z telefonu, ale magazyn nie ma jeszcze własnego modelu w bazie, więc stany nie schodzą automatycznie.

Szkic

Magazyn, dokumenty, raporty

Te trzy widoki pokazują docelowy kierunek na danych przykładowych. Wyglądają jak reszta aplikacji, ale pod spodem nie ma jeszcze logiki.

Szkic

Automatyczne układanie grafiku

Dziś aplikacja liczy i podpowiada, ale plan układa człowiek. Silnik, który sam rozdaje zlecenia na ekipy, jest w planach, nie w kodzie.

Pod maską

Dla tych, którzy pytają, czy to nie jest klikane w kreatorze.

Front
Vanilla JS zbudowane Vitem, z wyspami Reacta tam, gdzie stan naprawdę tego wymagał. Mapa na Leaflecie z klastrowaniem, bez frameworka mapowego.
Hosting i dane
Cloudflare Pages, logowanie i zlecenia w D1, załączniki z terenu w R2 za własnym endpointem, nigdy w publicznym buckecie.
Tryb offline
Service worker trzyma widok montera i ostatnie dane, więc plan dnia otwiera się w piwnicy bez zasięgu.
Asystent
Rotacja darmowych dostawców modeli (Cerebras, Gemini, OpenRouter, NVIDIA NIM) z fallbackiem na odpowiedzi wpisane na sztywno, żeby brak klucza nie psuł dema.
Wielojęzyczność
Polski, niemiecki i angielski, z bramką w buildzie, która pilnuje, żeby nowe teksty nie wchodziły na sztywno do kodu.
Konfiguracja pod branżę
Typy zleceń, pola formularzy i grupy zawodowe siedzą w plikach konfiguracyjnych najemcy, nie w kodzie widoków.

Pytania, które wracają

Muszę zakładać konto, żeby wejść?
Nie. Na stronie logowania jest przycisk „Wejdź jako gość", bez hasła i bez maila. Dostajesz pełną aplikację na danych przykładowych.
Czy to jest przypisane do fotowoltaiki?
Nie. Mapa, kalendarz, zlecenia i zespół są wspólne, a branżę wybiera się przełącznikiem w aplikacji. Każda ma własne typy zleceń, pola formularzy i słownictwo. W demie są cztery, dołożenie piątej to plik konfiguracyjny, nie przepisywanie widoków.
Skąd biorą się dane w demie?
Z generatora wbudowanego w aplikację: miasta, ulice, klienci i typy robót są losowane z listy, ale zawsze tak samo, bo ziarno losowania jest stałe. Możesz też wgrać własny plik CSV. Dane gościa zostają w Twojej przeglądarce, nic nie leci na serwer.
Czy mogę coś w demie zepsuć?
Nie na stałe. Klikaj, przeciągaj, usuwaj. Wyczyszczenie danych przeglądarki wraca do stanu początkowego, a inni odwiedzający mają swoją kopię.
Monterzy potrzebują osobnej aplikacji ze sklepu?
Nie. Widok montera otwiera się w przeglądarce telefonu i można go przypiąć do ekranu głównego. Działa jak aplikacja, aktualizuje się jak strona.
Kto to zrobił i po co?
Jedna osoba, jako projekt produktowy: od zebrania potrzeb dyspozytora, przez interfejs, po wdrożenie na Cloudflare. Kod aplikacji jest oddzielony od danych i rozwiązań firmy, z której wziął się pomysł.
Ile to kosztuje?
Na tym etapie nic, bo nie ma czego sprzedawać. Docelowy kierunek to abonament liczony od aktywnego montera, ale najpierw musi zniknąć wszystko, co wyżej ma znacznik „szkic".

Obejrzyj sam

Czytanie o planerze jest nudne. Otwórz mapę, przeciągnij zlecenie na innego montera i sprawdź, co się stanie z jego dniem.