
Jak vytváříme jednoúčelové aplikace s pomocí AI
Vytváříme malé nástroje. Jeden nástroj, jeden úkol. Tento článek popisuje jak to děláme. A co jsme se při tom naučili.
Začínáme s očekáváním
Manažeři chtějí AI. Nejlépe včera.
V jejich hlavách AI znamená 10x rychlost. Možná víc. Takže buď dodáte rychle, nebo vysvětlujete proč ne. Ani jedna možnost není zábavná.
Rozhodli jsme se dodávat rychle.
Projděte si naše datové aplikace a uvidíte, jak to vypadá v praxi. Každý nástroj řeší přesně jeden problém, má jeden důvod existence. Představte si je jako funkce s uživatelským rozhraním — GUI obalené kolem Python funkce nebo SQL dotazu.
Všechny aplikace mají jedno společné: postavili jsme je s pomocí umělé inteligence.
Nemáme oblíbený model
ChatGPT, Claude, Gemini, Qwen, DeepSeek, Grok. Vyzkoušeli jsme je všechny.
Nejsme věrní. Jsme experimentátoři.
Žádný model nevyhrává pokaždé. Každý má svoje slabiny. Každý vás překvapí jinak.
Upřímná verze vypadá takto: většina modelů vás dostane z 80–85 % do cíle. Pak se něco rozbije. Požádáte o opravu. AI to opraví — a potichu rozbije něco jiného.
Platí to zvláště pro novější nástroje, jako je marimo, které mají omezená trénovací data. Na Stack Overflow o něm zatím moc vláken není. LLM mohou pracovat jen s tím, co viděly. Takže například pro HTML a JavaScript modely excelují. Spousta příkladů. Tisíce odpovědí na Stack Overflow.
Pro AI na technologii záleží.
Tři typy aplikací, které stavíme
1. Marimo notebooky přeměněné v aplikace
Marimo funguje jako Jupyter. Vyvíjíte v notebooku a tam také testujete. Až jste spokojeni, nahrajete jeden soubor na produkci a spustíte ho jako aplikaci. Marimo má vestavěné UI prvky, které zvládají většinu přechodu z notebooku na aplikaci. Je to čisté řešení.
První spuštění aplikace je ale pomalejší — marimo spouští Python runtime na vyžádání, takže uživatelé čekají o pár sekund víc, než by čekali u FastAPI aplikace nebo prosté HTML stránky.
2. FastAPI backend + HTML/JS frontend
FastAPI startuje rychle. Malá režie.
Frontend je jediný HTML soubor. Žádné frameworky. CSS a JavaScript žijí uvnitř toho jednoho souboru. Žádné externí fonty. Žádná volání na CDN. Vše se odešle v jednom požadavku.
Proč ne React nebo Vue? Uvažovali jsme o tom. Pak jsme se rozhodli, že je to zbytečná složitost pro to, co potřebujeme. Moderní prohlížeče toho zvládnou hodně. Výsledný kód zůstane malý. Uživatelé nečekají.
3. Čistě klientský HTML/JS
Žádný backend. Celá aplikace běží v prohlížeči.
Pro správné případy použití je to nejrychlejší možná varianta. Nemusí se nic nasazovat na straně serveru. Nic, co by se mohlo rozbít.
Na čem nám skutečně záleží
Naše priority, podle pořadí:
- Rychlý vývoj
- Rychlé načítání
- Nízká spotřeba zdrojů — kontejnery jen s CPU (kde to dává smysl), omezená RAM
- Snadné nasazení na produkci
- Poctivé testování toho, jak a jestli vůbec současná AI může s vývojem pomoci
Ten poslední bod je důležitý. AI nepoužíváme proto, abychom vypadali moderně. Testujeme, co umí a co ne.
Tohle není vibe coding
Vibe coding je promptování dokud něco nefunguje, pak se to nasadí.
My to tak neděláme.
AI nám nahrazuje vyhledávače a vývojářská fóra. Navrhuje. Pomáhá. Rychle nás odblokuje.
Ale nenahrazuje člověka, který kódu rozumí. Ne dnes. Možná ještě dlouho ne.
Nasazení samo o sobě je toho jasným příkladem. Pokud neumíte nakonfigurovat backend, jste navždy závislí na cizí platformě. AI umí napsat kód. Infrastrukturu vám nepostaví.
Ne všechno potřebuje AI
To je dobré říct nahlas.
Vezměte PDF soubory jako příklad. Všichni pro parsování používají LLM. Často je to ale špatný přístup.
Pythonní knihovna MarkItDown čte strojově generované PDF soubory bez jakékoli umělé inteligence. Rychleji. Levněji. Předvídatelněji.
OCR tato knihovna nezvládne. Skenované dokumenty potřebují jiný nástroj. Ale pro PDF generovaná softwarem? Knihovna si s nimi poradí.
Stejné je to třeba u změny velikosti obrázků. Žádný model není potřeba.
Přizpůsobte nástroj problému. Nekomplikujte to.
Co jsme ještě nevyřešili
AI dělá chyby. Cokoli jde na produkci, musí projít kontrolou někoho, kdo kódu rozumí.
Tohle je část, kterou vibe coding přeskakuje. A také část, která vás dostane později.
Naše aplikace jsou z větší části tenká GUI nad Pythoními knihovnami a LLM voláními. Nejtěžší část není kód. Je to o tom vědět, co by kód měl vlastně dělat — a jestli to skutečně dělá.
Mohlo by vás zajímat
Blog

Brzdí vás Excel? Vlastní datové aplikace rychle a bez programátorů.

Aritmetický průměr vs. medián

Rok 2025 v přehledu
Data Apps

Odstraňovač EXIF metadat

Markdown do HTML/PDF

Dokumenty do Markdownu
Kurzy

Vizualizace dat v Canvě

Datová gramotnost pro každého

Statistika v Excelu. Krok za krokem.

Python - základy

Základy Tableau

