Aplikace DÚK 10 let vznikla pro akci k 10. výročí Dopravy Ústeckého kraje.
Cílem bylo vytvořit vlastní eventovou aplikaci, která během akce podpoří zapojení návštěvníků, sběr odpovědí do ankety a naváže na něj zážitkem s kolem štěstí.
Místo běžného formuláře nebo generického anketního nástroje projekt vyžadoval webovou aplikaci navrženou pro reálné fyzické prostředí akce, velký tablet a kontrolovaný inventář cen.
Finální aplikace spojila sběr odpovědí, kolo štěstí, logiku cen podle dostupného počtu dárků, lokální ukládání pro případ obnovy, vzdálenou synchronizaci s Google Sheets přes Apps Script a několik pojistek do jednoho plynulého eventového flow.

Výzva
Eventové aktivace musí být pro návštěvníky jednoduché, ale pro organizátory spolehlivé.
Návštěvník by měl přijít k zařízení, odpovědět na několik otázek, roztočit kolo štěstí a hned vidět, co vyhrál. Na pozadí ale systém musí správně pracovat s daty, dostupností cen, pravděpodobnostmi, ukládáním, obnovou dat i chybovými stavy.
Pro výroční akci DÚK musela aplikace spolehlivě fungovat ve veřejném eventovém prostředí, včetně velkého Android tabletu s rozlišením 1920 × 1080.
Bylo potřeba vytvořit aplikaci, která dokáže:
- plynule fungovat jako webová aplikace v tabletovém eventovém setupu
- nabídnout jasný průchod anketou
- spolehlivě ukládat odpovědi návštěvníků
- převést uživatele ke kolu štěstí
- vypočítat výsledek podle dostupného množství cen
- zabránit výběru nedostupných cen
- správně reagovat na vyčerpané ceny
- lokálně ukládat data pro případ obnovy
- vzdáleně synchronizovat data do Google Sheets přes Apps Script
- obsahovat pojistky pro reálný provoz na akci
- působit dostatečně profesionálně pro veřejnou akci
Aplikace musela být na povrchu jednoduchá, ale dostatečně robustní pro skutečný eventový provoz.
Řešení
Vytvořil jsem vlastní eventovou webovou aplikaci v Expo a React Native.
Aplikace byla navržená kolem celé cesty návštěvníka: anketa, roztočení kola, výsledek ceny a spolehlivé uložení dat.
Nejprve návštěvníci vyplnili anketu. Po jejím dokončení se přesunuli do herní části — ke kolu štěstí, které vybíralo výsledek podle aktuálně dostupného inventáře cen.
Logika cen nebyla náhodná jen v základním smyslu. Musela respektovat skutečný počet dostupných dárků, aby se ceny daly rozdělovat během celé akce a nedošlo k jejich příliš rychlému vyčerpání.
Systém obsahoval také lokální ukládání pro obnovu dat a vzdálené ukládání do Google Sheets přes Apps Script. Pokud by nastal problém s připojením, data nezmizí — zůstanou uložená lokálně a lze je později obnovit.
Anketní flow
První částí zkušenosti byla anketa.
Musela být jasná, rychlá a použitelná ve veřejném eventovém prostředí. Návštěvníci neměli trávit dlouhý čas vyplňováním složitých formulářů, proto byla interakce jednoduchá a soustředěná.
Anketní flow bylo navržené tak, aby:
- sbíralo užitečné odpovědi
- udrželo interakci rychlou
- dobře fungovalo na velké tabletové obrazovce
- přirozeně vedlo uživatele k dalšímu kroku
- nevytvářelo zbytečné překážky
- připravilo data pro lokální i vzdálené uložení
Po dokončení ankety aplikace uživatele přímo převedla ke kolu štěstí.
Kolo štěstí
Druhou částí aplikace bylo kolo štěstí.
Anketu proměnilo v zajímavější eventovou aktivaci. Návštěvníci neodesílali jen formulář, ale mohli roztočit kolo a získat výsledek s cenou.
Kolo štěstí pomohlo udělat interakci hravější a zapamatovatelnější, aniž by se ztratila praktická stránka akce: sběr odpovědí a rozdávání cen.
Celý tok fungoval jako jeden propojený proces:
dokončení ankety → roztočení kola → výsledek ceny → lokální uložení → vzdálená synchronizace → finální obrazovka.
Logika inventáře cen
Jednou z nejdůležitějších částí projektu byla logika cen.
Aplikace musela pracovat se skutečným seznamem dárků a jejich dostupným množstvím. Kolo štěstí proto nemohlo jen náhodně vybrat libovolnou cenu bez ohledu na stav zásob.
Logika musela pracovat s:
- dostupným množstvím jednotlivých cen
- rozdělením pravděpodobností
- vyčerpanými cenami
- uložením výsledku
- záložními stavy pro případ, že cena už není dostupná
- ochranou před výběrem nedostupné ceny
Pokud byla cena nedostupná nebo vyčerpaná, aplikace tento stav musela správně vyřešit, místo aby zobrazila nefunkční nebo zavádějící výsledek.
Díky tomu byla aplikace spolehlivější pro reálné použití, kde na dostupnosti cen skutečně záleží.
Lokální obnova a synchronizace s Google Sheets
Aplikace byla postavená s důrazem na spolehlivost dat.
U každé dokončené interakce systém lokálně uložil data z ankety, časové razítko i výsledek ceny pro případ pozdější obnovy. Zároveň data vzdáleně synchronizoval do Google Sheets přes Apps Script.
Tento dvouvrstvý přístup vytvořil praktickou pojistku pro podmínky na akci.
Pokud by vzdálené ukládání selhalo, data se neztratí. Lokální kopie uchová výsledek a umožní ho později obnovit.
Datový tok podporoval:
- lokální ukládání pro obnovu
- vzdálené ukládání do Google Sheets přes Apps Script
- záznam časového razítka
- záznam odpovědí do ankety
- záznam výsledku ceny
- bezpečnější práci při selhání ukládání
V eventovém prostředí je to důležité, protože připojení, zařízení i externí služby nemusí vždy fungovat dokonale. Systém musí dál fungovat i v méně ideálních podmínkách.
Pojistky
Aplikace obsahovala pojistky, které zvyšovaly spolehlivost eventového flow.
Na veřejné akci nelze spoléhat na to, že vše proběhne ideálně. Uživatelé mohou s aplikací pracovat rychle, internet může být nestabilní, vzdálené ukládání může selhat nebo se může změnit dostupnost cen.
Aplikace obsahovala zabezpečení nejdůležitějších částí procesu:
- lokální uložení dokončených výsledků
- vzdálené odesílání dat do Google Sheets
- řešení problémů se vzdálenou synchronizací
- ochranu před výběrem vyčerpaných cen
- záložní stav, pokud cena není dostupná
- uložení výsledku ceny před zobrazením finální obrazovky
- plynulou zkušenost i v případě problémů na pozadí
Díky těmto pojistkám byla aplikace vhodnější pro reálné nasazení, ne jen pro kontrolované testování.
Tabletová webová aplikace
Aplikace vznikla jako webová aplikace navržená především pro velkou tabletovou obrazovku na akci.
Rozhraní muselo dobře vypadat v rozlišení 1920 × 1080, podporovat prostředí akce a zůstat jednoduché pro lidi, kteří s ním budou pracovat jen krátce.
Zkušenost se soustředila na:
- jasné interakce vhodné pro dotyk
- layout pro velkou obrazovku
- jednoduchou navigaci
- vyladěný vizuální tok
- spolehlivé použití na akci
- plynulé přechody mezi anketou, kolem štěstí a výsledkem
Aplikace nebyla navržená jako běžná mobilní appka. Šlo o cílený eventový nástroj pro fyzickou aktivaci, s webovou architekturou vhodnou pro potřebný způsob nasazení.
Co bylo součástí projektu Vlastní eventová webová aplikace v Expo / React Native. Rozhraní navržené pro tablet v rozlišení 1920 × 1080. Anketní flow. Kolo štěstí. Logika výsledků cen. Práce s inventářem dárků. Záložní logika pro vyčerpané ceny. Lokální ukládání dat pro obnovu. Vzdálená synchronizace s Google Sheets přes Apps Script. Ukládání časových razítek a výsledků. Ukládání odpovědí do ankety. Pojistky pro spolehlivost na akci. Uživatelské flow navržené pro konkrétní event. Technická realizace pro reálné nasazení.
Projekt propojil eventové UX, vývoj webové aplikace, sběr dat, gamifikaci, provozní správu cen a vývoj s důrazem na spolehlivost.
Výsledek
Aplikace DÚK 10 let dala výroční akci vlastní digitální aktivační systém postavený na skutečných provozních potřebách.
Návštěvníci mohli vyplnit anketu, roztočit kolo štěstí a získat výsledek v plynulé tabletové zkušenosti. Organizátoři získali strukturovaný způsob, jak sbírat odpovědi, řídit distribuci cen a chránit eventová data pomocí lokálního ukládání i vzdálené synchronizace do Google Sheets.
Místo generického formuláře nebo ručního řešení cen měla akce vlastní aplikaci, která spojila zapojení návštěvníků, data, logiku cen a provozní spolehlivost do jednoho systému.
Hlavní myšlenka
Kvalitní eventový software musí dělat víc než dobře vypadat.
Musí fungovat v reálném prostředí, podporovat zkušenost návštěvníků a zvládat provozní omezení na pozadí.
Pro 10. výročí DÚK jsem vytvořil vlastní tabletovou webovou aplikaci, která spojila sběr odpovědí, kolo štěstí, logiku cen podle inventáře, lokální ukládání pro obnovu, synchronizaci s Google Sheets a pojistky do jednoho kompletního aktivačního systému.

