# Jan Utěkal

> Seniorní softwarový vývojář · Flutter, iOS, backend, AI. Brno, Česko.

## Profesní profil

Vítejte na mém profesním profilu. Jmenuji se Jan Utěkal a software vyvíjím více než 15 let. Většinu kariéry jsem se věnoval mobilním aplikacím ve Flutteru a Swiftu. V posledních letech jsem vytvořil k několika aplikacím i backendy na bázi Firebase v Pythonu a nad ORM Prisma v TypeScriptu. Podílel jsem se na návrhu a vývoji několika frameworků. S nástupem generativní umělé inteligence se stále více zaměřuji na systémy založené na orchestraci LLM.

### Vývojář s přesahem do návrhu, řízení a komunikace

Software vyvíjím od roku **2011**. Po celou dobu pracuji jako freelancer na zakázkových aplikacích. Spolupracoval jsem s předními firmami v oboru, mezi něž patří **Inmite, Headmade, Madeo** a **Asymbo**. Společně jsme vytvořili aplikace **mujRozhlas, iVysílání, Voyo, OneTicket, iDNES, iSport** a desítky dalších. Některé jsem po technické stránce realizoval samostatně, jiné v týmu.

Spolupráce s různými vývojářskými studii mi dala zkušenost s odlišnými přístupy k vývoji softwaru. Získal jsem vhled do **projektování**, **implementace frontendů** a **backendů**, ale i do **návrhu uživatelských rozhraní, marketingu** a **komunikace se zákazníky**. Naučil jsem se přitom efektivně pracovat v týmu, **vést další lidi** a **revidovat jejich práci**.

V osobním životě jsem otec dvou dětí a manžel. Ve volném čase se věnuji studiu toho, jak funguje svět. Zajímají mě obory jako **fyzika, neurobiologie, psychologie, geopolitika** a **ekonomie** spolu se souvisejícími filosofickými oblastmi, jako jsou **epistemologie, filosofie mysli** a **politická filosofie**. Za život jsem přečetl stovky knih. Zajímá mě, jak věci fungují do hloubky, a nabyté poznatky aplikuji mezioborově. Pravidelně hraji tenis a příležitostně badminton a squash.

- **vyvíjím software od roku:** 2011
- **Mobilní aplikace × AI:** desítky dokončených softwarových produktů
- **End-to-end:** vývoj · architektura · vedení

## Hlavní schopnosti

Od Symbianu po systémy, které orchestrují jazykové modely.

### Profesní osa

- **C++ · Qt** — Symbian / Maemo
- **C#** — Windows Phone
- **Java** — Android
- **Objective-C · Swift** — iOS
- **Dart** — Flutter
- **Python · TypeScript** — Backendy
- **RAG · agenti** — LLM systémy

První aplikace jsem vytvořil pro **Symbian** a experimentální platformy **Maemo** a **MeeGo**. V té době jsem vyvíjel v **C++** a frameworku **Qt**. Následovaly aplikace pro **Windows Phone** v **C#** a **Android** v **Javě**. Od roku 2012 jsem se věnoval téměř výhradně aplikacím pro **iOS**. Kolem roku 2017 jsem začal dávat přednost multiplatformnímu vývoji ve **Flutteru** před nativním vývojem v **Objective-C** a **Swiftu**.

Kromě mobilních aplikací jsem od roku 2024 vyvinul několik **backendů**: nejprve v **Pythonu** na platformě **Firebase** s využitím **Cloud Functions** a databáze **Firestore**, nejnověji backend pro e-shopovou platformu v **TypeScriptu** nad **PostgreSQL** s využitím ORM **Prisma**.

Na **FIT VUT** jsem studoval obor informační systémy. Obě mé závěrečné práce získaly ocenění. S bakalářskou prací jsem skončil třetí v mezifakultní soutěži **EEICT** a v českém kole soutěže **Calling All Innovators**, kterou pořádala **Nokia**. S diplomovou prací jsem na **EEICT** skončil první. Tyto úspěchy mi už na začátku kariéry otevřely cestu k velkým projektům.

## Architektura

Od konkrétního projektu k obecnému systému.

### Tři architektonické návrhy

- **BTLN framework** — návrh ↔ implementace
- **Framework Asymbo** — server → nativní UI
- **LookAtIt a Colla** — klient ↔ klient

**BTLN framework** je sada nástrojů pro tvorbu uživatelských rozhraní ve Flutteru i nativním iOS. Z pevně definovaných komponent umožňuje skládat komplexnější celky a jednoznačně je reprezentovat od grafického návrhu až po finální implementaci v aplikaci. Zapouzdřuje také běžné funkce, jako jsou správa fontů a jejich řezů, práce s ikonami nebo barevnými styly. Omezuje tak potřebu vytvářet UI komponenty pro každý projekt od začátku a zároveň definuje stabilní rozhraní mezi návrhem a implementací, které usnadňuje spolupráci vývojářů. Framework vychází z mého původního návrhu a jsem jedním z autorů jeho implementace.

**Framework Asymbo** umožňuje generovat uživatelské rozhraní mobilního klienta, aniž by aplikace musela rozumět datům, která zobrazuje. Server skládá UI z nativních komponent, seskupuje je do větších celků a pro každou komponentu určuje chování i akce vyvolané uživatelskou interakcí. Jsem autorem aplikační architektury tohoto řešení včetně protokolu, kterým server klientovi předává předpis pro sestavení grafických prvků a jejich chování.

**LookAtIt** a později **Colla** byly sociální sítě zaměřené na komunikaci malých skupin uživatelů. První sloužila ke sdílení a hodnocení oblečení mezi uživatelkami, druhá ke komunikaci pracovníků na stavbě. Pro oba projekty jsem navrhl komunikační rozhraní mezi klienty založené na protokolu **XMPP**.

## Vybrané projekty

### Fitness007

- Období: březen 2026 – současnost
- Technologie: Flutter, TypeScript, Next.js, PostgreSQL

**Projekt:** Mobilní aplikace pro e-shop Fitness007 a serverová integrační vrstva propojující aplikaci se systémem Shopsys.

**Role:** Vývoj celé mobilní aplikace. Vývoj významné části serverové integrace, datové vrstvy a ukládání dat. Spolupráce na návrhu API a technického řešení integrace se subdodavatelem.

### Rock Point

- Období: leden 2026 – současnost
- Technologie: Flutter

**Projekt:** Aplikace pro prodejce v kamenných obchodech Rock Point, Hannah a KEEN.

**Role:** Samostatný vývoj mobilní aplikace a integrace se serverovými službami.

### Kecálek

- Období: květen 2023 – květen 2024
- Technologie: Swift, OpenAI API, Google Speech Services, Firebase Cloud Functions, RevenueCat, Analytics, Facebook Ads

**Projekt:** Osobní projekt hlasového chatu s LLM kombinující rozpoznávání řeči, jazykový model a syntézu řeči.

**Role:** Vývoj nativní iOS aplikace. Integrace paralelního rozpoznávání řeči od Googlu a Applu, OpenAI API a syntézy řeči od Googlu. Implementace plateb a analytiky.

- [Blabber: talk with AI](https://apps.apple.com/cz/app/blabber-talk-with-ai/id6463209680)

### mujRozhlas

- Období: květen 2019 – současnost
- Technologie: Flutter

**Projekt:** Aplikace Českého rozhlasu pro poslech pořadů, podcastů, audioknih a hudby.

**Role:** Dlouhodobý vývoj a rozvoj aplikace jako člen týmu vývojářů klientské části. Podíl na technologických změnách a integraci sdíleného aplikačního frameworku.

- [mujRozhlas – Český rozhlas](https://apps.apple.com/cz/app/mujrozhlas-%C4%8Desk%C3%BD-rozhlas/id1455654616)

### Geeride

- Období: prosinec 2023 – současnost
- Technologie: Swift, Flutter

**Projekt:** Aplikace komunikující se sportovními zařízeními pro měření výkonu a techniky jízdy, mimo jiné při skialpinismu a cyklistice.

**Role:** Implementace iOS části komunikace přes Bluetooth. Integrace nízkoúrovňové Bluetooth knihovny a návrh komunikační vrstvy mezi nativním iOS a Flutterem. Dílčí práce na uživatelském rozhraní.

- [Geeride](https://apps.apple.com/cz/app/geeride/id6738049424)

### iDNES

- Období: březen 2025 – současnost
- Technologie: Swift

**Projekt:** Zpravodajská aplikace společnosti MAFRA, a.s.

**Role:** Převzetí a technická analýza existující aplikace, identifikace technologického dluhu a bezpečnostních problémů, následná údržba a rozvoj. Spolupráce se zákazníkem na analýze a plánování nových funkcí.

- [iDNES.cz](https://apps.apple.com/cz/app/idnes-cz/id425141871)

### Hafinder

- Období: listopad 2023 – 2025
- Technologie: Flutter, Firebase Firestore, Firebase Cloud Functions, Python, RevenueCat

**Projekt:** Seznamka pro psy a jejich majitele založená na párovacích pravidlech Psí školy Koira.

**Role:** Samostatný vývoj mobilní aplikace. Návrh a vývoj serveru včetně formalizace pravidel doménového experta a implementace párovacího algoritmu. Integrace plateb.

- [Hafinder](https://apps.apple.com/cz/app/hafinder/id6496203547)

### PLAY.CZ

- Období: prosinec 2024 – současnost
- Technologie: Flutter, Swift

**Projekt:** Aplikace pro poslech českých FM, DAB+ a internetových rozhlasových stanic.

**Role:** Vývoj mobilní aplikace včetně integrace nativního přehrávacího jádra, propojení nativní a Flutter vrstvy a implementace CarPlay.

- [PLAY.CZ](https://apps.apple.com/cz/app/play-cz/id306583086)

### Kofoláska

- Období: duben 2025 – současnost
- Technologie: Flutter, Firebase Firestore, Firebase Cloud Functions, Python

**Projekt:** Festivalová seznamka společnosti Kofola a.s. pro hledání partnerů a přátel na festivalech Colours of Ostrava, Beats for Love a dalších.

**Role:** Samostatný vývoj mobilní aplikace. Návrh a vývoj celého serveru seznamky včetně datového modelu a aplikační logiky.

- [Seznamka Kofoláska](https://apps.apple.com/cz/app/seznamka-kofol%C3%A1ska/id6747331604)

### OneTicket

- Období: leden 2020 – duben 2024
- Technologie: Swift

**Projekt:** Aplikace pro veřejnou dopravu v České republice realizovaná na základě veřejné zakázky pro Ministerstvo dopravy.

**Role:** Samostatný vývoj iOS aplikace, její dlouhodobá údržba a další rozvoj.

- [OneTicket – Jedna jízdenka](https://apps.apple.com/cz/app/oneticket-jedna-j%C3%ADzdenka/id1525394821)

### Don Shot

- Období: listopad 2024 – současnost
- Technologie: Flutter, Firebase Firestore, Firebase Cloud Functions, Python

**Projekt:** Aplikace pro registraci a evidenci vstupu na střelnici Don Shot.

**Role:** Samostatný vývoj mobilní aplikace. Návrh a vývoj serveru včetně synchronizace dat se systémem Dotykačka.

- [Don Shot](https://apps.apple.com/cz/app/don-shot/id6742653273)

### Pospooling

- Období: červen 2024 – 2025
- Technologie: Flutter, glTF, GLB, Firebase Firestore, Firebase Cloud Functions, Python

**Projekt:** B2B aplikace a web pro prezentaci, konfiguraci a objednávky opakovaně použitelných prodejních stojanů pro zero-waste retail.

**Role:** Vývoj mobilní a webové aplikace včetně konfigurátoru pracujícího s 3D modely a texturami. Návrh a vývoj serveru objednávkového systému.

### ODISapka

- Období: listopad 2019 – současnost
- Technologie: Objective-C, Swift

**Projekt:** Aplikace pro veřejnou dopravu v Moravskoslezském kraji. Odjezdy ze zastávek, hledání spojů a nákup a uplatňování jízdních dokladů.

**Role:** Vývoj celé iOS aplikace a její dlouhodobý rozvoj.

- [ODISapka](https://apps.apple.com/cz/app/odisapka/id1514002660)

### Sencito

- Období: červen 2021 – duben 2026
- Technologie: Flutter

**Projekt:** Aplikace pro monitoring online dat z chytrých senzorů v českých obcích.

**Role:** Dlouhodobý vývoj a rozvoj mobilní aplikace včetně integrace webového obsahu jako součásti uživatelského rozhraní ve Flutteru.

- [Sencito](https://apps.apple.com/cz/app/sencito/id1530193441)

### Pardubice Parking

- Období: listopad 2021 – duben 2022
- Technologie: Flutter

**Projekt:** Aplikace pro vyhledávání a rezervaci parkovacích míst v Pardubicích.

**Role:** Vývoj mobilní aplikace a integrace se serverovými službami.

- [Pardubice Parking](https://apps.apple.com/cz/app/pardubice-parking/id1619984040)

### Mbilet

- Období: leden 2022 – červen 2024
- Technologie: Swift

**Projekt:** Aplikace pro veřejnou dopravu v polském městě Mielec.

**Role:** Samostatný vývoj iOS aplikace a integrace se serverovými službami třetí strany.

### Asymbo

- Období: srpen 2014 – 2026
- Technologie: Objective-C, Swift

**Projekt:** Framework pro tvorbu nativních iOS aplikací pro e-commerce.

**Role:** Návrh architektury klientského uživatelského rozhraní definovaného ze serveru. Vývoj iOS frameworku.

Caruso Pizza & Pasta, Country Life, Kare Shop, Dobré knihy, Fitness007, Trenýrkárna, Sanasport a řada dalších.

- [Fitness007.cz](https://apps.apple.com/cz/app/fitness007-cz/id1339647181)

- [Školní a studentské batohy / Topgal](https://apps.apple.com/cz/app/%C5%A1koln%C3%AD-a-studentsk%C3%A9-batohy/id1127558586)

### DPO

- Období: listopad 2018 – současnost
- Technologie: Objective-C, Swift

**Projekt:** Aplikace Dopravního podniku Ostrava pro veřejnou dopravu. Odjezdy ze zastávek, hledání spojů a nákup a uplatňování jízdních dokladů.

**Role:** Samostatný vývoj iOS aplikace a její dlouhodobý rozvoj.

- [Moje DPO](https://apps.apple.com/cz/app/moje-dpo/id1436711050)

### Oscar Senior

- Období: září 2018 – srpen 2020
- Technologie: Objective-C, Swift

**Projekt:** Aplikace pro seniory se zjednodušeným uživatelským rozhraním, videohovory a propojením se službami domovů pro seniory.

**Role:** Převzetí problematického legacy projektu, jeho rozsáhlá stabilizace a technologické přepracování. Následný rozvoj a přizpůsobování aplikace dalším způsobům využití a zákazníkům.

- [Oscar Enterprise](https://apps.apple.com/cz/app/oscar-enterprise/id1019694608)

## Další projekty

### iVysílání

- Období: 2011 – 2012
- Technologie: Symbian, Qt

**Projekt:** Aplikace České televize pro sledování televizních pořadů.

**Role:** Samostatný vývoj klientské aplikace podle dodaného návrhu a serverových datových zdrojů.

### ORWII

- Období: 2025 – současnost
- Technologie: Flutter, Kotlin, Java

**Projekt:** Aplikace společnosti EVOTECH s.r.o. pro evidenci příchodů a odchodů zaměstnanců pomocí rozpoznávání tváří.

**Role:** Převzetí, údržba a další rozvoj existující aplikace. Implementace nových funkcí včetně integrace a optimalizace knihovny pro rozpoznávání tváří.

- [ORWII mobile](https://apps.apple.com/cz/app/orwii-mobile/id6451156891)

### Lubika

- Období: prosinec 2020 – červen 2024
- Technologie: Swift

**Projekt:** Aplikace pro veřejnou dopravu v polském Lublinu.

**Role:** Vývoj celé iOS aplikace a integrace se serverovými službami třetí strany.

- [Lubika](https://apps.apple.com/pl/app/lubika/id1572451166)

### Parkování Krajský úřad MSK

- Období: listopad 2019 – listopad 2020
- Technologie: Objective-C, Swift

**Projekt:** Aplikace pro vyhledávání parkovacích míst v Moravskoslezském kraji.

**Role:** Samostatný vývoj iOS aplikace.

- [Parkování Krajský úřad MSK](https://apps.apple.com/cz/app/parkov%C3%A1n%C3%AD-krajsk%C3%BD-%C3%BA%C5%99ad-msk/id1495074932)

### Manemo

- Období: září 2019 – září 2020
- Technologie: Flutter

**Projekt:** Aplikace pro výrobu obleků na míru, která provádí uživatele pořízením fotografií podle pokynů a odesílá výsledná data do výroby.

**Role:** Samostatný vývoj mobilní aplikace.

### SmileCar

- Období: květen 2017 – listopad 2017
- Technologie: Swift

**Projekt:** iOS aplikace pro sdílení aut, později spojená s projektem HoppyGo.

**Role:** Převzetí, údržba a rozvoj existující aplikace.

### Colla

- Období: 2014 – květen 2016
- Technologie: Objective-C, XMPP

**Projekt:** Aplikace pro sdílení dat mezi pracovníky na stavbě.

**Role:** Vývoj iOS aplikace a podíl na návrhu technologické architektury a komunikačního řešení založeného na XMPP.

### LookAtIt

- Období: 2012 – 2014
- Technologie: Objective-C, XMPP

**Projekt:** Sociální síť zaměřená na sdílení fotografií mezi uživateli, kteří se rozhodují o nákupu oblečení.

**Role:** Vývoj iOS aplikace a podíl na návrhu technologické architektury a komunikačního protokolu založeného na XMPP.

### Ticketon

- Období: 2012 – 2013
- Technologie: Objective-C

**Projekt:** Aplikace pro správu vstupenek.

**Role:** Samostatný vývoj iOS aplikace podle dodaného grafického návrhu a serverového API.

### iOpravna

- Období: 2012 – 2013
- Technologie: Objective-C

**Projekt:** Aplikace pro společnost poskytující servis zařízení Apple.

**Role:** Samostatný vývoj iOS aplikace podle dodaného grafického návrhu a serverového API.

### Chytrá kuchařka

- Období: 2012 – 2013
- Technologie: Windows Phone, C#

**Projekt:** Aplikace zaměřená na recepty.

**Role:** Samostatný vývoj aplikace pro Windows Phone podle dodaného návrhu včetně integrace se serverovými daty.

### iSport

- Období: 2012 – 2013
- Technologie: Windows Phone, C#

**Projekt:** Aplikace pro čtení sportovního zpravodajství.

**Role:** Samostatný vývoj aplikace pro Windows Phone podle dodaného návrhu včetně integrace se serverovými daty.

### VOYO

- Období: 2011 – 2012
- Technologie: Symbian, Qt

**Projekt:** Aplikace pro sledování televizních pořadů.

**Role:** Samostatný vývoj klientské aplikace podle dodaného návrhu a serverových datových zdrojů.

### Sdílený aplikační framework

- Technologie: Flutter, Dart

**Role:** Hlavní architekt a jeden z hlavních autorů interního frameworku používaného napříč řadou novějších Flutter aplikací. Framework sjednocuje architekturu a společné aplikační mechanismy a je průběžně rozvíjen spolu s jednotlivými projekty.

## AI projekty a experimenty

Stavím si nástroje, které mi pomáhají přemýšlet, číst a hledat souvislosti.

**Osobní AI systém**

### Druhý mozek

**Druhý mozek** je systém v **Node.js** a **TypeScriptu**, který zpracovává eseje napsané v průběhu mého života a exporty diskusí, jež jsem vedl. Kompiluje z nich mapu mého myšlení. Projekt je volně inspirován myšlenkami **Andreje Karpathyho**. Jeho nápad jsem ale uchopil jinak a přizpůsobil ho svým potřebám.

Systém nejprve rozděluje vstupní data na menší jednotky, poté pomocí orchestrace **LLM** klasifikuje obsažené myšlenky a podle jejich souvislostí vytváří **sémantický graf**. Výsledkem je přibližně **10 tisíc uzlů**, které zachycují jednotlivé myšlenky a názory i vztahy mezi nimi, například vývoj, rozpor nebo otevřenou otázku. Graf se následně exportuje jako wiki, interaktivní vizualizace a sada Markdown souborů pro **vlastní GPT**.

- ≈ 10 000 uzlů
- vývoj myšlenek · rozpory · otevřené otázky

Tři pohledy na mapu myšlení

- [Veřejný repozitář](https://github.com/utekaljan/second-brain)

**Knihy × LLM**

### FilosofGPT

**FilosofGPT** je skript v **JavaScriptu** běžící na **Node.js**, který zpracovává moji sbírku knih ve formátech **EPUB** a **PDF**. Opakovaným voláním **LLM** je klasifikuje podle relevance, vybírá přibližně **150 knih** a převádí je do **Markdownu**. Jednotlivé knihy, kapitoly a stránky anotuje a poté slučuje do přibližně 20 velkých Markdown souborů. Ty slouží jako zdroje pro mé vlastní GPT **FilosofGPT** a **PolyhistorGPT**, které využívám při diskusích o knihách, jež jsem právě přečetl.

- [Veřejný repozitář](https://github.com/utekaljan/filosofgpt)

**Hlas × LLM**

### Kecálek

Když jsem v únoru 2023 poprvé spustil **ChatGPT**, učaroval mi vznik artefaktu, který nikdy dříve neexistoval. I když si tehdejší jazykový model více věcí vymýšlel, než skutečně věděl, bylo mi jasné, že se objevilo něco velkého. Ihned mě napadlo, že nejlepší způsob, jak možnosti nového systému otestovat, není psaný text, ale hlas.

A tak jsem vytvořil **Kecálka**, mobilní aplikaci, která propojovala služby **rozpoznávání** a **syntézy řeči** od **Googlu** s jazykovým modelem od **OpenAI**. Grafickou podobu aplikace připravil kolega. Aplikaci jsem dostal až do produkce. Dnes ji už ale nerozvíjím, protože její původní integrace postupem času technologicky zastaraly.

**AI zpracování dat**

### RAG a fine-tuning

Vytvořil jsem **dva RAG systémy**: jeden nad daty ze **Sbírky zákonů**, druhý nad obsahem **Psí školy Koira**. Oba vznikly v **Pythonu** s vektorovou databází **Qdrant** a sloužily jako znalostní základ chatbotů pro **právní problematiku** a **výcvik psů**.

- [Veřejný repozitář](https://github.com/utekaljan/markdown-rag-pipeline)

- **RAG:** data → vektory → LLM

Pro zefektivnění práce **exekutorů** jsem také vytvořil prototyp, který prostřednictvím jednoduché aplikační vrstvy volal **fine-tunovaný model** a podle vzorů generoval dokumenty pro **evidenci exekučních příkazů**.

- **fine-tuning:** příklady → trénink → model

> Jazykové modely a jejich orchestrace skrývají možnosti, o kterých se ještě před pár lety nikomu nesnilo.

## Kontakt a profesní profily

**Spojme se**

### Chci pracovat na projektech, které budou lidé rádi používat

Jsem v Brně a zajímají mě seniorní role v mobilním vývoji, technickém vedení a vývoji smysluplných AI produktů.

- [Napsat přes LinkedIn](https://www.linkedin.com/in/jan-ut%C4%9Bkal-758b2354/)
- [GitHub](https://github.com/utekaljan)
- [Webové portfolio](https://jan-utekal.web.app/)

© Jan Utěkal

Navrženo a vytvořeno v Brně.
