Pazy Pazy Go
Skala

Pazy Go - zegarek i widgety

Recepcjonistka na nadgarstku, cztery skróty na ekranie głównym.

Wiktoria ma ręce w lakierze przez 90% dnia, telefon leży pod ręcznikiem, a pochłaniacz szumi. Zegarek, widgety, ekran blokady i StandBy to jedyne miejsca, w których Pazy odzywa się samo. Każda z tych powierzchni dostaje jedną informację, jeden duży glif i najwyżej jedno tapnięcie. Wszystkie makiety pokazują ten sam moment co pozostałe trzy pliki wariantu: wtorek, 28 lipca 2026, godzina 10:42, przy fotelu Weronika Zielińska.

208 x 256ekran Apple Watch 46 mm, punkty logiczne
10:42wtorek, 28 lipca 2026
63 mindo końca wizyty Weroniki
480 złw kasie z 860 zł planu

01 / 12

Aplikacja na zegarku: sześć ekranów, zero czytania

Maksymalnie trzy poziomy informacji na ekran, 12 px marginesu po bokach, 8 px pod paskiem czasu, przycisk pełnej szerokości 52 px. Czerń jest tu sprzętem, nie decyzją estetyczną, więc akcenty biorą jasne warianty palety: malinowy #FF6FB1, miętowy #4FD8C4, cytrynowy #FFD84D. Malina #DA0F73 nigdy nie ląduje jako tekst na czarnym.

  • Ramka: Apple Watch Series 10, 46 mm
  • Ekran 208 x 256 pt, promień 48 px
  • Pieniądze zawsze w miętowym, czas zawsze w malinowym
  • Jedyna nieskończona animacja: kropka „TRWA”

Teraz

63 min

Weronika Zielińska

Manicure kombinowany

10:15-11:45

10:42

W01 · Teraz

Wizyta w toku

Licznik minut jest największym glifem, bo to jedyna liczba, którą Wiktoria czyta w rękawiczce. Nazwisko drugie, usługa trzecia, godziny czwarte.

Następna

12:00

220 zł

Martyna

Regeneracja IBX + hybryda

10:42

W02 · Następna

Kto za chwilę siada

Godzina i imię, kwota po prawej w miętowym, bo pieniądze mają w całym wariancie jeden kolor. Dwa przyciski po 52 px, żeby trafić kciukiem w rękawiczce.

Wysłane

Martyna wie, że jesteś w drodze

Będę o 12:00

10:42

W03 · Jadę

Potwierdzenie jednym tapnięciem

Jedyny ekran, na którym gradient wychodzi poza kartę i zajmuje cały ekran. To nagroda za akcję, widoczna z odległości metra, i jedyne miejsce, gdzie na zegarku pojawia się malina #DA0F73 - jako tło, nie jako tekst.

Dziś w kasie

480 zł

z 860 zł planu

Napiwki20 zł
Zaliczki150 zł

56% planu dnia, 5 wizyt

10:42

W04 · Dziś w kasie

Podsumowanie dnia

Utarg, plan, napiwki i zaliczki. Pasek u dołu to obłożenie planu dnia: 480 zł z 860 zł, czyli 56%. Kwota dnia jest tu miętowa, nigdy malinowa, żeby pieniądze miały jeden kolor w całym produkcie.

Wtorek, 5 wizyt

09:00Emilia
10:15Weronika
12:00Martyna
14:15Julia
15:45Paulina
10:42

W05 · Plan dnia

Pięć wizyt, jedna kropka koloru

Wiersze po 44 px, godzina po lewej, kropka koloru usługi po prawej. Zakończona wizyta ma 45% krycia i przekreśloną godzinę, trwająca ma malinowe podświetlenie. Lista przewija się koronką, nie palcem.

Napiwek

20 zł

Kręć koronką

10:42

W06 · Napiwek

Kwota z koronki, krok 5 zł

Ekran bez pola tekstowego i bez klawiatury. Wersja działająca, z obsługą koronki, kółka myszy i strzałek, stoi w sekcji 06.

Dlaczego licznik, a nie nazwisko

Wiktoria wie, kto siedzi w fotelu - patrzy na tę osobę. Nie wie, ile jeszcze zostało, bo lampa i frez zjadają poczucie czasu. Dlatego największy glif na W01 to 63 min, a nie „Weronika Zielińska”. Ten sam porządek trzyma się na komplikacjach, w Live Activity i w widgecie small.

Trzy poziomy i koniec

Każdy ekran ma jeden bohater, jedną linię kontekstu i najwyżej jedną akcję. Kiedy projekt zaczyna potrzebować czwartego poziomu, informacja idzie na telefon, a nie na nadgarstek. Zegarek nie jest zmniejszonym telefonem, tylko powiadomieniem, które da się dotknąć.

Kolor na czarnym

Na czerni działają wyłącznie jasne warianty: #FF6FB1 daje 6,6:1, #4FD8C4 daje 11,2:1, #FFD84D daje 13,4:1. Malinowy #DA0F73 na czarnym ma 2,4:1, więc występuje tylko jako tło pełnoekranowego potwierdzenia, gdzie tekst jest biały.

02 / 12

Trzy tarcze, na których Pazy już siedzi

Komplikacja jest ważniejsza od aplikacji, bo aplikację trzeba otworzyć, a komplikację widać przy podniesieniu ręki. Poniżej te same dane w trzech różnych układach tarczy, żeby było widać, jak znak i liczba zachowują się w cudzym otoczeniu.

  • Modular Duo, Infograph, analogowa
  • Godzina na tarczy to 10:42 na każdej z nich
  • Duży slot na tarczy 1 przełącza się przyciskami
10:42 wt 28 lipca
Pazy · następna 12:00 Martyna Regeneracja IBX + hybryda, 220 zł
480
wtorek 28

Tarcza 1 · Modular Duo

Duży slot należy do Pazy

Wielka godzina w cytrynowym, pod nią duża komplikacja prostokątna, na dole pierścień kasy i data. Przełącz zawartość dużego slotu:

10:42 12:00 MD 28 WT BATERIA 78% KROKI 4 210

Tarcza 2 · Infograph

Trzy pierścienie i cztery rogi

Pierścienie czytamy jako wizyty (2 z 5), kasa (56%) i napiwki (20 zł ze 100 zł celu). Lewy górny róg to komplikacja Pazy: łuk malinowy, godzina następnej wizyty i inicjały MD. Pozostałe trzy rogi należą do systemu: data u góry po prawej, bateria i kroki na dole, każdy z podpisem, bo sama liczba na tarczy nic nie znaczy.

III IX 480 Pazy: 12:00 Martyna

Tarcza 3 · analogowa

Komplikacja inline na godzinie 6

Wskazówki pokazują 10:42, sekundnik malinowy. Na godzinie 12 pierścień kasy, na godzinie 6 najkrótsza możliwa forma Pazy: jedna linia tekstu. Tarcza z cyframi to najtrudniejszy test dla komplikacji, bo nie wolno jej zasłonić wskazówek.

03 / 12

Pięć rodzin komplikacji, każda w skali 1:1

Renderujemy wszystko jako inline SVG: pierścień 6 px, końce zaokrąglone, przerwa 40 stopni u dołu. Podglądy w tabeli mają rozmiar rzeczywisty, taki jaki trafia na tarczę - nic tu nie jest powiększone „dla czytelności”.

  • Podglądy w rozmiarze docelowym
  • Jedna komplikacja niesie jedną liczbę
  • Nazwa rodziny zgodna z nazewnictwem systemowym
Rodziny komplikacji Pazy: podgląd, rodzina, dane i polityka odświeżania
Podgląd 1:1 Rodzina Co niesie Nota dla inżyniera
5 WIZ
circularSmall

koło 44 px

Pierścień postępu dnia i liczba wizyt.

56% planu, 5 wizyt w kalendarzu.

Odśwież przy każdej zmianie stanu wizyty. reloadTimeline po zamknięciu wizyty i po dodaniu nowej. Poza tym wpis co 30 min.
12:00 MD
graphicCorner

narożnik 76 x 76

Godzina następnej wizyty na łuku i inicjały klientki.

Łuk wypełnia się w miarę zbliżania terminu.

Łuk liczony jako czas do wizyty w oknie 90 minut. Wpis co 5 min w tym oknie, poza nim jeden wpis na godzinę rozpoczęcia.
12:00 Martyna Regeneracja IBX + hybryda 220 zł
graphicRectangular

160 x 54

Pełna następna wizyta w trzech liniach.

Godzina i imię, usługa, kwota.

Jedyna rodzina, w której pokazujemy kwotę na tarczy. Odświeżana razem z narożną, ten sam wpis timeline.
Pazy: 12:00 Martyna
inline

jedna linia, utility

Najkrótsza forma: nazwa, godzina, imię.

Bez kwoty, bez usługi, bez ikony statusu.

Tekst obcinamy po 22 znakach, nigdy nie skracamy imienia do inicjału. Jeden wpis na wizytę.
480
graphicCircular

koło 52 px, wariant kasa

Utarg dnia jako pierścień i kwota bez separatora.

480 z 860 zł planu, pierścień 56%.

Kwoty powyżej 999 skracamy do 1,2k, bo w kole nie mieszczą się cztery cyfry. Odświeżenie po każdej zamkniętej wizycie.

Który glif jest największy i dlaczego

W rodzinach czasowych największy glif to godzina, bo pytanie brzmi „kiedy wstaję od kawy”. W rodzinie kasowej największy glif to kwota, bo pytanie brzmi „czy dzień się spina”. Nigdy nie mieszamy tych dwóch pytań w jednej komplikacji - to jedyny powód, dla którego mamy dwie rodziny okrągłe zamiast jednej z przełącznikiem.

Stan pusty komplikacji

Kiedy nie ma następnej wizyty, komplikacja nie znika i nie pokazuje zera. Pokazuje „Wolne” w rodzinach tekstowych i pusty pierścień z kreską w graficznych. Po 18:00 przełącza się na jutro i mówi „Jutro 09:30”.

Budżet odświeżeń

System daje około 50 odświeżeń na dobę na aplikację. Rozdajemy je tak: 30 wpisów na godziny wizyt i okna 90-minutowe, 10 na zmiany stanu pchane z serwera, 10 w rezerwie na dni z przesunięciami. Po wyczerpaniu budżetu komplikacja pokazuje ostatni znany stan ze znacznikiem czasu, nigdy pustego pola.

04 / 12

Smart Stack: karta, która sama się wpycha na 90 minut

Karta w stosie nie jest miniaturą aplikacji, tylko jednym zdaniem z jednym przyciskiem. Pojawia się 90 minut przed wizytą i znika w chwili zamknięcia. Reszta doby to cudzy czas: pogoda, muzyka, timer.

  • Karta w stosie: proporcja 320 x 108 pt
  • Przycisk okrągły 44 px, dokładnie „Jadę”
  • Pasek 4 px w kolorze usługi po lewej

Za 78 min

12:00 Martyna

Regeneracja IBX + hybryda, 220 zł

10:42

Smart Stack · w stosie

Tak wygląda na nadgarstku

Pod kartą Pazy widać krawędź następnej karty w stosie. Obrót koronki w dół przewija stos, przytrzymanie pozwala przypiąć kartę na stałe.

Za 78 min

12:00 Martyna

Regeneracja IBX + hybryda, 220 zł

Smart Stack · 320 x 108 pt

Karta w rozmiarze rzeczywistym

Płótno karty 320 x 108 pt jeden do jednego, na czerni ekranu zegarka, która prześwituje przez mleczne tło. Reguła pokazywania, wprost z copy: „Pokazuję się 90 minut przed wizytą i znikam, kiedy ją zamkniesz.” Jeżeli wizyta jest dojazdowa, karta wchodzi 120 minut wcześniej i przycisk zmienia się na „Jadę”.

Kiedy karta ma prawo wejść

Trzy warunki naraz: jest wizyta w ciągu 90 minut, nie została jeszcze zamknięta i nie jest to blokada ani przerwa. Brak któregokolwiek warunku oznacza brak karty. Nie mamy „karty powitalnej”, „karty z poradą” ani „karty z nowościami”.

Polityka odświeżania

Relevance score liczony jako 1 - (minuty_do_wizyty / 90), przycinany do zera poza oknem. Wpisy timeline: T-90, T-60, T-30, T-15, T-5, T-0 oraz natychmiastowy push przy zmianie terminu. Po zamknięciu wizyty reloadTimeline i relevance na zero.

Jeden przycisk, nie trzy

Na karcie mieści się jedna akcja i jest nią „Jadę”, bo to jedyna rzecz, którą Wiktoria robi z podniesioną ręką i zajętymi palcami. „Napisz”, „Przesuń” i „Odwołaj” wymagają decyzji i czekają w aplikacji, gdzie jest miejsce na potwierdzenie.

05 / 12

Powiadomienie: klientka potwierdziła termin

Long look, czyli widok po podniesieniu ręki. Pierwszy ekran ma odpowiedzieć na jedno pytanie: kto i kiedy. Reszta, łącznie z akcjami, dojeżdża koronką. Krótki look, którego tu nie rysujemy, to tylko znak Pazy i nazwa - system pokazuje go przez ułamek sekundy.

  • Powiadomienie z DM od Natalii Kowalczyk
  • Czwartek 30.07, 16:00, zdobienia 4 palce, 60 zł
  • Usługa bez zaliczki, więc nie prosimy o wpłatę
Pazy teraz

Natalia potwierdziła termin

czw 30.07, 16:00

Zdobienia autorskie, 4 palce

60 zł

Bez zaliczki
10:42

Long look

Kto, kiedy, ile, dwie akcje

Drugi przycisk jest celowo przycięty krawędzią ekranu. To poprawne zachowanie long looka: sygnalizuje, że treść jedzie dalej, i uczy kręcenia koronką bez tłumaczenia.

Treść powiadomienia to zdanie, nie etykieta

„Natalia potwierdziła termin” zamiast „Nowa rezerwacja”. Wiktoria zna swoje klientki po imieniu, a system, który mówi jak system, każe czytać dwa razy. Nazwisko dopisujemy tylko wtedy, gdy w bazie są dwie osoby o tym samym imieniu.

Czego nie wysyłamy na zegarek

Nie wysyłamy: podziękowań po wizycie, informacji o wysłanym SMS-ie, statystyk tygodnia, nowości produktowych. Zegarek dostaje tylko to, co zmienia najbliższe dwie godziny: potwierdzenie, odwołanie, wpłatę zaliczki i spóźnienie.

Polityka dostarczania

Kategorie powiadomień: rezerwacja, zaliczka, odwołanie. Wszystkie z akcjami UNNotificationAction na poziomie systemu, żeby działały bez odblokowania telefonu. Grupowanie po dniu wizyty. Cisza nocna 22:00-07:00 zbiera je w jedną paczkę o 07:00, bo Natalia pisze po 23:00.

06 / 12

Koronka cyfrowa: jedyny precyzyjny element sterujący

Palec w rękawiczce nitrylowej jest gruby i mokry, a ekran zegarka ma 208 punktów szerokości. Koronka jest jedynym miejscem, gdzie da się coś ustawić dokładnie, więc oddajemy jej wszystkie liczby: kwotę napiwka, przewijanie listy i przewijanie treści powiadomienia. Poniżej wersja, która naprawdę działa - kliknij kwotę i kręć kółkiem myszy, użyj strzałek albo przycisków obok.

  • Krok 5 zł, zakres 0-100 zł
  • Haptyk na każdym kroku, mocniejszy na 0 i 100
  • Wartość startowa 20 zł, bo tyle zwykle zostawia Weronika

Napiwek

20 zł

Kręć koronką

10:42

W06 · wersja działająca

Napiwek Weroniki

Po zapisaniu ekran mówi „Dopisane. Dziś 90 zł napiwków”, czyli podaje licznik całego dnia, a nie samą dopisaną kwotę. Wciśnij „Cofnij”, żeby wrócić do stanu wyjściowego.

Koronka 20 zł

Dwadzieścia jeden detentów od 0 do 100 zł. Pasek pokazuje, gdzie stoi kwota - to jedyny wskaźnik, którego nie ma na zegarku, bo tam jego rolę pełni haptyk.

Nota o koronce dla inżyniera

Mapowanie. Koronka jest podpięta wyłącznie do jednej wartości na ekran. Na W06 to kwota napiwka, na W05 pozycja listy, na long looku pozycja treści, na W01 nic - tam kręcenie nie robi nic poza przewinięciem do przycisku.

Detent i haptyk. Krok 5 zł z zatrzaskiem, haptyk .click na każdym kroku i .stop na krańcach 0 i 100 zł. Bez zatrzasku kwota się rozjeżdża i trzeba patrzeć na ekran, a to znaczy odłożyć frez.

Kierunek. Kręcenie do góry zwiększa, zawsze. Nie odwracamy kierunku dla leworęcznych ani nie dodajemy przyspieszenia - przyspieszenie przy kwotach kończy się napiwkiem 65 zł zamiast 20 zł.

Bezczynność. Po 8 sekundach bez ruchu wartość zostaje, ale znika podpowiedź „Kręć koronką”, żeby nie robić hałasu na ekranie.

07 / 12

Widgety na ekranie głównym, w towarzystwie innych ikon

Widget czytany jest przez ćwierć sekundy, między odłożeniem telefonu a podniesieniem frezu. Dlatego każdy z trzech rozmiarów odpowiada na jedno pytanie i ma dokładnie jedną liczbę większą od reszty. Tło zawsze --elevated z plamą mesh w prawym górnym rogu, promień 26 px z zestawu ramek.

  • Small 170 x 170, medium 364 x 170, large 364 x 382
  • Ikona aplikacji: znak Pazy 38 px na białym kwadracie
  • Wszystkie liczby w tabular-nums
Wtorek 28.07

480 zł

w kasie z 860 zł

12:00Martyna
14:15Julia
15:45Paulina
Następna

12:00

Martyna D.

za 78 min
Dziś w kasie

480 zł

z 860 zł planu

wt28
Kalendarz
Zdjęcia
Notatki
Bank
Mapy
Pogoda
Muzyka
Ustawienia
10:42

Ekran główny · strona 1

Medium u góry, dwa small pod nim

Widget medium zajmuje pełną szerokość siatki (4 kolumny), dwa small stoją obok siebie w tym samym rytmie co ikony. Ikona Pazy siedzi w docku, bo Wiktoria wchodzi do aplikacji kilkanaście razy dziennie.

Wtorek, 28 lipca 5 wizyt
Trwa zostało 63 min
Weronika Zielińska 10:15-11:45
09:00Emilia Lewandowska
10:15Weronika Zielińska
12:00Martyna Dąbrowska
14:15Julia Baran
15:45Paulina Adamczyk
480 zł w kasie 20 zł napiwków 3 DM czekają
Zegar
Zadania
Zdrowie
Podcasty
10:42

Ekran główny · strona 2

Large: cały dzień na jednym ekranie

Karta „Teraz” w malinowym, pod nią pięć wizyt dnia z zakończoną wyszarzoną i przekreśloną, na dole trzy pastylki podsumowania. To jedyny widget, który zamiast odpowiadać na jedno pytanie, zastępuje otwarcie aplikacji. Druga strona ma własny komplet ikon, dok zostaje ten sam co na stronie pierwszej.

Te same widgety w rozmiarze rzeczywistym

Następna

12:00

Martyna D.

za 78 min

Small · 170 x 170

„Następna”

Odpowiada na jedno pytanie: kiedy wstaję od kawy. Godzina jest największa, imię skrócone do inicjału nazwiska, chip mówi, ile zostało.

Dziś w kasie

480 zł

z 860 zł planu

Small · 170 x 170

„Kasa dnia”

Wariant drugi tego samego rozmiaru. Kwota w zieleni --success, pasek 8 px wypełniony gradientem pieniędzy, podpis tłumaczy skalę.

Wtorek 28.07

480 zł

w kasie z 860 zł

12:00Martyna
14:15Julia
15:45Paulina

Medium · 364 x 170

„Dzień”

Dwie kolumny rozdzielone włoskową linią: po lewej pieniądze, po prawej trzy pozostałe wizyty z kropką koloru usługi. Więcej niż trzy wiersze się nie mieszczą i nie próbujemy ich upychać.

Wtorek, 28 lipca 5 wizyt
Trwa zostało 63 min
Weronika Zielińska 10:15-11:45
09:00Emilia Lewandowska
10:15Weronika Zielińska
12:00Martyna Dąbrowska
14:15Julia Baran
15:45Paulina Adamczyk
480 zł w kasie 20 zł napiwków 3 DM czekają

Large · 364 x 382

„Cały dzień”

Nagłówek z datą i liczbą wizyt, karta „Teraz”, pełna lista dnia, stopka z trzema pastylkami. Zakończona wizyta ma 42% krycia i przekreśloną godzinę, tak samo jak na zegarku.

Który glif jest największy na ekranie głównym

W widgecie „Następna” wygrywa godzina, nie imię i nie kwota. Wiktoria zna klientkę i zna cennik, ale nie wie, ile ma jeszcze czasu na kawę. W widgecie „Kasa dnia” wygrywa kwota, bo to jedyna liczba, której nie da się zgadnąć z pamięci.

Medium łączy oba pytania, więc daje im równą wagę i rozdziela je włoskową linią, zamiast pchać jedno pod drugie. Large jest wyjątkiem: tam największym elementem nie jest liczba, tylko karta „Teraz”, bo widget tej wielkości ma zastępować wejście do aplikacji, a nie tylko przypominać.

Stany, które muszą wyglądać dobrze

Dzień pusty: „Cały dzień wolny” i chip „Napisz do listy oczekujących”. Po ostatniej wizycie: widget przechodzi na jutro i mówi „Jutro 09:30 Klaudia”. Brak sieci: ostatnie dane plus znacznik „stan z 10:42”, nigdy pusty prostokąt ani spinner.

Polityka odświeżania: ekran główny

Timeline. Wpisy co 15 minut w godzinach 8:00-20:00 plus dodatkowy wpis na każdą godzinę startu i końca wizyty. Poza tym oknem jeden wpis na 07:30, żeby o poranku dane były świeże.

Wymuszenia. reloadTimeline natychmiast po: zamknięciu wizyty, zaksięgowaniu zaliczki, dodaniu lub przesunięciu wizyty, odwołaniu. Sygnał idzie pushem, aplikacja nie musi być otwarta.

Budżet. Zakładamy 40-70 odświeżeń na dobę. Nie animujemy, nie odliczamy sekund. Chip „za 78 min” liczymy z wpisu timeline, a nie z licznika w widgecie.

08 / 12

Ekran blokady: biel na szkle i nic więcej

Tu nie ma naszych kolorów i to nie jest kompromis, tylko zasada systemu: widgety ekranu blokady są monochromatyczne. Cała robota projektowa polega na wyborze jednej liczby i jednego słowa, które przejdą przez brak koloru, brak tła i 72 punkty wysokości.

  • Circular 72 x 72, rectangular 160 x 72
  • Inline: jedna linia nad zegarem
  • Live Activity pod zegarem, karta 358 x 104
12:00 Martyna - za 78 min

wtorek, 28 lipca

10:42

12:00 1,5 h
Pazy - następna 12:00 Martyna Regeneracja IBX, 220 zł
5 WIZ

Weronika Zielińska

Manicure kombinowany

63 min do 11:45
10:42

Ekran blokady · komplet

Inline, dwa okrągłe, prostokątny i Live Activity

Tapetę dobieramy ciemną, bo to jedyny sposób, żeby biały widget na szkle miał kontrast. Live Activity siedzi pod zegarem i zostaje tam do zamknięcia wizyty.

12:00 1,5 h
5 WIZ
Pazy - następna 12:00 Martyna Regeneracja IBX, 220 zł
12:00 Martyna - za 78 min

Rozmiar rzeczywisty

Circular 72 x 72 (dwa warianty), rectangular 160 x 72, inline

Circular z godziną trafia na ekran domyślnie. Wariant z liczbą wizyt jest dla tych, które wolą wiedzieć, ile jeszcze przed nimi. Rectangular to jedyne miejsce na ekranie blokady, gdzie mieści się kwota.

Który glif wygrywa na szkle

Na ekranie blokady nie ma koloru, więc hierarchię niesie wyłącznie rozmiar i grubość. W okrągłym największa jest godzina 12:00, mimo że mieści się o włos - alternatywa, czyli imię, przy tej średnicy zamienia się w „Marty...”, a to gorsze niż brak informacji.

W prostokątnym pierwsza linia to etykieta 10 px, druga godzina z imieniem 17 px, trzecia usługa z kwotą 12 px. Kwota jest ostatnia świadomie: na ekranie blokady widzi ją każdy, kto weźmie telefon do ręki.

Polityka odświeżania: ekran blokady

Ten sam timeline co widgety ekranu głównego, ale wyższy priorytet w oknie 90 minut przed wizytą i podczas trwania. Pierścień liczymy od początku dnia pracy (9:00) do końca ostatniej wizyty, nie od północy. W trybie Always-On używamy wariantu bez wypełnienia pierścienia, żeby nie wypalać ekranu.

09 / 12

StandBy: telefon na ładowarce, plan na jutro

Tryb nocny na biurku albo na szafce. Odległość od oka to metr, kąt patrzenia jest boczny, a w pokoju jest ciemno. Dlatego dwie linie po 44 px, przygaszenie do 82% i żadnych kwot dnia - w nocy pieniądze nikogo nie obchodzą, a widzieć je może każdy, kto przejdzie obok.

  • Kanwa 520 x 300, promień 34 px
  • Cytrynowy dla wolnego okna, malinowy dla zaliczki
  • Zero animacji, zero odliczania sekund

Jutro, środa 29 lipca

09:30 Klaudia

11:30 Oliwia

Wolne okno 15:00, 3 osoby czekają

Zaliczka Oliwii: czeka, zostało 1 h 21 min

StandBy · 520 x 300

Plan jutra, nigdy kasa

Copy wprost z zasady wariantu: „W nocy nie pokazuję kasy. Nikt nie musi jej widzieć na twoim biurku.” Dwie wizyty jutra dostają największy stopień pisma, bo to jedyne, co ma znaczenie przed snem. Wolne okno w cytrynowym, bo to jedyna rzecz, którą jeszcze da się dziś naprawić.

Hierarchia w trybie nocnym

Największy glif to godzina z imieniem, w jednej linii, bo o 23:00 nikt nie parsuje dwóch kolumn. Druga w kolejności jest informacja, która wymaga decyzji („wolne okno”), trzecia ta, która ma termin („zaliczka, zostało 1 h 21 min”). Kwota utargu nie występuje wcale.

Stan bez jutra

Kiedy jutro jest wolne, StandBy pokazuje jedną linię: „Jutro wolne. Dobranoc.” i nic więcej. Nie proponujemy wtedy pracy, nie pokazujemy listy oczekujących i nie przypominamy o niczym.

Polityka odświeżania: StandBy

Przełączenie na plan jutra o 19:00 lokalnie. Wpisy timeline co 30 minut do północy, potem co godzinę. Jasność i tak zbija system, więc nie wysyłamy osobnego wariantu nocnego, tylko trzymamy krycie 82% i kontrast minimum 7:1 na czerni. Bez odliczania sekund: licznik zaliczki pokazujemy w minutach i odświeżamy co 5 minut.

10 / 12

Live Activity: wizyta w toku od 10:15 do 11:45

Jedna sesja, cztery prezentacje: minimal, compact, expanded i karta na ekranie blokady. Wszystkie mają ten sam stan i tę samą liczbę - minuty do końca. Naciśnij „Odtwórz przebieg”, żeby zobaczyć, jak zachowuje się każda z nich, kiedy czas leci.

  • Wyspa 125 x 36, rozwinięta 370 x 160
  • Weronika Zielińska, manicure kombinowany
  • 150 zł + zdobienia 30 zł, postęp 30%
Symulacja 10:42 · zostało 63 min

wt28
Kalendarz
Zdjęcia
Notatki
Bank
Mapy
Pogoda
Muzyka
Ustawienia
10:42
63 min

Compact

Ikona po lewej, minuty po prawej

Wyspa rozszerza się do 196 pt i dzieli na leading i trailing wokół kamery. Po lewej buteleczka w malinowym, po prawej jedna liczba. Nic więcej się tu nie mieści i nic więcej nie jest potrzebne.

Minimal pojawia się wtedy, gdy działa druga aktywność. Zostaje pierścień 3 px i ikona 14 px. Zero tekstu, bo w kółku 37 pt nie ma na niego miejsca.

Minimal · 37 x 37

Kiedy Pazy dzieli wyspę z kimś innym

WZ
Weronika
Manicure kombinowany 150 zł + zdobienia 30 zł
63 min do 11:45
10:42

Expanded · 370 x 160

Cztery regiony po przytrzymaniu wyspy

Leading: awatar WZ z imieniem. Trailing: minuty i godzina końca. Center: usługa i rozbicie kwoty. Bottom: pasek postępu i dwa przyciski po 40 px. „Zamknij wizytę” dostaje malinowe wypełnienie z czarnym tekstem, kontrast 6,6:1.

Weronika Zielińska

Manicure kombinowany

63 min do 11:45

Live Activity · ekran blokady

Karta 358 x 104, rozmiar rzeczywisty

Ta sama sesja poza wyspą: nazwisko i usługa po lewej, minuty po prawej, pasek postępu na dole. Bez przycisków, bo z zablokowanego ekranu nie zamykamy wizyty ani nie dopisujemy napiwku.

Największy glif w każdej z czterech prezentacji

We wszystkich czterech wygrywa liczba minut. To jedyna wartość, która zmienia się w czasie i jedyna, której nie da się odtworzyć z pamięci. Nazwisko klientki jest stałe przez 90 minut, cena też, więc oba schodzą o stopień niżej. W minimalu, gdzie nie ma miejsca na tekst, tę samą informację niesie kąt wypełnienia pierścienia.

Koniec sesji

Live Activity kończy się w chwili zamknięcia wizyty, nie o 11:45. Jeśli wizyta przeciąga się o więcej niż 15 minut, licznik przechodzi na „+12 min” w cytrynowym i nie krzyczy - przeciąganie się zdarza i nie jest błędem. Po zamknięciu karta zostaje jeszcze przez 8 sekund z podsumowaniem „180 zł w kasie”, potem znika sama.

Polityka odświeżania: Live Activity

Model. Jeden ContentState: godzina końca, minuty pozostałe, postęp, kwota. Aktualizacja lokalna co 60 sekund, bez animowanego licznika sekund.

Push. Tylko przy zdarzeniach: dopisany napiwek, zmiana kwoty, przedłużenie wizyty, zamknięcie. Zakładany limit to 6 pushy na sesję.

Czas życia. staleDate = koniec wizyty + 30 minut, dismissalPolicy = 8 sekund po zamknięciu. Sesja nigdy nie przekracza 8 godzin, nawet jeśli ktoś zapomni zamknąć wizytę.

11 / 12

Pulpit macOS: ten sam widget, mniejszy promień

Wiktoria ma na zapleczu MacBooka, na którym stoi otwarta Pazy i przeglądarka z Instagramem. Widget w kolumnie Centrum powiadomień jest jedynym miejscem, w którym plan dnia widać bez przełączania okna. Płótno to dokładnie ten sam medium 364 x 170 co na iPhonie, tylko promień schodzi z 26 do 20 px, bo tak wyglądają widgety w macOS.

  • Kanwa 364 x 170, promień 20 px
  • Dwa duże glify: kasa dnia i najbliższa wizyta
  • Jeden przycisk, ten sam co w oknie aplikacji
Pazy Plik Kalendarz Widok wt 10:42
Pazy - wtorek 28.07

480 zł

w kasie z 860 zł

12:00 Martyna
14:15Julia
15:45Paulina
Otwórz kalendarz
Kalendarz systemowy Pusty, bo wszystkie wizyty siedzą w Pazy
Gdańsk Pochmurno, wieczorem przelotny deszcz
21°

Pulpit macOS · kolumna 396 px

Widget w Centrum powiadomień, obok widgetów systemowych

Dwa sąsiednie widgety systemowe stoją tu wyłącznie po to, żeby skala i miejsce czytały się poprawnie: karta Pazy jest pierwsza od góry, bo Wiktoria wchodzi w tę kolumnę po jedną rzecz. Pasek menu i przyciemniona tapeta pokazują, że widget siedzi na szkle kolumny, a nie w oknie aplikacji.

Ten sam widget w rozmiarze rzeczywistym

Pazy - wtorek 28.07

480 zł

w kasie z 860 zł

12:00 Martyna
14:15Julia
15:45Paulina
Otwórz kalendarz

macOS medium · 364 x 170

„Dzień na pulpicie”

Ta sama treść co medium na iPhonie, z dwiema różnicami wymuszonymi przez pulpit: godzina najbliższej wizyty dostaje własną pastylkę w --accent-soft, a w prawym dolnym rogu stoi przycisk „Otwórz kalendarz”, bo na Macu kliknięcie widgetu ma otwierać konkretny widok, nie samą aplikację.

Pazy - wtorek 28.07

860 zł

cały plan dnia zamknięty

Jutro, środa 29 lipca

09:30 Klaudia
11:30Oliwia
Otwórz kalendarz

macOS medium · po ostatniej wizycie

Widget przechodzi na jutro

Po 17:15 kwota zamyka się na 860 zł, a prawa kolumna przełącza się na plan jutra. Nie pokazujemy pustej listy ani zera, bo to wygląda jak awaria, a nie jak koniec dobrego dnia.

Który glif jest największy na pulpicie

Na Macu wygrywają dwie liczby naraz: kwota dnia w zieleni --success po lewej i godzina najbliższej wizyty po prawej. To jedyna powierzchnia w całym wariancie, na której dajemy dwa duże glify, bo pulpit ogląda się z 60 cm i z pełną uwagą, a nie kątem oka przy fotelu.

Reszta schodzi o stopień: dwie kolejne wizyty stoją w 15 px, a nazwiska są skrócone do imion, tak samo jak w medium na iPhonie. Kolumny rozdziela ta sama włoskowa linia --border-soft.

Czym pulpit różni się od iPhone'a

Promień 20 px zamiast 26 px i cień --sh-4 zamiast miękkiego cienia iOS, bo widget leży na szkle kolumny, a nie na tapecie. Jeden przycisk „Otwórz kalendarz” w stylu ghost 32 px, bo na Macu widget ma prowadzić do konkretnego widoku okna. Kolorów, kroju pisma i kolejności informacji nie zmieniamy w ogóle.

Polityka odświeżania: pulpit macOS

Timeline. Wpisy co 15 minut w godzinach 8:00-20:00 plus wpis na każdą godzinę startu i końca wizyty, czyli identycznie jak na ekranie głównym iOS. Poza tym oknem jeden wpis o 07:30. Przełączenie na plan jutra po zamknięciu ostatniej wizyty dnia.

Wymuszenia. reloadTimeline po zamknięciu wizyty, zaksięgowaniu zaliczki, dodaniu lub przesunięciu wizyty i odwołaniu. Jeżeli aplikacja Pazy jest w tej chwili otwarta na tym samym Macu, widget bierze dane z niej lokalnie i nie pyta serwera.

Budżet i stan zdegradowany. Ten sam limit co na iOS: 40-70 odświeżeń na dobę, bez animacji i bez odliczania sekund. Przy braku sieci zostaje ostatni znany stan z podpisem „stan z 10:42”, nigdy pusty prostokąt ani spinner.

12 / 12

Polityka odświeżania na jednej stronie

Wszystko z poprzednich sekcji zebrane w jedno miejsce, w formie, którą inżynier może przeczytać przed sprintem. Zasada nadrzędna: żadna powierzchnia nie pokazuje spinnera, pustego prostokąta ani zera. Zawsze ostatni znany stan ze znacznikiem czasu.

  • Jedno źródło prawdy: kalendarz i kasa
  • Push tylko przy zdarzeniach, nie cyklicznie
  • Stan zdegradowany zawsze wygląda jak stan
Polityka odświeżania dla każdej rodziny widgetów i komplikacji
Rodzina Wpisy timeline Wymuszone odświeżenie Stan zdegradowany
Komplikacje zegarka

5 rodzin

Co 30 min plus wpis na każdą godzinę startu wizyty. W oknie 90 min przed wizytą co 5 min. Zamknięcie wizyty, zaliczka, przesunięcie, odwołanie. Push z serwera. Ostatni stan plus kreska zamiast pierścienia. Po 18:00 przełączenie na jutro.
Smart Stack

karta 320 x 108

T-90, T-60, T-30, T-15, T-5, T-0 względem godziny wizyty. Zmiana terminu i zamknięcie wizyty. Relevance schodzi wtedy do zera. Karta znika, zamiast pokazywać nieaktualną godzinę.
Widgety ekranu głównego

small, medium, large

Co 15 min w godzinach 8:00-20:00, poza tym jeden wpis o 07:30. Zamknięcie wizyty, zaliczka, nowa lub przesunięta wizyta, odwołanie. Ostatnie dane i podpis „stan z 10:42”. Nigdy pusty prostokąt.
Widgety ekranu blokady

circular, rectangular, inline

Jak wyżej, z podbitym priorytetem w oknie 90 min i w trakcie wizyty. Te same zdarzenia co ekran główny. W Always-On wariant bez wypełnienia pierścienia, żeby nie wypalać ekranu.
StandBy

520 x 300

Co 30 min do północy, potem co godzinę. Przełączenie na jutro o 19:00. Nowa rezerwacja na jutro, wygaśnięcie zaliczki. „Jutro wolne. Dobranoc.” Nigdy kwot dnia, o żadnej porze.
Widget na pulpicie macOS

medium 364 x 170

Jak widgety ekranu głównego: co 15 min w godzinach 8:00-20:00, poza tym jeden wpis o 07:30. Te same zdarzenia co na iOS. Przy otwartej aplikacji na tym samym Macu dane idą lokalnie, bez zapytania do serwera. Ostatnie dane i podpis „stan z 10:42”. Po ostatniej wizycie przełączenie na plan jutra.
Live Activity

minimal, compact, expanded, blokada

Aktualizacja lokalna co 60 s, bez licznika sekund. Napiwek, zmiana kwoty, przedłużenie, zamknięcie. Maks. 6 pushy na sesję. Po staleDate licznik zamienia się w „Sprawdź w aplikacji”.

Trzy rzeczy, których nie robimy nigdzie

Nie odliczamy sekund. Ani na zegarku, ani w Live Activity, ani w widgecie. Sekundy zjadają baterię i nie zmieniają żadnej decyzji.

Nie pokazujemy spinnera. Widget bez danych pokazuje ostatnie dane. Widget bez żadnych danych pokazuje jedno zdanie po polsku i przycisk.

Nie wysyłamy powiadomień marketingowych na żadną z tych powierzchni. Nadgarstek i ekran blokady są zarezerwowane dla najbliższych dwóch godzin pracy.

Pazy Go, wariant C. Makiety 1:1 na geometrii z _shared/frames.css: Apple Watch 46 mm 208 x 256 pt, iPhone 16 Pro 402 x 874 pt, widgety 170, 364 i 382 pt, Lock 72 x 72 i 160 x 72, StandBy 520 x 300, Dynamic Island 125 x 36, widget na pulpicie macOS 364 x 170 na kanwie pulpitu 680 x 420. Dane, godziny i kwoty pochodzą z tej samej bazy co pozostałe trzy pliki wariantu: wtorek, 28 lipca 2026, 10:42.

Landing · Mobile · Desktop · Wszystkie warianty