O mně
Jako vývojář na volné noze z Opavy stavím a provozuji systémy, na kterých firmy denně stojí, a stavím je s AI agenty, za jejichž práci ručím.

Jsem vývojář na volné noze z Opavy. Do IT jsem přišel v roce 2009 přes technickou podporu, kód píšu od roku 2018 a v letech 2021 až 2026 jsem vedl vývoj v menší webové agentuře. Stavím systémy, na kterých firmy denně stojí, a stejnou váhu jako vývoji dávám tomu, co přijde po předání: zálohám, monitoringu a provozu.
Sedm let v B2B obchodu a devět let marketingu mě naučily, jak firma získává zakázky a kde jí utíká marže. Tři roky na helpdesku mi ukázaly, že chyba se projeví u člověka, který systém používá, ne v logu. Nejvíc mě ale naučilo vedení vývoje: dodávka a odhady, review pull requestů, servery a produkce.
Na volnou nohu jsem šel proto, abych mohl stavět celé systémy a ručit za ně od zadání po provoz. Stavím s AI agenty, protože zrychlují práci rozdělenou do malých dávek s nezávislým review. Architekturu, datový model, bezpečnost a rozhodnutí o rozsahu si nechávám. Za výsledek odpovídám já: testy, monitoring a zálohy s ověřenou obnovou.
| Období | Role | Co jsem dělal |
|---|---|---|
| 2002–2009 | Obchodní zástupce Abacus Electric, Lamdaprint CZ, Impression Media | Sedm let B2B obchodu ve třech firmách: velkoobchod, partneři a budování dealerské sítě. Naučil jsem se, jak firma získává zakázky a co pro ni znamená marže. |
| 2009–2012 | Helpdesk a implementace software CCV s.r.o. | Technická podpora klientů a implementace software. Tady jsem začal v IT a poprvé viděl, jak se chyba v systému projeví u člověka, který s ním denně pracuje. |
| 2014–2023 | Specialista webového marketingu RS Ňamka | Devět let webového marketingu, v posledních letech souběžně s vývojem. Odsud vím, jak vypadá cesta od reklamy k objednávce a co majitel čte v číslech. |
| 2018–2020 | Software engineer WP-admin.cz, Opava | První vývojářská pozice. Weby a aplikace na WordPressu a v PHP. PHP, WordPress |
| 2020 | Software engineer, Průmysl 4.0 Brano a.s. | Osm měsíců vývoje pro výrobní podnik v rámci Průmyslu 4.0. Node.js, Express, Vue |
| 2021–2026 | Vedoucí vývoje Menší webová agentura | Měl jsem na starosti dodávku a odhady, technická rozhodnutí, review pull requestů a nasazení na demo a produkci. Spravoval jsem zhruba 20 linuxových serverů a 80 produkčních webů, zálohy s ověřenou obnovou a DR testy a alerting jsem zredukoval jen na to, co vyžaduje akci. Aplikace jsem stavěl v Symfony 7 a na WordPressu. Symfony 7, WordPress, Docker, nginx, Borg |
| 2026–dnes | Vývojář na volné noze safarik.dev | Čtyři systémy v ostrém provozu pro skupinu e-shopů a montážní firmu: dispečerské CRM, generátor objednávek k výrobci, přehled pro 17 e-shopů a AI vizualizátor rolet. Stavím s AI agenty a ručím za provoz. Zkušenosti z vedení vývoje přenáším přímo do firem. TypeScript, Node.js, PostgreSQL, Next.js, Claude Code |
Čemu věřím
Kladný signál není důkaz účinku.
Skript vrátí nulu, endpoint vrátí 200, záloha hlásí hotovo, a přitom se nic nestalo. Letos jsem testoval obnovu git serveru z off-site zálohy na čistý server a záloha, která denně hlásila úspěch, měla rozumnou velikost a hlídal ji monitoring, neobsahovala data aplikace. Proto měřím na druhém konci a zálohu považuju za zálohu až po obnově, která dnes trvá pod pět minut.
Premisa padne až při měření.
Než něco opravím, změřím, jestli je to opravdu příčina. U přehledu pro skupinu e-shopů jsem 141 460 dokladů z Fakturoidu ověřil proti API do haléře, místo abych věřil součtům z exportů. Teprve pak bylo vidět, co doopravdy nesedí: při kontrole s finančním oddělením seděl obrat dvou e-shopů objednávka po objednávce a na řádku storen zbyl rozdíl 0,44 %, který má jméno a příčinu.
Plán není autorita.
Když review najde vadu, kterou předepsal můj vlastní plán, rozhoduje zadání, ne plán. Agent chybu z plánu poslušně naimplementuje a ještě ji obhájí, protože přesně to měl v úkolu, takže ten nález je můj, ne jeho. Opravím kód i plán, aby v repozitáři nezůstal návod, o kterém vím, že je špatný.
Feedback ve smyčce, ne ad hoc.
Podněty od klienta posbírám na jedno místo, přepíšu je na příčiny a opravím v jedné dávce. U generátoru objednávek pro skupinu e-shopů jsem před nasazením ověřil data a právě tam se ukázala chyba, kterou testy neviděly. Nový postup pak několik týdnů běžel ve stínovém provozu vedle starého, než jsme ho přepnuli naostro.
Agenti zrychlují, ale nový risk layer chytá jen člověk.
Z osmi incidentů s agenty za tři měsíce nezachytila žádný automatická pojistka. Všechny chytil lidský review. Proto pracuju v malých reviewovatelných dávkách, na konci jde nezávislý průchod proti zadání a každé číslo, které mi agent nahlásí, ověřuju spuštěním.
Platí se za výstup, ne za hodiny.
Hodinová sazba oceňuje vstup, který AI zlevnila. Pevná cena za dohodnutý výsledek nese riziko odhadu na mé straně, a tak to má být. Vy platíte za to, co dostanete, ne za to, jak dlouho mi to trvalo.
Chyba na mé straně se platí slevou, ne popíráním.
Letos v září jsem tak u dispečerského CRM pro montážní firmu nacenil se slevou funkci, kterou má nabídka slíbila nejasně. Popírání chyby stojí důvěru a ta se draze kupuje zpátky.
Čím stavím
Aplikace
TypeScript, Node.js, Fastify, NestJS, Hono, Next.js, React, PostgreSQL, Prisma, Drizzle, BullMQ, pg-boss, Playwright, Vitest, PHP, Symfony 7, Doctrine, WordPress, Python, Astro
Integrace
Shoptet, Shopify, Fakturoid, mWork365, WhatsApp přes Twilio, obrazové modely OpenAI, Resend, Google Ads, Meta, Sklik, kurzy ČNB, GoPay, HubSpot, SmartEmailing
Infrastruktura
Linux, Docker, Traefik, Coolify, Hetzner, KVM, nginx, PostgreSQL, MariaDB, Redis, Borg a Borgmatic, Uptime Kuma, Loki a Grafana, CrowdSec, fail2ban, Tailscale, Cloudflare Pages
AI nástroje
Claude Code s vlastními skilly, hooky a MCP servery, subagenti s nezávislým review, Codex, lokální modely přes Ollama, Claude API v aplikacích
Je to jen to, co dnes skutečně používám v provozu, ne seznam všeho, co jsem kdy zkusil.
Kde mě najdete
- vit-safarik-dev
- GitHub
- vitsafarik
- [email protected]
- Telefon
- +420 778 093 308
- IČO
- 73790079
Napište mi, co potřebujete
Popište mi proces nebo systém, který vás trápí, a já vám řeknu, jestli jsem ten správný člověk. Odpovídám osobně, do 24 hodin.