Funkční starter kit pro eventový check-in a živý dashboard
Hotový základ, který propojí registrační data se skutečnou účastí na eventu. Při vstupu řeší check-in, během eventu aktualizuje agregovaný dashboard a po eventu ti zůstane přesný přehled o tom, kdo skutečně dorazil.

Při prvním meetupu Women in AI Prague jsem nechtěla pracovat jen se seznamem registrací. Při vstupu jsem potřebovala rychle najít člověka, označit jeho příchod a zároveň během eventu vidět, jaké publikum je právě v místnosti.
Vznikl z toho jednoduchý flow, který propojuje registrace, check-in a živý dashboard. Z řešení, které jsem použila na vlastním eventu, jsem připravila starter kit, který si může další tým přizpůsobit svému eventu.
Balíček obsahuje funkční demo režim, integraci s Google Sheets, Netlify Functions, automatické testy, bezpečnostní checklist a připravené zadání pro Codex nebo Claude Code. Místo stavění od nuly tak upravuješ už fungující základ podle vlastních dat, otázek, brandingu a eventového flow.
Jak to funguje v praxi
Starter pracuje s jedním řádkem pro jednoho člověka. Ve vlastní verzi si namapuješ sloupce, které používáš při registraci.
Člověka vyhledá podle jména nebo e-mailu a označí jeho příchod. Pokud se splete, check-in může jednoduše vrátit zpět.
Na veřejné obrazovce můžeš zobrazovat povolené kategorie z registrace a jejich souhrny. Dashboard se obnovuje přibližně každých pět sekund a neposílá jména ani e-maily účastníků.
V Google Sheets máš označené příchody, takže můžeš oddělit registrované od lidí, kteří skutečně dorazili, a dál pracovat s přesným segmentem účastníků.
Na titulním obrázku je reálný veřejný dashboard z prvního meetupu Women in AI Prague. Zobrazuje jen souhrnné kategorie a počty, ne jména ani e-maily účastnic.
Kdy se ti tenhle starter hodí
Dává smysl tam, kde potřebuješ propojit registrace, příchody a jednoduchý živý přehled a nechceš kvůli tomu kupovat velký eventový systém. Například pro:
- komunitní meetupy a networkingové snídaně,
- interní learning days, workshopy a firemní akce,
- menší konference s jedním check-in místem,
- opakované eventy, u kterých se mění značka, místo nebo otázky v registraci,
- pilot, na kterém si tým chce ověřit vlastní flow před rozhodnutím o větším řešení.
Největší úspora je v tom, že nezačínáš od prázdné složky. Architektura, demo flow, testy a základní bezpečnostní hranice už jsou připravené. Tvůj čas jde hlavně do mapování vlastních dat, brandingu a toho, jak má check-in fungovat na konkrétním eventu.
Stejný základ můžeš přizpůsobit jiné značce i jiným otázkám. Takhle vypadá veřejný agregovaný dashboard pro EX Community Breakfast by BE-DNA:

Co balíček obsahuje
Po rozbalení najdeš dvě rozhraní. Neveřejný check-in slouží obsluze při vstupu. Veřejný dashboard zobrazuje jen povolené kategorie a jejich souhrny.

Balíček obsahuje:
- vyhledávání účastníka podle jména nebo e-mailu,
- check-in i vrácení chybně označeného příchodu,
- automatickou synchronizaci s Google Sheets,
- živý dashboard s obnovou přibližně každých pět sekund,
- demo data a vzorové CSV,
- připravený prompt pro Codex nebo Claude Code,
- technickou specifikaci, bezpečnostní checklist a automatické testy.
Starter neobsahuje žádné produkční osobní údaje, PIN, Google Sheet ID, service-account klíč ani cizí logo. Další tým si doplní vlastní Sheet, mapování sloupců, údaje o eventu, branding a serverové proměnné prostředí.
Jak ho předat Codexu nebo Claude Code
Do nového projektu vlož rozbalenou složku a coding agentovi pošli soubor AGENT_PROMPT.md. Prompt ho nejprve provede přes README, technický kontrakt a bezpečnostní pravidla. Potom si vyžádá konkrétní vstupy: název eventu, jazyk, značku, Sheet, povolené registrační stavy, kategorie pro dashboard a cílový hosting.
V zadání je také důležitá release hranice: agent má nejprve připravit lokální ověření nebo chráněný deploy preview. Produkci nemá měnit bez výslovného schválení.
Při předávání doporučuji doplnit jen informace, které už máš potvrzené. Reálné klíče ani PIN nevkládej do promptu. Agent má pojmenovat přesné environment variables a místo, kde je bezpečně nastavíš v hostingu.
Nová bezpečnostní vrstva
První verze používala PIN při každém vyhledávání a zápisu. V aktuálním balíčku se PIN odešle jen jednou na serverový auth endpoint. Po úspěšném ověření vznikne podepsaná relace uložená v cookie s atributy Secure, HttpOnly a SameSite=Strict.
Prakticky to znamená:
- PIN se neukládá do úložiště prohlížeče,
- vyhledávání ani check-in už PIN neposílají,
- relace je navázaná na povolené event ID,
- absolutní timeout lze nastavit od 5 minut do 8 hodin,
- obsluha se může ručně odhlásit,
- změna session secretu zneplatní všechny aktivní relace,
- auth route omezuje pokusy na 5 za 180 sekund pro kombinaci IP a domény.
Netlify ve své dokumentaci upozorňuje, že vynucování rate limitu může začít s krátkým zpožděním. Proto dává smysl použít dlouhý eventový PIN a po eventu ho společně se session secretem změnit. Pro citlivější nebo větší event bych už volila uživatelské účty, SSO, role a audit log.
Veřejný dashboard má jinou datovou hranici. Endpoint neposílá jméno, e-mail ani číslo řádku. Neznámé odpovědi mapuje na unspecified, aby se na veřejnost nedostala původní textová hodnota. U velmi malých skupin je ale i tak potřeba zvážit minimální práh, protože kombinace vzácných kategorií může člověka nepřímo identifikovat.
Technické shrnutí
| Vrstva | Použití |
|---|---|
| Frontend | Statické HTML, CSS a JavaScript pro mobilní check-in a dashboard na velké obrazovce |
| Backend | Netlify Functions pro přihlášení, relaci, vyhledávání, zápis a veřejná agregovaná data |
| Data | Google Sheets API, jeden řádek pro jednoho člověka |
| Ochrana check-inu | Serverově ověřený PIN, podepsaná HttpOnly cookie, timeout, logout a rate limiting |
| Veřejný výstup | Povolené kategorie bez jména a e-mailu; jednotlivé záznamy odlišuje jen krátký hash |
| Ověření | Node testy, demo flow, kontrola JavaScript syntaxe a vizuální kontrola desktopu i mobilu |
Automatické testy kontrolují mapování dat, povolené registrační stavy, oddělení lidí se stejným e-mailem, check-in i undo, synchronizaci se simulovaným Sheetem, podpis a timeout relace i nepřítomnost jmen a e-mailů ve veřejném API.
Reálný produkční flow je po doplnění vlastních credentials potřeba ověřit na povoleném testovacím řádku.
Užitečné technické odkazy
- Codex pro vývojáře
- Začínáme s Claude Code
- Netlify Functions – API a konfigurace
- Netlify rate limiting
- Google Sheets API
Starter je základ, který je potřeba přizpůsobit konkrétnímu eventu, datům a míře rizika. Pokud chceš projít vlastní use case, mapování Sheetu nebo bezpečnostní hranice, vyber si termín krátkého úvodního meetingu nebo mi napiš na womeninaiprague@gmail.com.
Chceš projít vlastní event, mapování Sheetu nebo bezpečnostní hranice? Vyber si termín krátkého úvodního meetingu nebo mi napiš na womeninaiprague@gmail.com.
Vybrat termín konzultace