
📺 Záznam přednášky Dominika Fabiána z Ackee Meets: QA v době AI:
Evidence testovacích zařízení žila v tabulce, o které polovina firmy nevěděla, a druhá polovina ji nevyplňovala. Jako tester jsem nikdy žádnou aplikaci nenapsal – tak jsem si jednu postavil s AI, protože to vypadalo jako menší problém než chodit od stolu ke stolu.
📋 TL;DR
- Evidence zařízení v Google Sheets nefunguje, protože tabulku nikdo neotevře. Data pak nejsou špatná, ona tam prostě nejsou.
- Řešením byla interní aplikace: mobilní, u každého v telefonu, půjčení a vrácení na jeden klik.
- Zvažovali jsme tři způsoby distribuce – na všech testovacích zařízeních, na jednom sdíleném tabletu, nebo každý u sebe v mobilu. Vyhrála poslední varianta.
- Aplikaci psal QA tester bez zkušenosti s vývojem, celá vznikla vibe codingem. Prošla přitom čtyřmi jazykovými modely, dodělaná byla na firemním Claude.
- Stack: React Native na frontendu (pokryje iOS i Android najednou), Google Apps Script na backendu, protože sedí přímo na té tabulce.
- Prototyp běží v Expo Go, cílem je samostatná aplikace přes TestFlight.
- Aplikace nevyřeší lidský faktor. Když si někdo zařízení nezapíše, pořád je to na důvěře – nebo na zámku u skříňky.
📊 Kdo má co, a kdo si vzpomněl: tabulkový chaos v evidenci zařízení
Situaci asi znáte. Testovací hardware ve firmě (telefony, tablety, pár kusů, které si nikdo nepamatuje, odkud se vzaly) žije v tabulce v Google Sheets. Tabulka existuje, je pěkně nasloupečkovaná a teoreticky odpovídá na otázku „kdo má co“.
Prakticky odpovídá na otázku „kdo si naposledy vzpomněl, že má něco zapsat“.

Problém má dvě vrstvy. První je, že o té tabulce polovina lidí ani neví. Do sdílené evidence se zapisuje raritně, protože ji nikdo nemá otevřenou a nikdo o ni nezakopne. Druhá vrstva je horší: v tabulce je nedostatek informací o zařízeních, takže když nějaké konkrétní potřebujete, musíte ho dohledávat. V historii verzí tabulky, po Slack kanálech, nakonec fyzicky – chůzí od stolu ke stolu.
A pak přijde okamžik, kdy si chcete zařízení půjčit, v tabulce je napsaný někdo úplně jiný, a vy to zařízení máte přitom v ruce.

Přesně v téhle fázi jsme se rozhodli, že to chce něco jiného než další sloupec.
🧭 Co jsme od řešení chtěli: aby zápis lidi fakt dělali
Brainstorming nezačal otázkou „jaký nástroj použijeme“, ale otázkou „jak dosáhneme toho, že to tam lidi skutečně zapíšou“. To je jiné zadání a vede jinam.
Cíl byl trojí:
- tabulka bude vždycky aktuální,
- bude z ní na první pohled vidět, co je půjčené a co je volné,
- a zapsání si nesmí stát za nic – žádné hledání odkazu, žádné rolování, žádné „až potom“.
Poslední bod je ten, který rozhoduje. Evidence hardwaru nepadá na technologii, padá na tření. Každý krok navíc mezi „vzal jsem si telefon“ a „je to zapsané“ je krok, ve kterém to člověk vzdá.
📱 Proč interní aplikace a ne další tabulka
Odpověď zněla: uděláme si aplikaci.

Zní to jako overkill na problém, který má „jenom“ tabulka. Ale tři důvody dávají smysl:
Dostane se to nejlíp mezi lidi. Interní aplikaci si nainstalujete jednou a máte ji. Odkaz na tabulku se ztratí ve třetím vlákně odshora.
Rozhraní je přehledné a intuitivní. Většina věcí, které dnes lidi denně používají, má podobu aplikace. Nemusíte nikoho učit, co znamená ikona lupy.
Půjčení i vrácení je na jeden klik. Bez otevírání tabulky, bez hledání řádku, bez rizika, že přepíšete cizí buňku.
🚚 Distribuce: na všech zařízeních, na sdíleném tabletu, nebo v mobilu?
Další problém: jak aplikaci dostat mezi lidi. Měli jsme tři varianty a každá má jinou logiku.
Na všechna testovací zařízení v kanceláři. Aplikace je tam, kde je hardware. Jenže si ji musíte nainstalovat na desítky zařízení a udržovat aktualizovanou.
Na jeden sdílený tablet. Jedno místo, jedna instalace, jasné pravidlo. Zároveň nová fronta a nový bod selhání – když tablet někdo odnese nebo se vybije, evidence stojí.
Každý u sebe v mobilu. Vyhrála tahle varianta. Zařízení si vezmete, dojdete zpátky ke stolu a zaklikáte to na vlastním telefonu, který stejně držíte v ruce.
🤖 Jak ji ale vytvoříme? Vibe coding se čtyřmi modely
Zbývala drobnost. Já jako tester nevím, jak se vytvářejí aplikace.
Pomůže nám s tím samozřejmě AI. Představa vypadala krásně: pár promptů, pár kliknutí, hotová aplikace.
Skutečnost byla méně krásná. Celá aplikace vznikla vibe codingem a prošla přitom čtyřmi různými jazykovými modely, než se dostala do stavu, který se dal deployovat. Dodělaná nakonec byla na firemním Claude.
Interní nástroj s pěti obrazovkami a jedním datovým zdrojem je ideální první projekt. Nemá klienta, nemá SLA a když se rozbije, nikdo nepřijde o peníze – zato se na něm naučíte, kde AI pomáhá a kde vás pošle do kruhu.
To střídání modelů není známka toho, že AI nefunguje. Je to známka toho, že žádný model není konzistentní přes celý projekt. Něco zvládne jeden lépe, něco druhý, a když se zaseknete, přepnutí je levnější než hodina hádání se stejným modelem.
🧱 React Native a Google Apps Script: stack, který zvládne tester
Zůstala otázka technologií. Bude to jen iOS aplikace a Android vynecháme?
Frontend: React Native. Pokryje obě platformy najednou, iOS i Android, a dá se v něm rychle prototypovat. Pro interní nástroj, kde nejde o vyladěný nativní pocit, ale o to, aby to fungovalo všem, je to přímočará volba.
Backend: Google Apps Script. Tady je volba zajímavější, protože to není „správný“ backend. Je pomalejší a možností má omezeně. Zato je přímo napojený na tu chaotickou tabulku, ze které jsme vyšli. Nemusíte řešit databázi, migrace ani synchronizaci – zdroj pravdy zůstává tam, kde už byl, jen k němu přibylo použitelné rozhraní.
Dokud data žijí v tabulce a uživatelů jsou desítky, je propojení přes Apps Script nejkratší cesta k funkčnímu řešení. Jakmile by šlo o produkt s tisíci uživateli nebo o citlivá data, je to špatná odpověď a je potřeba pořádný backend.
📈 Jak aplikace vypadá: půjčení a vrácení na jeden klik
Po nějaké době vibe codingu vznikl první prototyp a první deploy. Vypadá takhle.
