Reportingová appka místo Looker reportů
Co jsem za tři dny postavil s Claude Code – a co z toho bylo opravdu moje práce
12. října 2026
Pro Slovenskou televizi a rozhlas (STVR) mám na starosti celé měření jejich zpravodajských webů: server-side GTM na Google Cloudu, data v BigQuery, datové modely nad nimi a reporty pro redakci. Reporty dlouho žily v Looker Studiu. Fungovaly, ale s každým dalším požadavkem byly těžkopádnější.
V září jsme se rozhodli je nahradit vlastní webovou aplikací. Od prvního návrhu po ostrý provoz to trvalo tři dny. Kód jsem přitom sám nenapsal – psal ho Claude Code. Tenhle článek je o tom, jak to vypadalo v praxi, kde byla moje práce a na co si dát pozor.
Proč pryč z Lookeru
Looker Studio je skvělý začátek: zdarma, rychle napojený na BigQuery a každý ho umí otevřít. Problémy přicházejí, když report roste:
- Logika napříč celým reportem. Redakce chtěla například vyřadit provoz robotů ze všech čísel najednou. V Lookeru to znamená upravovat každý graf zvlášť, v aplikaci je to jeden filtr v datové vrstvě.
- Úpravy klikáním. Změna definice metriky se v Lookeru dělá ručně na mnoha místech a nikde nezůstane záznam, co se změnilo. Kód aplikace je v gitu – každá změna má historii.
- Přístupy. V aplikaci mám vlastní přihlášení a role. Kdo vidí jaká data, hlídá přímo databáze, ne nastavení sdílení u jednotlivých reportů.
Co appka umí
- Přihlášení, role (správce klienta, čtenář) a administraci uživatelů.
- Řízení přístupu přímo v databázi (row-level security): uživatel jednoho klienta se k datům jiného nedostane, ani kdyby se ptal databáze napřímo.
- Reporty pro zpravodajský web, krátké zprávy a provoz robotů – s filtry, řazením a stránkováním.
- Definice metrik přímo u tabulek, ať redakce ví, co které číslo znamená.
- Je postavená pro víc klientů – každý má vlastní oddělená data.
Jak to vzniklo
16. září
Návrh datového modelu, řídicích tabulek a pravidel přístupu. Testy, které ověřují, že klient nevidí data jiného klienta.
17. září
Kostra aplikace a přihlašování. Ověřeno na testovacích uživatelích: správce, čtenář, uživatel bez přístupu.
18. září
Tři reporty nad skutečnými daty, nasazení do produkce.
do 8. října
47 commitů: řazení tabulek, definice metrik, verze reportu 1:1 podle Lookeru, filtr robotů přes celý report.
Tři dny neznamenají, že je hotovo. Znamenají, že redakce měla funkční reporty ve chvíli, kdy by u klasického vývoje teprve vznikalo zadání. Další týdny šly na to, na čem záleží nejvíc: aby čísla seděla a report odpovídal na otázky, které redakce opravdu klade.
Kdo co dělal
Já
- • Zadání: jaké otázky má report zodpovědět
- • Datový model a tvar tabulek
- • Rozhodnutí o bezpečnosti a přístupech
- • Kontrola čísel proti původním reportům
- • Testování s reálnými uživateli a zpětná vazba z redakce
Claude Code
- • Kód aplikace (frontend i backend)
- • SQL migrace a bezpečnostní pravidla v databázi
- • Testovací skripty
- • Nasazení na Cloudflare
- • Úpravy podle mých připomínek
Bez Claude Code bych tuhle aplikaci sám nepostavil – Next.js ani TypeScript neumím. Bez analytika by ale Claude Code postavil aplikaci, která ukazuje špatná čísla hezky. Hodnota je v tom, že se obě poloviny potkají v jednom člověku.
Na co si dát pozor
- Bezpečnost nejde nechat na AI. Tajný administrátorský klíč nesmí nikdy do prohlížeče a pravidla přístupu musí mít testy. Napsal je Claude Code, ale co testovat, jsem určoval já.
- Čísla porovnávejte se starým reportem. Nová verze reportu vznikala 1:1 podle Lookeru, aby redakce viděla stejná čísla a rozdíly šly vysvětlit.
- Pojmenujte vědomá omezení. První verze hlídá přístup na úrovni klienta, ne jednotlivého reportu. Je to v pořádku, dokud o tom víte a máte to v plánu.
- Počítejte s provozem. Bezplatné tarify mají háčky – databáze na free tarifu se po týdnu nečinnosti uspí. Pro ostrý provoz to chce placený tarif.
Kdy to dává smysl
Vlastní aplikace se vyplatí, když report používá víc lidí každý den, potřebujete logiku přes celý report, řízení přístupů nebo víc klientů v jednom řešení. Pro jednorázovou analýzu nebo report pro dva lidi zůstaňte u Looker Studia – je rychlejší a nic to nestojí.
Pro mě je to hlavně posun role. Webový analytik dřív skončil u implementace a dashboardu. Dnes můžu dodat celý řetězec – od trackingu přes datový sklad až po aplikaci, kterou lidé opravdu otevírají.
Chcete něco podobného?
Pokud vám reporty přerůstají přes hlavu, napište mi.
Napsat poptávku