Jak jsme navrhli klientskou aplikaci pro lidi, kteří telefon v posilovně nechtějí
Tři principy, které řídily design klientské části PocketCoachi — méně tapů, víc soustředění na sérii.
Většina aplikací předpokládá, že klient stráví v jejich UI hodinu denně. My jsme začali z opačného konce: kolik nejméně času musí strávit, aby trénink fungoval správně a data byla dostupná? Odpověď nás překvapila.
Položili jsme si otázku jinak než konkurence. Místo "jaké funkce chce klient mít?" jsme se ptali "kdy přesně bude klient aplikaci otevírat?" Po rozhovorech s padesáti aktivními klienty osobních trenérů jsme dostali konzistentní odpověď: těsně před sérií, těsně po sérii, a při přepisu do deníku. To jsou tři momenty. Každý trvá méně než deset sekund. Všechny ostatní funkce jsou sekundární.
Tenhle insight přeformoval celý design. Každá obrazovka, každá interakce musela projít filtrem: přispívá tenhle prvek k jednomu ze tří momentů? Pokud ne, letěl pryč. Výsledkem je aplikace, která vypadá "jednoduchá" — ale ta jednoduchost je výsledkem mnoha komplikovaných rozhodnutí.
Princip 1: Trénink na jednu obrazovku. Žádné tabbování, žádné vnořené menu. Cviky, série, pole pro váhu a opakování — to vše na jedné scrollovatelné stránce. Pokud musíš klikat víc než dvakrát, aby ses dostal k záznamu série — aplikace tě selhává. Tohle je naše nulová tolerance. Na Androidu to testujeme palcem jedné ruky, protože přesně tak to lidé v posilovně drží telefon.
Princip 2: Idempotentní synchronizace. Když ti vypadne signál mezi sériemi — a v posilovně vypadne, garance žádná — klient pošle data znovu při dalším úspěšném requestu. Žádné duplicitní záznamy, žádný panic, žádné "aplikace se zasekla, přišel jsem o data". Backend označuje každou session unikátním UUID generovaným na klientovi. Duplikáty detekuje a zahazuje.
Princip 3: Push notifikace, ne nutnost otevírat appku. Trenér ti naplánoval lekci? Push notifikace. Změnil program? Push. Přidal komentář k tréninku? Push. Tvoje role je trénovat, ne sledovat inbox aplikace. Notifikace jsou opt-in, ale default je on — a v beta testování s nimi bylo zapnuto 94 % uživatelů.
Testování probíhalo netradičně — naše první beta verze šla přímo do posilovny před jakoukoli veřejnou prezentací. Pět trenérů, každý se třemi klienty, dvě posilovny v Praze. Sledovali jsme, kdy lidé váhají, kde se zaseknou, kde aplikaci otevírají zbytečně. Žádné dotazníky. Přímé pozorování.
Co nás překvapilo: největší frustraci nezpůsobovaly funkce, ale načítací časy. Klient ve středu série nechce čekat ani tři sekundy. Optimalizovali jsme offline-first architekturu — data jsou lokálně cachovány a synchronizují se na pozadí. Díky tomu funguje aplikace plnohodnotně i bez internetu a synchronizuje hned jak je signál.
Dalším zjištěním byl keyboard. Na iOS se klávesnice zobrazuje a zavírá pomaleji než si vývojáři uvědomují. Pole pro váhu a opakování přepínáme bez zavírání klávesnice — focus přejde přímo na další pole. Zdá se to jako detail. V praxi to ušetří v průměru 2–3 sekundy na záznam série. Při dvanáctisériové noze je to minutu.
Výsledkem je aplikace, kterou klienti v beta testování popisují jako 'nevnímám ji'. To je přesně to, co jsme chtěli. Software, který zmizí do pozadí a nechá trénink být tréninkem. Trenér vidí data, klient zaznamenává bez přemýšlení, výsledky jsou tam bez extra práce.
Technický stack pro ty, kteří se ptají: React Native s Expo, offline-first přes SQLite na klientovi, tRPC pro synchronizaci, BullMQ pro notifikační fronty. Vývoj aplikace bude vždy otevřený pro zpětnou vazbu — feature requesty sbíráme přímo v aplikaci přes feedback tlačítko.
Pokud chceš vidět aplikaci v akci, mrkni na demo video nebo si zaregistruj zkušební dobu — klientská část je součástí každého tarifu, i zdarma.