1. 4. 2026
Můj poslední Tour de App: 3. místo v grandfinále
Jak jsme s týmem Error Makers prošli Tour de App 2026 od nominačního kola až po 3. místo v grandfinále na FI MU.
- Tour de App
- Soutěž
- Nuxt
- ASP.NET
- SSE
- Vzdělávací platforma
Můj poslední Tour de App
Když jsem šel letos do Tour de App, věděl jsem, že je to pro mě poslední ročník. Už to nebylo první seznámení se soutěží ani pokus zopakovat něco z minulých let. Tentokrát jsem do toho šel s tím, že chci naposledy postavit co nejlepší aplikaci, dotáhnout ji jako produkt a užít si celou cestu od prvního zadání až po finále.
A nakonec z toho bylo něco, čeho si fakt vážím. S týmem Error Makers jsme se probojovali až do grandfinále a celý ročník jsme zakončili 3. místem.
O to větší radost z toho mám, když se podívám na celou naši cestu. V 1. kole jsme skončili na 4. místě, ve 2. kole jsme vybojovali 1. místo a v grandfinále jsme si odvezli 3. místo. Na soutěž, do které se letos zapojilo 144 týmů, je to pro mě hodně silný závěr.

O jaký projekt šlo
V Tour de App 2026 jsme pracovali na projektu Think different Academy. Zadání bylo postavit moderní vzdělávací platformu, která propojí kurzy, studijní materiály, kvízy, aktivity a interaktivní prvky do jednoho prostředí.
Na papíře to možná zní jako klasický školní projekt, ale ve skutečnosti šlo o poměrně velkou aplikaci. Lektor měl mít možnost vytvářet a spravovat kurzy, přidávat do nich podklady, aktivity a kvízy, zatímco student měl mít přehledné místo, kde se může učit, procházet materiály a plnit úkoly.
Nešlo tedy jen o to udělat pár obrazovek. Bylo potřeba přemýšlet nad tím, jak bude aplikace fungovat jako celek, jak do sebe zapadnou role uživatelů, obsah kurzů, výsledky, soubory, informační kanál i běžné věci, které u reálné aplikace člověk čeká.

Co jsme stavěli
Náš projekt jsem postavil jako plnohodnotnou vzdělávací platformu. Uživatel si může procházet katalog kurzů, filtrovat je, řadit a otevírat jejich detail. Lektor má vlastní správu, kde může pracovat s obsahem, materiály a aktivitami. Součástí byly také interaktivní kvízy, ukládání výsledků a informační kanál s aktualitami v reálném čase.
Právě realtime část mě letos bavila hodně. Použili jsme Server-Sent Events, aby se novinky v informačním kanálu mohly aktualizovat bez ručního obnovování stránky. Není to nejviditelnější funkce celé aplikace, ale přesně takové detaily dělají rozdíl mezi prototypem a něčím, co působí živěji a použitelněji.

Technologie
Technicky jsem letos zvolil stack, se kterým jsem dokázal rychle stavět a zároveň mít projekt pod kontrolou:
- C#
- ASP.NET
- EF Core
- TypeScript
- SCSS
- Vue.js
- Nuxt
- MySQL
- MinIO
Chtěl jsem mít čistě oddělený backend a frontend, rozumný datový model, správu souborů a prostředí, ve kterém se dá rychle iterovat nad UI. U takového zadání se totiž rychle ukáže, že nestačí jen napsat endpointy a stránky. Důležité je, aby se v tom dalo dlouhodobě vyznat a aby se nové části nepřilepovaly na projekt náhodně.
Cesta soutěží
V nominačním kole jsme měli za úkol vytvořit základ platformy pro správu vzdělávacích kurzů. Do letošního ročníku se zapojilo 144 týmů z 88 škol a do další části postoupilo 40 nejlepších.
My jsme v 1. kole skončili na 4. místě. Už to byl výsledek, ze kterého jsem měl radost, protože konkurence byla fakt silná a zároveň jsem věděl, kolik práce jsme do aplikace dali.
Ve 2. kole se soutěž posunula blíž k reálné praxi. Nebylo to jen pevné zadání na papíře. Týmy musely komunikovat s klientem, zjišťovat požadavky, rozhodovat, co má největší smysl implementovat, a průběžně upravovat svoje řešení. Právě tahle část mě na soutěži baví nejvíc, protože vývoj aplikací v praxi není jen o kódu. Je to o domlouvání, prioritách, pochopení zadání a schopnosti dotáhnout věci do konce.

Ve 2. kole jsme nakonec vybojovali 1. místo. To pro mě byl jeden z nejsilnějších momentů celého ročníku.

Grandfinále na FI MU
Grandfinále proběhlo 27.–29. března 2026 na Fakultě informatiky Masarykovy univerzity v Brně. Probojovalo se do něj 20 nejlepších týmů a celé finále už mělo úplně jinou atmosféru než předchozí kola.
Bylo potřeba nejen programovat, ale také přemýšlet pod tlakem, komunikovat nad řešením, konzultovat požadavky a na konci aplikaci odprezentovat. Do finální pětky se dostaly týmy AMD16, Bobr Layer, Co je to api?, Error Makers a nejkulaťoulinkovatější míčovina. Už jen být mezi nimi pro nás bylo obrovské potvrzení.


Nakonec jsme skončili na 3. místě.
Mám z toho obrovskou radost. Nejen kvůli medaili, ale hlavně kvůli tomu, že jsme zvládli projít celou soutěž konzistentně vysoko. 4. místo, 1. místo a nakonec 3. místo v grandfinále. To není náhoda, ale výsledek spousty práce, komunikace a dotahování detailů.
Tým a lidi okolo
Velké díky patří mému týmu, Serhii Yavorskiy a Jakub Sokol. Byla radost s vámi na tom makat. Každý takový projekt je nakonec hlavně o lidech, protože bez funkční spolupráce se i dobrý nápad začne rychle rozpadat.
Díky patří také Střední škole EDUCHEM za podporu, Karlovi Honsigovi za doprovod a podporu během soutěže a samozřejmě organizátorům Tour de App za zkušenost, která má opravdu blízko k reálné praxi.
Velké poděkování patří i mentorům z ČEZ Distribuce za jejich čas, rady a zpětnou vazbu. Přesně takové konzultace člověku ukážou, že vývoj aplikace není jen technická disciplína, ale i schopnost vysvětlit, obhájit a upravit svoje řešení podle reálných potřeb.


Co si z toho odnáším
Tenhle ročník mi znovu připomněl, že aplikace není jen kód. Je to i přemýšlení nad uživatelem, komunikace v týmu, práce pod tlakem, schopnost prioritizovat a odpovědnost za celé řešení.
Jsem rád, že jsme mohli být součástí něčeho, co studentům ukazuje vývoj aplikací takhle prakticky. Tour de App mě za poslední roky posunulo hodně. První ročník mi otevřel dveře, druhý mě technicky nakopl a ten poslední mi ukázal, že dokážu dotáhnout větší projekt až do výsledku, za kterým si můžu stát.
Kdybych měl svůj poslední Tour de App shrnout jednou větou, řekl bych, že to byl ročník, ve kterém se mi spojila technická zkušenost, týmová práce a výsledek, na který budu dlouho vzpomínat.
Díky všem, kdo nám drželi palce.