Przejdź do treści

Blog · Lipiec 2026

Pół dnia na apkę. Półtora dnia na to, żeby dało się ją oddać obcym ludziom.

  • Jakub Liška · Lipiec 2026

Zbudowaliśmy maskotkę, która kilka minut przed spotkaniem przelatuje przez ekran. Dajemy ją bezpłatnie wraz z kodem źródłowym.

Zbudowaliśmy maskotkę, która kilka minut przed spotkaniem przelatuje przez ekran. Dajemy ją bezpłatnie wraz z kodem źródłowym. Ta część jest o tym, co wszystko trzeba było zrobić między „u mnie działa” a „mogę to dać obcym ludziom na komputer”.

Powiadomienie na MacBooku kilka minut przed spotkaniem

Zanim zacznę, jedna rzecz z góry. AI i Vibe Coding naprawdę lubimy, nie jako frazes marketingowy. Pracujemy z AI codziennie, robi nam siedemdziesiąt do osiemdziesięciu procent pracy. Mamy za sobą tysiące i tysiące godzin na różnych modelach, mnóstwo ślepych uliczek i miliony euro tylko na testowanie, próbowanie, próby i błędy. Płaciliśmy za nie my, żeby nie musieli płacić nasi klienci.

Ten artykuł nie jest więc o tym, że Vibe Coding to zły pomysł. Jest dokładnie odwrotnie. Pokazujemy go publicznie dlatego, że chcemy, żeby było widać, co wszystko kryje się za jedną prostą apką. Ta szybkość to prawdziwa zaleta, nie iluzja. Tylko niesie ze sobą odpowiedzialność, o której w entuzjazmie rzadko się mówi.

Maskotka, która przed spotkaniem przelatuje przez ekran

Na ten pokaz wybraliśmy celowo oprogramowanie, apkę, która instaluje się na komputerze. Nie stronę, nie aplikację webową. Pokazy cudów AI, które widuje się w sieci, to prawie zawsze strony. To najwdzięczniejsza dyscyplina do prezentowania, bo gdy demo strony nie działa, użytkownikowi nic się nie psuje, po prostu zamyka kartę. Oprogramowanie na cudzym komputerze to inna liga.

Karta spotkania, która pojawia się po najechaniu myszą

Piszę o tym także dlatego, że przez te lata sparzyłem się częściej, niż chciałbym liczyć. W wieku siedemnastu lat miałem pomysł na osobisty projekt. Na polecenie wynająłem firmę developerską i projektanta. Obiecywali, nie dostarczali. Skończyło się to ćwierć miliona euro na minusie. To były wszystkie pieniądze, które odkładałem od dzieciństwa. Gotowa była tylko jedna trzecia tego, co obiecali. I właśnie dlatego w tym artykule pokazuję niewidzialną pracę tak otwarcie.

Maskotki aplikacji Ptáček

Najpierw ta apka

Powiadomienie w macOS jest uprzejme, dyskretne i doskonale łatwe do przeoczenia. Dymek wysuwa się w rogu, po kilku sekundach znika, a Państwo dowiadują się, że na rozmowie czekano na Państwa dwanaście minut.

Ptáček rozwiązuje dokładnie to. Kilka minut przed spotkaniem przelatuje przez ekran maskotka z nazwą spotkania. Przez wszystkie okna, także przez prezentację na pełnym ekranie. Po kilku sekundach sama znika.

Kolejne maskotki aplikacji Ptáček

Apka była gotowa w pół dnia. Reszta dwóch dni należała do bezpieczeństwa

Wersja funkcjonalna, czyli maskotka, kalendarz, planista i ustawienia, była gotowa w pół dnia. Gdybym wtedy wrzucił apkę do internetu, wyglądałaby na zewnątrz dokładnie tak samo jak dziś. Ale zanim mogła wyjść, musiała przejść kontrolę drugiej, niezależnej AI, której jedynym zadaniem było szukanie dziur w tym, co zbudował pierwszy model. A nad obydwoma modelami była jeszcze kontrola ręczna, bo ostatnie słowo ma człowiek. Ta kontrola i poprawki zajęły półtora dnia.

Maskotka i wzór, według którego apka liczy czas do spotkania

Odziedziczyliśmy cudzy kanał aktualizacji

Apki nie budowaliśmy od zera, wyszliśmy od otwartego projektu. Miał w sobie automatyczne aktualizacje wskazujące na repozytorium obcego autora. Gdyby to tam zostało, oznaczałoby to, że nasi użytkownicy mogliby któregoś dnia pobrać kod, którego nigdy nie widzieliśmy. To dokładnie ten typ rzeczy, o którym AI przy generowaniu kodu nie wspomni, bo nikt jej o to nie poprosił.

Pośpiech do drzwi: apka przypomina o spotkaniu na czas

Nazwa spotkania to niezaufane dane wejściowe

Brzmi to absurdalnie: dlaczego nazwa własnego spotkania miałaby być niebezpieczna? Bo do kalendarza może ktoś wysłać zaproszenie i nazwę wpisać sam. Dlatego nazwa nigdy nie jest wstawiana do strony jako kod, tylko jako tekst.

Bezpieczeństwo: robot pilnuje niezaufanej nazwy spotkania

Adres kalendarza to hasło

Ten adres jest faktycznie kluczem: kto go ma, widzi, kiedy Państwo mają spotkania. Dlatego nie leży w pliku konfiguracyjnym, ale w systemowym Pęku kluczy, czyli tam, gdzie Mac trzyma Państwa hasła. I nigdy nie jest zapisywany do logu.

Kable, które łączą się w jeden strumień danych

A potem sto drobiazgów

Co robić, gdy spotkanie zostanie odwołane minutę przed przelotem. Co, gdy ktoś je przesunie. Co, gdy komputer wybudzi się ze snu i czeka w nim pięć przegapionych powiadomień naraz.

Nic z tego nie jest ciekawe. Wszystko to użytkownik pozna, gdy się tego nie zrobi.

Praca, której nie widać

Znaki diakrytyczne w nazwie zepsuły podpis aplikacji. Ponieważ plik nazywał się Ptáček, systemowe narzędzie do podpisywania zapieczętowało główny program jako załącznik i podpis przestał być ważny.

Trzecia grupa maskotek aplikacji

macOS potrafi uruchomić apkę z miejsca tymczasowego. Apka wygląda, jakby działała, ale nie zapamięta ustawień ani zezwolenia na kalendarz.

Przeciągnięcie do kosza zostawia po sobie bałagan. Ustawienia, uruchamianie po zalogowaniu, adres w Pęku kluczy. Dlatego w ustawieniach jest przycisk Odinstaluj, który to posprząta. To jedyna rzecz w całej apce, która coś usuwa, więc ma własne testy na to, że nie usunie niczego innego.

Tryb cichy: apka zamiast błędu milczy

Cisza zamiast błędu

Apka wyszła, testy były zielone, podpis ważny. Wyglądało to na gotowe. Potem apki zaczął używać pierwszy prawdziwy użytkownik i w ciągu jednej nocy wyszły dwie rzeczy, których żaden test nie widział.

Wersja ostra nie umiała czytać kalendarza. Za wszystkim stał jeden wiersz w podpisie aplikacji. Bez niego system po cichu odrzuca żądanie. Żadnego okna, żadnego komunikatu o błędzie, po prostu cisza.

Stado maskotek, które znikają w połowie lotu

Maskotki zaczęły znikać w połowie lotu. Zabezpieczenie nie rozróżniało, czyjego okna pilnuje. To był błąd, który tam był od początku, tylko nie ujawniał się, dopóki nie latało gęsto.

Wynik jednej nocy: trzy wydania z rzędu, testy z osiemnastu na pięćdziesiąt dwa, a użytkownik nie zobaczył ani jednej nowej funkcji. Dokładnie to jest praca, której nie widać.

Ustawienia apki Ptáček

AI to turbo, nie autopilot

Przyspieszy pierwszą wersję apki do pół dnia, ale nie zdecyduje za Państwa, co jest ryzykiem dopuszczalnym, a co nie. Ta decyzja zostaje po stronie człowieka, zawsze.

Artykuł pierwotnie ukazał się na LinkedInie. Oryginalny artykuł na LinkedInie

Proszę zacząć tutaj

Wstępne 15 minut wystarczy, żeby wiedzieć, czy to ma sens.

Państwo mówią, co Państwa boli. My mówimy, czy damy radę, ile to mniej więcej kosztuje i od czego ja bym zaczął na Państwa miejscu. Bez prezentacji.

Adres
Legerova 1820/39, Praga 2

Kalendarz udostępnia Cal.com (strona trzecia), ładuje się dopiero po kliknięciu.