Zpět na články

27. 3. 2026

Můj druhý Tour de App: dvě první místa a tvrdá lekce ve finále

Jak vypadal můj druhý ročník Tour de App v roce 2025, proč pro mě byl technicky zásadní a co mi dal i přes náročné grandfinále.

  • Tour de App
  • Soutěž
  • Websocket
  • Multiplayer
  • Vue
  • C#

Můj druhý Tour de App

Když jsem šel do Tour de App podruhé, už jsem přesně věděl, do čeho jdu. Po prvním ročníku jsem si soutěž nebral jen jako možnost něco zkusit, ale jako prostor ukázat, že se dokážu posunout dál, postavit lepší aplikaci a zvládnout i technicky náročnější věci.

A rok 2025 pro mě přesně takový byl.

Nebyl to ročník, který by dopadl dokonale. Naopak. Začal skvěle, pokračoval ještě líp a ve finále přišel docela tvrdý střet s realitou. Právě proto si ho ale pamatuju tak silně. Naučil mě nejen WebSockety, realtime komunikaci a synchronizaci stavu mezi hráči, ale taky to, že dobrý začátek ještě neznamená automaticky dobrý konec.

Piškvorky pro Think different Academy

V nominačním kole jsme dostali za úkol vytvořit platformu pro online piškvorky pro Think different Academy.

Nešlo jen o klasickou hru. Smyslem bylo vytvořit aplikaci, kde si uživatelé můžou procvičovat logické a taktické myšlení pomocí piškvorkových úloh. Uživatel měl mít možnost úlohy procházet, řešit, ale také vytvářet a spravovat vlastní zadání.

Už v téhle části jsem chtěl, aby projekt nepůsobil jen jako soutěžní prototyp. Snažil jsem se, aby měl jasnou strukturu, příjemné rozhraní a aby bylo vidět, že nad aplikací přemýšlím jako nad produktem, ne jen jako nad splněným zadáním.

Náhled aplikace Think different Academy

První kolo, které nás hodně nakoplo

Nominační kolo nám vyšlo skvěle. S týmem Error Makers jsme skončili na 1. místě ze 147 týmů.

Pro mě to byl obrovský moment. Nebylo to jen číslo v tabulce, ale potvrzení, že se moje práce od předchozího ročníku posunula. Viděl jsem, že když si dám záležet na návrhu, technickém řešení i detailech, dokáže to obstát i v opravdu silné konkurenci.

Tým Error Makers před FI MU

Právě tady jsem měl pocit, že všechna práce navíc měla smysl. A zároveň nás to nastavilo do druhého kola s docela velkým očekáváním.

Soutěžní kolo a multiplayer

Ve druhém kole se zadání posunulo úplně jinam. Aplikaci jsme měli rozšířit o multiplayer, přihlášení, uživatelské profily, historii her, administraci a leaderboard.

Najednou už nešlo jen o hezké rozhraní a dobře navržené stránky. Bylo potřeba řešit realtime komunikaci mezi dvěma hráči, přenos tahů, aktualizaci herního stavu a synchronizaci celé hry tak, aby oba klienti viděli správná data ve správný čas.

Tohle pro mě byla technicky nejdůležitější část celého ročníku.

Poprvé jsem si opravdu sáhl na WebSockety a pochopil, jak jiné je navrhovat aplikaci, kde se stav neaktualizuje jen klasickým request-response způsobem. Musíš řešit, kdo je připojený, kdo je na tahu, co se stane při odpojení, jak udržet konzistentní stav a jak zabránit tomu, aby se hra rozpadla při nečekané situaci.

Práce na aplikaci během grandfinále

Technicky mě to posunulo obrovsky. A i když jsme ve druhém kole nestihli dotáhnout všechno tak, jak bych si designově představoval, funkčně jsme dokázali dodat hodně. Výsledek byl nakonec znovu 1. místo, tentokrát mezi 40 nejlepšími týmy, které postoupily z nominačního kola.

Dvě první místa za sebou

Vyhrát první kolo byl skvělý start. Vyhrát i druhé kolo už pro mě znamenalo mnohem víc.

Bylo to potvrzení, že nejde jen o jeden povedený projekt nebo hezkou prezentaci. V druhém kole už se ukázalo, jestli aplikace zvládne růst, jestli má technický základ a jestli tým dokáže reagovat na nové požadavky.

Upřímně, v tu chvíli jsem měl pocit, že tohle je zatím moje nejsilnější Tour de App cesta.

Týmová fotka finalistů na FI MU

Grandfinále: únava a tvrdý náraz

Do grandfinále jsme postoupili s dvěma prvními místy za sebou. Jenže právě tam se ukázalo, že soutěž není jen o tom, jak dobře se ti dařilo předtím.

Do aplikace jsem v té době investoval přibližně 150 hodin a do Brna jsem přijel už dost unavený. To je část vývoje, o které se moc nemluví. Když několik týdnů nebo měsíců táhneš projekt, řešíš technické problémy, ladíš detaily a snažíš se dostat aplikaci co nejvýš, začne tě to postupně stát víc energie, než si na začátku připouštíš.

Ve finále už navíc nerozhoduje jen technická schopnost jednoho člověka. Hodně záleží na tom, jak tým funguje pod tlakem, jak rychle si rozdělí práci, jak zvládá únavu a kolik toho dokáže reálně dodat v omezeném čase.

Vzpomínka na vyhlášení a začátek ročníku

Nakonec jsme ve finále skončili na 14. místě. Na papíře to vedle dvou prvních míst nevypadá tak dobře, ale zpětně to beru jako jednu z nejdůležitějších lekcí celé soutěže.

Co mi TdA25 opravdu dalo

Kdybych měl tenhle ročník shrnout, řekl bych, že mě naučil dvě věci.

První byla technická. Díky TdA25 jsem se naučil pracovat s WebSockety, realtime komunikací a synchronizací stavu mezi více uživateli. To je zkušenost, která mi zůstala i dlouho po soutěži a kterou jsem pak dokázal využít i v dalších projektech.

Druhá byla lidská a projektová. Došlo mi, že i když máš dobrý nápad, kvalitní aplikaci a hodně práce za sebou, pořád můžeš narazit na limity energie, času a týmové kapacity. A to je přesně realita skutečného vývoje.

Ukázka herní obrazovky

Proč na tenhle ročník nezapomenu

Můj první Tour de App mi otevřel dveře. Druhý mi ukázal, že už dokážu stavět aplikaci na vyšší úrovni.

Získat 1. místo v nominačním kole a potom i 1. místo v soutěžním kole pro mě bylo obrovské potvrzení, že jdu správným směrem. A i když grandfinále nedopadlo podle představ, tenhle ročník beru jako jeden z nejdůležitějších momentů svého dosavadního vývoje.

Právě tady jsem si naplno ověřil, že umím nejen navrhnout a vytvořit kvalitní webovou aplikaci, ale také řešit technicky náročnější problémy, které už se hodně blíží reálné praxi.

A možná právě proto si z druhého Tour de App neodnáším jen výsledek, ale hlavně zkušenost, která má mnohem větší hodnotu.

Zdroje