Postavili sme maskota, ktorý vám pár minút pred stretnutím preletí cez obrazovku. Dávame ho zadarmo aj so zdrojovým kódom.
Postavili sme maskota, ktorý vám pár minút pred stretnutím preletí cez obrazovku. Dávame ho zadarmo aj so zdrojovým kódom. Tento diel je o tom, čo všetko sa muselo urobiť medzi „funguje mi to“ a „môžem to dať cudzím ľuďom do počítača“.

Skôr než začnem, jedna vec dopredu. AI a vibecoding máme radi naozaj, nie ako marketingovú frázu. S AI pracujeme každý deň, robí nám sedemdesiat až osemdesiat percent práce. Za sebou máme tisíce a tisíce hodín naprieč modelmi, veľa slepých ciest a milióny korún len za testovanie, skúšanie, pokusy a omyly. Platili sme ich my, aby ich nemuseli platiť naši klienti.
Tento článok preto nie je o tom, že vibecoding je zlý nápad. Je presne naopak. Ukazujeme ho verejne preto, že chceme, aby bolo vidieť, čo všetko sa za jednu jednoduchú appku skryje. Tá rýchlosť je skutočná výhoda, nie ilúzia. Len so sebou nesie zodpovednosť, o ktorej sa v nadšení málokedy hovorí.

Pre túto ukážku sme si zámerne vybrali softvér, appku, ktorá sa inštaluje do vášho počítača. Nie web, nie webovú appku. Ukážky AI zázrakov, ktoré vídate na sieťach, sú skoro vždy weby. Je to najvďačnejšia disciplína na predvádzanie, pretože keď demo web nefunguje, používateľovi sa nič nerozbije, jednoducho zavrie záložku. Softvér v cudzom počítači je iná liga.

Píšem o tom aj preto, že som si za tie roky spálil prsty viackrát, než by som chcel počítať. V sedemnástich som mal nápad na osobný projekt. Na odporúčanie som si najal vývojovú firmu a dizajnéra. Sľubovali, nedodávali. Skončilo to štvrť milióna korún v mínuse. Boli to všetky peniaze, čo som si šetril od detstva. Hotová bola len tretina toho, čo sľúbili. A práve preto v tomto článku ukazujem neviditeľnú prácu tak otvorene.

Najprv tá appka
Notifikácia na macOS je zdvorilá, decentná a dokonale prehliadnuteľná. Bublina vyjde v rohu, po pár sekundách zmizne a vy zistíte, že vás na hovore čakali dvanásť minút.
Ptáček rieši presne toto. Pár minút pred stretnutím vám cez obrazovku preletí maskot s názvom stretnutia. Cez všetky okná, aj cez prezentáciu na celú obrazovku. Za pár sekúnd sám zmizne.

Appka bola hotová za pol dňa. Zvyšok dvoch dní patril bezpečnosti
Funkčná verzia, teda maskot, kalendár, plánovač a nastavenia, bola hotová za pol dňa. Keby som appku vtedy hodil na internet, vyzerala by navonok úplne rovnako ako dnes. Lenže kým mohla ísť von, musela prejsť kontrolou druhej, nezávislej AI, ktorej jediná úloha bola hľadať diery v tom, čo prvý model postavil. A nad oboma modelmi bola ešte ručná kontrola, pretože posledné slovo má človek. Tá kontrola a opravy zabrali deň a pol.

Zdedili sme cudzí kanál na aktualizácie
Appku sme nestavali od nuly, vyšli sme z otvoreného projektu. Ten mal v sebe automatické aktualizácie mieriace na repozitár cudzieho autora. Keby to tam zostalo, znamenalo by to, že si naši používatelia môžu jedného dňa stiahnuť kód, ktorý sme nikdy nevideli. Toto je presne ten typ veci, ktorý AI pri generovaní kódu nespomenie, pretože sa naň nikto nepýtal.

Názov stretnutia je nedôveryhodný vstup
Znie to absurdne: prečo by mal byť nebezpečný názov vlastného stretnutia? Pretože do kalendára vám môže niekto poslať pozvánku a názov si napíše sám. Takže sa názov nikdy nevkladá do stránky ako kód, len ako text.

Adresa kalendára je heslo
Tá adresa je fakticky kľúč: kto ju má, vidí, kedy máte stretnutia. Preto neleží v konfiguračnom súbore, ale v systémovej Kľúčenke, teda tam, kde má Mac vaše heslá. A nikdy sa nepíše do logu.

A potom sto malých vecí
Čo robiť, keď sa stretnutie zruší minútu pred preletom. Čo keď ho niekto posunie. Čo keď sa počítač prebudí zo spánku a čaká v ňom päť zmeškaných upozornení naraz.
Nič z toho nie je zaujímavé. Všetko z toho používateľ pozná, keď to neurobíte.
Práca, ktorú nie je vidieť
Diakritika v názve rozbila podpis aplikácie. Pretože sa súbor volal Ptáček, systémový nástroj na podpisovanie zapečatil hlavný program ako prílohu a podpis prestal platiť.

macOS vie appku spustiť z dočasného miesta. Appka vyzerá, že funguje, ale nezapamätá si nastavenia ani povolenie kalendára.
Presunutie do koša po sebe necháva neporiadok. Nastavenia, spúšťanie po prihlásení, adresa v Kľúčenke. Takže je v nastaveniach tlačidlo Odinštalácia, ktoré to upratá. Je to jediná vec v celej appke, ktorá niečo maže, preto má vlastné testy na to, že nezmaže nič iné.

Ticho namiesto chyby
Appka vyšla, testy boli zelené, podpis platil. Vyzeralo to hotovo. Potom appku začal používať prvý skutočný používateľ a počas jednej noci sa ukázali dve veci, ktoré žiadny test nevidel.
Ostrá verzia nevedela čítať kalendár. Za všetkým stál jeden riadok v podpise aplikácie. Bez neho systém žiadosť potichu zamietne. Žiadny dialóg, žiadna chybová hláška, jednoducho ticho.

Maskoti začali miznúť uprostred letu. Poistka nerozlišovala, čie okno stráži. Bola to chyba, ktorá tam bola od začiatku, len sa neprejavila, kým sa nelietalo husto.
Výsledok jednej noci: tri vydania za sebou, testov z osemnástich na päťdesiatdva, a používateľ nevidel jedinú novú funkciu. Presne toto je práca, ktorá nie je vidieť.

AI je turbo, nie autopilot
Zrýchli vám prvú verziu appky na pol dňa, ale nerozhodne za vás, čo je prijateľné riziko a čo nie. To rozhodnutie zostáva na človeku, stále.
Článok pôvodne vyšiel na LinkedIne. Pôvodný článok na LinkedIne

