System Fala

Kompleksowy redesign oparty o analizę ponad 100 recenzji, wywiady IDI z pasażerami i 25-stronicowy audyt heurystyczny. Projekt skupiony na ujednoliceniu interfejsu zakupu i funkcji biletowania.

Zobacz prototyp ↗
System Fala – ekrany aplikacji mobilnej
Title
System Fala
Industry
Aplikacja mobilna B2C / Transport publiczny / Sektor publiczny
Role
UX Research, UI Design, współpraca z QA
Tools
Figma, analiza App Store / Google Play
Date
2026
Aplikacja System Fala – ekran główny

Przegląd i kontekst rynkowy

System Fala to zintegrowany ekosystem biletowy obsługujący transport miejski oraz kolejowy w województwie pomorskim. Od sierpnia 2025 roku, po konsolidacji kanałów sprzedaży biletów okresowych, aplikacja stała się główną regionalną platformą transakcyjną dla ruchu masowego. Zmiana ta wywołała gwałtowny wzrost wolumenu transakcji, stawiając interfejs przed wyzwaniem natychmiastowej obsługi zróżnicowanej bazy pasażerów. Zderzenie założeń systemowych z opiniami użytkowników (Review Mining) wskazało na pilną potrzebę wdrożenia rozwiązań zwiększających pewność podróży w warunkach ograniczonego dostępu do sieci.

Wyzwania biznesowe:

Lokalizacja i eliminacja krytycznych punktów oporu kognitywnego (low-hanging fruits) w celu odbudowania zaufania pasażerów i poprawy doświadczenia z aplikacją.

Cel główny:

Uproszczenie procesu wyszukiwania biletów (geograficzny selektor miast) oraz wdrożenie bezpiecznego i bezstresowego trybu offline na potrzeby kontroli biletowej.

Pragmatyzm techniczny:

Poszanowanie i utrzymanie stabilnych, sprawdzonych wzorców funkcjonalnych systemu przy minimalnym zaangażowaniu zasobów deweloperskich.

Inkluzywność (Dostępność):

Dostosowanie kluczowych elementów interfejsu w wersji standardowej i uproszczonej do wytycznych WCAG 2.2 na poziomie AA, gwarantujące czytelność w trudnych warunkach.

Odkrywanie

4 metody badawcze

Nieformalne wywiady z użytkownikami

Rozmawiałam z osobami jeżdżącymi komunikacją trójmiejską na co dzień. Rozmowy były swobodne, właśnie dlatego szczere. Dowiedziałam się o emocjach, które nie trafiają do recenzji: Marta stresuje się już na widok kontrolera w tramwaju, bo nie wie, czy aplikacja się otworzy i czy zdąży pokazać bilet.

„Jak jedzie kontroler, to ja już wiem, że będzie problem.”

Analiza heurystyczna

Przeszłam przez wszystkie kluczowe przepływy aplikacji i udokumentowałam naruszenia zasad projektowania interakcji. Zidentyfikowałam 16 problemów w 6 obszarach: wybór organizatora, wyszukiwanie tras, zakup biletów, wydajność, hierarchia wizualna, onboarding. Ta metoda ujawnia co jest zepsute. Recenzje mówią jak bardzo.

Mining recenzji (67 opinii)

Przeanalizowałam tematycznie 40 recenzji z App Store i 27 z Google Play. Trzy tematy dominowały: sesja (wylogowanie przy każdym otwarciu, po każdej aktualizacji), brak trybu offline i nieintuicyjny zakup biletów. Użytkownicy nie wiedzieli jak dotrzeć do zakupu, rezygnowali i kupowali papierowe. Osobna kategoria: użytkownicy nie rozumieją co kupują, opisy biletów nie istniały, infolinia też nie potrafiła wyjaśnić.

„Za każdym razem gdy chcę okazać bilet muszę się ponownie logować. Przy kontrolerze to naprawdę stresujące.”

Benchmark konkurencji

Porównałam Falę z JakDojade, moBilet i SkyCash według 13 kryteriów. Fala była jedyną aplikacją bez trybu offline. To standard, który SkyCash wdrożył już w 2014 roku. Wszystkie trzy aplikacje używają zrozumiałych nazw biletów: „jednorazowy”, „dobowy”. Fala miała „Krótkookresowe” i „Długookresowe”.

Persony

Cztery typy użytkowników

Marta

Marta

Komutantka

Dojeżdża codziennie z Gdańska do Gdyni. Stresuje się przy każdej kontroli, nie wie, czy aplikacja się otworzy, czy bilet będzie dostępny. Cel: bilet miesięczny zawsze pod ręką, zero stresu przy kontrolerze.

Tomasz

Tomasz

Okazjonalny pasażer

Szuka biletu jednorazowego w 30 sekund. Rezygnuje i kupuje bilet papierowy, gdy flow trwa ponad 2 minuty. Nie rozumie różnicy między ZTM, ZKM i SKM.

Kasia

Kasia

Turystka

Nieznająca struktury operatorów. Kupiła zły bilet, bo interfejs odzwierciedlał podział instytucjonalny, nie jej model mentalny. Nie mogła sprawdzić cen bez założenia konta.

Sławek

Sławek

Pasażer SKM

Mówił znajomym, że „Fala nie obsługuje SKM”, bo interfejs nie dawał żadnej wskazówki jak się w nim poruszać. Dezinformacja się rozchodziła.

Jobs to be Done

Co użytkownik chce osiągnąć

Kupić bilet przy nadjeżdżającym autobusie

Bloker (przed)

Selektor organizatora niewidoczny jako kontrolka, 30+ biletów bez struktury

Po redesignie

Nowy selektor z grupowaniem, uproszczone kategorie, Bilety pierwsze w nav

Pokazać bilet przy kontroli bez zasięgu

Bloker (przed)

Brak trybu offline

Po redesignie

Tryb offline wdrożony

Zrozumieć status biletu w 2 sekundy

Bloker (przed)

Brak statusu QR kodu, słaby kontrast, cena ukryta

Po redesignie

Nagłówek statusu, białe tło QR, cena widoczna

Wybrać właściwego organizatora

Bloker (przed)

Płaska lista bez grupowania, zaznaczenie przez małe radio button

Po redesignie

Podział Transport miejski / Kolej, toggle na cały wiersz, ikony transportu

Zrozumieć ofertę jako nowy użytkownik

Bloker (przed)

Nazwy Krótkookresowe / Długookresowe bez kontekstu czasowego

Po redesignie

Jednorazowe / Dzienne / Okresowe z opisem czasu

Kluczowe decyzje projektowe

Co i dlaczego zmieniłam

01

Selektor organizatora

Przed
Selektor organizatora przed redesignem

Problem

W starej wersji aplikacji pole wyboru organizatora było praktycznie niewidoczne. Użytkownik trafiał bezpośrednio na listę biletów, a w zależności od kategorii mogło ich być nawet pięćdziesiąt na jednym ekranie. Żadnego filtrowania, żadnej struktury. Dodatkowo lista organizatorów operowała oficjalnymi nazwami instytucjonalnymi: MZKZG, ZKM w Gdyni, POLREGIO S.A. Dla kogoś, kto nie zna administracyjnej struktury trójmiejskiego transportu, te skróty nic nie mówią.

Po
Selektor organizatora po redesignie

Rozwiązanie

Przeprojektowałam samo pole selektora, teraz jest wyraźnie widoczne, wygląda jak kontrolka, w którą można kliknąć, i jednoznacznie komunikuje, że wybór obszaru jest wymagany. Listę organizatorów zmieniłam z oficjalnych nazw instytucjonalnych na nazwy geograficzne według miast (Gdańsk, Gdynia, Lębork) z ikonami typów transportu i switchem na cały wiersz zamiast małego radio buttona. Organizatorów podzieliłam na dwie grupy: Transport miejski i Kolej. Usunęłam opcję „Wszyscy organizatorzy”, teraz wybór obszaru jest pierwszym krokiem, a lista biletów filtruje się od razu.

02

Kategorie biletów

Przed
Kategorie biletów przed redesignem

Problem

Nazwy kategorii (Krótkookresowe, Średniookresowe, Długookresowe, Wieloprzejazdowe) nie mówiły nic o tym, co jest w środku. Żeby znaleźć właściwy bilet, użytkownik musiał wchodzić kolejno do każdej kategorii i sprawdzać jej zawartość. Żadna z nazw nie dawała wskazówki, czego się spodziewać.

Po
Kategorie biletów po redesignie

Rozwiązanie

Zmieniłam nazwy na Jednorazowe / Dzienne / Okresowe, z opisem czasu obowiązywania bezpośrednio w etykiecie: do 180 min, do 72h, do 5 mies. Użytkownik od razu wie, co kryje się w każdej kategorii, bez konieczności wchodzenia do środka. Te nazwy funkcjonują też w innych aplikacjach transportowych. Użytkownik, który zna JakDojade czy moBilet, już wie, o co chodzi.

03

Lista połączeń SKM

Przed
Lista połączeń SKM przed redesignem

Problem

Lista wyników dla trasy kolejowej pokazuje kursy SKM i Polregio, ale nie dawała żadnego sygnału, że można stąd kupić bilet. Przycisku nie było. Żeby dotrzeć do zakupu, trzeba było wiedzieć, że należy kliknąć głębiej w konkretny kurs. Wielu użytkowników po prostu tego nie odkrywało i wychodziło z aplikacji, nie wiedząc, że możliwość zakupu istniała.

Po
Lista połączeń SKM po redesignie

Rozwiązanie

Wyniosłam przycisk „Kup bilet” bezpośrednio do wiersza wyników, widoczny przy każdym kursie, bez konieczności wchodzenia głębiej. Ta zmiana nie tylko ułatwia zakup, ale może bezpośrednio przełożyć się na wzrost liczby transakcji: użytkownicy, którzy wcześniej nie odnajdywali ścieżki zakupu, teraz widzą ją od razu. Gdyby była możliwość pomiaru, patrzyłabym na conversion rate funnela: odsetek użytkowników, którzy przeszukali trasę i skończyli zakupem. Wzrost tego wskaźnika bezpośrednio potwierdziłby skuteczność tej zmiany. Dodałam też chipy „SKM” / „PR” przy każdym kursie (fiolet spójny z systemem kolorów kolei) i powiększyłam godzinę odjazdu, najważniejszą informację przy wyborze kursu.

04

Tryb offline i widok biletu

Przed
Widok biletu przed redesignem

Problem

Aplikacja wymagała połączenia z internetem żeby wyświetlić zakupiony bilet. W metrze, w tunelu, przy słabym zasięgu, ważny bilet stawał się niedostępny. Dokładnie w momencie, gdy był najbardziej potrzebny: przy kontrolerze. Sam widok biletu nie pomagał: kod QR nie miał wyraźnego statusu ważności, brakowało białego tła pod kodem (słaby kontrast przy skanowaniu). Ceny nie było widać wcale, użytkownik widział ją tylko przy zakupie. Tymczasem kontrolerzy często weryfikują bilet właśnie po cenie, żeby szybko ocenić jaki to rodzaj biletu.

Po
Widok biletu po redesignie

Rozwiązanie

Tryb offline został wdrożony: bilet zapisuje się lokalnie po zakupie i jest dostępny bez połączenia z internetem. Internet potrzebny jest tylko do zakupu. Równolegle przeprojektowałam widok biletu: dodałam status ważności kodu QR z licznikiem czasu („Kod ważny jeszcze 00:15”), białe tło pod kodem dla czytelności przy skanowaniu oraz cenę biletu widoczną na ekranie biletu, dla użytkownika i dla kontrolera. Tło ekranu zmienione na ciepłą żółć (#FEF3C7), spójne z systemem kolorów aplikacji i natychmiast rozpoznawalne.

05

System kolorów

Przed

System kolorów – ekran 1 przed redesignem
System kolorów – ekran 2 przed redesignem

Problem

Kolej (SKM i Polregio) była oznaczona szarym kolorem w ikonach i elementach wizualnych. Szary na mapie i na listach łatwo przeoczyć. Logo Fali ma cztery kolory, z których trzy były już przypisane do konkretnych środków transportu. Czwarty, fioletowy, nie pełnił żadnej funkcji semantycznej w interfejsie.

Po

System kolorów – ekran 1 po redesignie
System kolorów – ekran 2 po redesignie

Rozwiązanie

Przypisałam fioletowy do kolei. Kolor już istniał w systemie identyfikacji wizualnej Fali, nie był zajęty, wystarczyło nadać mu znaczenie. SKM i Polregio są teraz spójnie oznaczone fioletowym w chipach, ikonach i nagłówkach sekcji. Na mapie i liście wyników kolej jest natychmiast rozpoznawalna i nie gubi się w tle. Do nagłówków sekcji biletowych dodałam elementy graficzne nawiązujące do logotypu systemu, pomagają użytkownikowi orientować się w strukturze oferty i szybko nawigować między sekcjami.

Efekty

Co się zmieniło

01

Tryb offline eliminuje najczęstszy P0 z recenzji i zamyka jedyną lukę na tle polskiego rynku aplikacji transportowych.

02

Przeprojektowany selektor organizatora usuwa barierę, której użytkownicy nawet nie umieli nazwać.

03

Uproszczone kategorie i spójny system kolorów skracają czas do pierwszego zakupu.

Wdrożenia właśnie się skończyły. Danych jeszcze nie ma. Byłoby nieuczciwe udawać, że są.

Gdybym miała dostęp do analityki, mierzyłabym skuteczność frameworkiem HEART:

Happiness
Ocena w sklepach jako punkt wyjścia. Interesowałaby mnie nie tylko średnia, ale zmiana tonu recenzji dotyczących kontroli biletowej i offline. Te dwa tematy dominowały w mining i powinny zniknąć po redesignie.
Engagement
Czy użytkownicy wracają do aplikacji zamiast kupować bilety papierowe. Jeśli nie, aplikacja wciąż nie wzbudza zaufania.
Adoption
Odsetek biletów otwieranych w trybie offline. To bezpośredni dowód, że nowa funkcja działa i użytkownicy jej ufają.
Retention
Aktywność po 30 dniach. Przy aplikacji z monopolem to szczególnie ważna metryka: wysoka retencja oznacza, że użytkownicy korzystają z wyboru, nie z przymusu.
Task Success
Conversion rate funnela: wyszukanie trasy → zakup biletu. Główna metryka dla decyzji o wyniesioniu przycisku „Kup bilet” na listę połączeń SKM.

Do priorytetyzacji kolejnych zmian użyłabym opportunity score z JTBD: ile dane zadanie jest dla użytkownika ważne minus ile jest z niego zadowolony. Tam, gdzie różnica jest największa, problem jest najbardziej realny.

Finalne ekrany redesignu aplikacji System Fala

Interaktywny prototyp

Wypróbuj aplikację

Klikaj po interfejsie, poniżej działa mobilny prototyp zbudowany w Figma Make.