Převod portfolií do Tappky

Během léta 2026 překlápíme většinu týmového a individuálního portfolia z Excelu do Tappky — nejdřív core, nástavby přijdou později. Každý modul dostane svou základní funkční podobu — bez zbytečných vychytávek, ale plně použitelnou, aby do ní studenti rádi naskočili. Výjimkou jsou komplexní celky (Training Session, Skill Profile, Rocket Model), které vyžadují více času a navazují na sebe. Cílem je, aby noví studenti od září pracovali na jednom místě — a my tak měli pevný základ, na kterém půjde stavět dashboardy a další chytré nástroje.

Deadline: 1. října 2026

Jak jsme postupovali

Dne 15. června 2026 jsme se sešli na meetingu, kde jsme probrali obě portfolia — týmové (tymove.xlsx) i individuální (individualni.xlsx). Na základě diskuze jsem pak každý list vytiskl jako samostatnou kartičku, fyzicky je rozložil na stůl a detailně prošel.

Fyzické kartičky na stole
Fyzické kartičky jednotlivých sheetů — každý list portfolia na vlastním papírku

Na základě poznatků z meetingu jsem je pak seřadil podle těchto kritérií:

  • Implementační náročnost (1–5): jak složité je danou funkcionalitu postavit. Čím vyšší číslo, tím víc vývojářské práce.
  • Friction reduction (1–5): jak moc daná funkce odstraní tření oproti současnému Excelu. Snížení počtu kliků, hledání, ručního přepisování.
  • Frekvence používání (1–5): jak často s danou částí studenti pracují během semestru. Něco se vyplňuje denně, něco jednou za semestr.

Z těchto tří hodnot jsme sestavili priority score:

Score = (Friction reduction + Frekvence) / Implementační náročnost

Čím vyšší score, tím dříve by se daná funkce měla dělat — protože přináší hodně hodnoty za málo úsilí. Tento princip vychází z klasické prioritizační matice, kde se funkce dělí do čtyř kvadrantů:

Dělat hned Vysoký přínos, nízká náročnost → Quick Wins
Rozjet brzy Vysoký přínos, vysoká náročnost → Core moduly
Až později Nízký přínos, nízká náročnost → Mezi většími úkoly
Odložit / vyřadit Nízký přínos, vysoká náročnost → Nepřináší hodnotu

U každé kartičky jsme také zaznamenali závislosti (modré podtržení na papírcích) — některé moduly nejde postavit, dokud nejsou hotové jiné (např. Crossfertilizace potřebuje hotový Training Session). Tyto závislosti jsme zohlednili při řazení do fází.

Výsledkem je 5 fází (4 vývojové + testování), které postupně pokrývají všechny části portfolia. Každá položka má svůj GitHub issue, kde se sleduje její stav.

Co jsme zdokumentovali

Pro každý sheet z obou portfolií jsme vytvořili samostatnou wiki stránku, která obsahuje:

  • Popis účelu listu a jeho datovou strukturu
  • Návrh digitalizace — jak by měla funkce v Tappce vypadat
  • Hodnocení z fotografií (náročnost, friction, frekvence)

Všechny wiki stránky jsou dostupné v přehledu na této stránce.

Proč děláme převod

Současný stav: studenti zapisují svá portfolia do Excelu, ale zároveň používají Tappku na rezervace a eseje. To znamená práci na dvou místech, ruční přepisování a zbytečné tření.

Filozofie převodu je jednoduchá: nejdřív core, pak nástavby. V první vlně nejde o to postavit dokonalý nástroj se vším vychytáním — jde o to dostat portfolio z Excelu do Tappky v digitální podobě tak, aby v ní studenti reálně začali zapisovat svoje data. Jakmile budou data jednou v Tappce, dá se na nich stavět cokoliv — dashboardy, statistiky, propojení mezi moduly, automatické reporty. Bez tohoto core to nejde vůbec; s ním to půjde rychle.

Proto chceme, aby přechod byl pro studenty co nejpříjemnější — ideálně to, co dělali v Excelu, jen lépe a na jednom místě, bez učení se novému systému navíc. A na naší straně chceme, aby šel vývoj co nejrychleji: žádné přeinženýrování, žádné předčasné optimalizace pro featury, které ještě nikdo nepoužívá. Postavit jednoduše, dostat to studentům do rukou, a teprve pak nad tím stavět chytřejší věci.

Cílem je do 1. října překlopit portfolio do Tappky, aby od září 2026 všechno běželo na jednom místě. Velká část portfolia se skládá z jednoduchých záznamů (řádků v tabulce), které není složité převést — viz fáze Quick Wins. Komplexnější celky (Training Session, Skill Profile, Rocket Model) na sebe přirozeně navazují a jejich hotová podoba spadá až do pozdějších fází.

Co znamená "core" v praxi — příklad T03

Příklad: Zákaznické schůzky (T03)

Abychom si filozofii "nejdřív core" ukázali na něčem konkrétním, vezměme si Zákaznické schůzky (T03) z Fáze 1. V praxi to znamená následující implementaci:

PoleTypPopisHodnota
DatumlabelDatum schůzky—
ZákazníkvalueJméno / firma zákazníkauživatelem zadaná hodnota
Typ schůzkyvalueOsobně / online / telefonuživatelem zadaná hodnota
Cíl schůzkyvalueCo bylo cílem setkáníuživatelem zadaná hodnota
PrůběhvalueJak schůzka probíhalauživatelem zadaná hodnota
VýsledekvalueCo se podařilo / domluvilouživatelem zadaná hodnota
Akční krokyvalueCo je potřeba udělat po schůzceuživatelem zadaná hodnota
User id, jméno, e-mail …
1 — N →
ZakaznickaSchuzka
  • user_id (FK)
  • datum
  • zakaznik
  • typ_schuzky
  • cil_schuzky
  • prubeh
  • vysledek
  • akcni_kroky

To je celý core. Formulář s těmito poli, jedna databázová tabulka napojená na uživatele přes cizí klíč, a seznam zápisů, které si student může prohlédnout. Nic víc. Tím dostaneme uživatelská data dovnitř Tappky — a teprve poté má smysl je dál vylepšovat.

Co core řeší a co ne

Teď — core

  • 1 tabulka v databázi, FK na uživatele
  • jednoduchý formulář se 7 poli
  • seznam zápisů, žádné propojení jinam

Později — nástavby

  • auto-redirect z time trackingu po skončení aktivity
  • zobrazení v kalendáři odpracovaných hodin, proklik na detail
  • propojení s historií zákazníka, dashboardy a statistiky

Vpravo je všechno, co by dávalo smysl postavit někdy — ale dnes by to jen oddálilo to nejdůležitější: dostat uživatelská data do Tappky. Stejné dělení (core teď / nástavba později) platí pro každou položku v roadmapě.

Náročnost v kontextu

Implementační náročnost je jedna ze tří kategorií, podle kterých jsme celé portfolio hodnotili (viz výše) — a u core verze skoro každé položky vychází nízká (většina N1–N2). Bez srovnání ale desítky položek v roadmapě mohou působit jako nezvládnutelné množství práce. Zkusme to porovnat s tím, co už dnes běží v produkci a reálně to funguje:

Esejbanka (hotovo, čeká na nasazení)

  • 6 provázaných tabulek (eseje, knihy, komentáře u obou, sledování zobrazení, potvrzení přečtení koučem)
  • stavový automat: schvalování knih + needitovatelnost po schválení
  • fulltextové vyhledávání (tsvector + trigram indexy)
  • desítky RLS politik podle role

Rezervační systém (v provozu)

  • 6 provázaných tabulek (místnosti, rezervace, opakující se rozvrhy, cowork účastníci, nahlášené problémy, blackout dny)
  • detekce časových překryvů (EXCLUDE constraint)
  • víc stavových automatů + časová validace napříč tabulkami
  • 14 RLS politik, 14 indexů

Tohle obojí už máme hotové a v reálném provozu — tedy úroveň náročnosti N4–N5. Oproti tomu je každá jednotlivá core položka z roadmapy o řád jednodušší: jedna tabulka, žádné překryvy, žádný stavový automat, žádné fulltextové vyhledávání. I když je v roadmapě hodně položek, jejich souhrnná implementační náročnost je pořád menší, než jeden z těchto dvou systémů, které jsme už zvládli postavit.

Sledování progresu

Veškerý progress je sledovaný v GitHub Issues. Každá funkce má vlastní issue s detaily, hodnocením z fotografií a fází. Issues jsou rozdělené podle fází pomocí labelů (phase:01-quick-wins až phase:04-testing).

Stav jednotlivých issue (otevřeno / rozpracováno / hotovo) je vidět na přehledu projektu. Kdykoliv se můžete podívat, co se právě dělá a co zbývá.

Přehled GitHub issues
Přehled všech issue v projektu
Detail GitHub issue
Detail jednoho issue s hodnocením a fází
Náročnost (1–5) Friction reduction (1–5) Frekvence / semestr (1–5) Priority score Závislost / dependency Score = (friction + frekvence) / náročnost
Fáze 1 — Quick Wins
do 20. 7.
vysoká hodnota, nízká náročnost
T03
Zákaznické schůzky (CRM) individual.xlsx · ID 03
N1 F3 K4 7.00
Wiki #50
I03
Team Contract a Leading Thoughts tymove.xlsx · ID 03
N1 F2 K3 5.00
Wiki #51
I11
Finanční směrnice tymove.xlsx · ID 11
N1 F2 K2 4.00
Wiki #52
T09
Individuální koučování (1v1) individual.xlsx · ID 09
N1 F2 K2 4.00
Wiki #53
T10
Birth Giving individual.xlsx · ID 10
N1 F2 K2 4.00
Wiki #54
I06
Týmová reflexe tymove.xlsx · ID 06
N2 F2 K5 3.50
Wiki #55
I05
Týmový deník tymove.xlsx · ID 05
N1 F1 K1 2.00
Wiki #56
I07
Semestrální reflexe tymove.xlsx · ID 07
N1 F1 K1 2.00
Wiki #57
T04
Nástroje a techniky individual.xlsx · ID 04
N1 F1 K1 2.00
Wiki #58
T11
Osobnostní test individual.xlsx · ID 11
N1 F1 K1 2.00
Wiki #59
10 položek Průměrná náročnost: 1.1 Průměrný score: 3.45
Fáze 2 — Core Learning Modules
do 10. 8.
základní vzdělávací moduly
I02
Training Session (TS) tymove.xlsx · ID 02
N5 F4 K5 1.80
→ Crossfertilizace Wiki #60
T08
Learning Contract individual.xlsx · ID 08
N2 F1 K1 1.00
Wiki #61
I09 + T07
Rocket Model tymove.xlsx ID 08/09 + individual.xlsx ID 07
N3 F3 K3 2.00
Wiki #62
T23
Odborná praxe individual.xlsx · ID 23
N5 F5 K5 2.00
Wiki #69
T05
Crossfertilizace individual.xlsx · ID 05
N2 F5 K5 5.00
závislé na TS Wiki #63
4 položky Průměrná náročnost: 3.0 Průměrný score: 2.45
Fáze 3 — Connected Modules
do 1. 9.
moduly navazující na core
T06
Skill Profile (kompetenční profil) individual.xlsx · ID 06
N4 F5 K1 1.50
Wiki #64
T02
Projekty individual.xlsx · ID 02
N3 F4 K1 1.67
Wiki #65
I04
Týmové role tymove.xlsx · ID 04
N3 F2 K1 1.00
Wiki #66
I09
Týmová zpětná vazba tymove.xlsx · ID 09
N3 F3 K2 1.67
Wiki #67
4 položky Průměrná náročnost: 3.3 Průměrný score: 1.46
Fáze 4 — Dashboard, testování a finální nasazení
do 1. 10.
integrace všeho dohromady

Testování probíhá průběžně v rámci každé fáze. Na konci každé fáze nasazujeme hotové funkce na produkci, ale zobrazí se jen uzavřené skupině lidí (feature flagy). Tím získáme zpětnou vazbu ještě během vývoje, aniž bychom ovlivnili všechny.

Vrcholem je zářijové testování: naplánujeme focus group s vybranými studenty a individuální testování (1v1) s kouči. Cílem je ověřit, že portfolio v Tappce opravdu funguje v reálném provozu a že noví studenti od září můžou všechno dělat na jednom místě.

Rozšiřování informací a přístupu do širší komunity nad rámec této uzavřené testovací skupiny probíhá vždy postupně a v koordinaci s kouči — nic nezpřístupňujeme celé komunitě bez jejich vědomí a souhlasu.

Bez ohledu na to, jak daleko se dostaneme s jednotlivými moduly, je garantovaným cílem k 1. říjnu, aby si každý student mohl vyexportovat svá data z Tappky do podoby portfolia tak, jak je vyžadováno. Pokud by se do deadline nepodařilo dokončit úplně všechno, export bude obsahovat zvýrazněná pole, která zůstanou k manuálnímu doplnění — aby žádný student nezůstal bez portfolia.

I01
Přehled týmu a týmová společnost tymove.xlsx · ID 01
N3 F5 K5 3.33
závislé na všech modulech Wiki #74
T01
Osobní dashboard studenta individual.xlsx · ID 01
N3 F2 K5 2.33
závislé na všech modulech Wiki #75
2 položky + testování a nasazení
Fáze 5 — Stabilizace a tech debt
celý zimní semestr 2026/27
oprava a optimalizace, žádné nové moduly

Po 1. říjnu se vývoj nezastavuje, ale otáčí směr. Celý semestr, kdy budou v Tappce poprvé reálně pracovat noví studenti, věnujeme primárně tomu, aby core, který jsme postavili rychle a bez vychytávek, fungoval spolehlivě — oprava chyb z reálného provozu, optimalizace a postupné splácení tech dluhu, který jsme si při rychlém vývoji vědomě vzali na sebe.

Žádné nové moduly ani nástavby (dashboardy, automatizace, propojení mezi moduly) v této fázi neplánujeme — ty mají smysl až na stabilním core. Priorita je jasná: core musí být ověřeně spolehlivý, než na něm začneme stavět cokoliv dalšího.

Poznámka: konkrétní rozdělení a priority uvnitř Fáze 5 jsou zatím jen nynější odhad. Upřesníme je blíže k 1. říjnu, až uvidíme, v jakém stavu core skutečně bude a co reálný provoz ukáže za problémy.

Odloženo — finanční a reportovací moduly
případná další fáze po 1. 10.
Finanční část (Finanční report, Rozvaha, VZZ, Výroční zpráva) je nejsložitější a prozatím nebude vyvíjena. Přijde na řadu případně v další fázi po 1. říjnu.
I12
Finanční report společnosti tymove.xlsx · ID 12
N5 F5 K5 2.00
odloženo Wiki #68
I15
Rozvaha — Aktiva tymove.xlsx · ID 15
N1 F1 K1 2.00
odloženo Wiki #70
I16
Rozvaha — Pasiva tymove.xlsx · ID 16
N1 F1 K1 2.00
odloženo Wiki #71
I17
Výkaz zisku a ztráty (VZZ) tymove.xlsx · ID 17
N1 F1 K1 2.00
odloženo Wiki #72
I14
Výroční zpráva tymove.xlsx · ID 14
N1 F1 K1 2.00
odloženo Wiki #73

Již hotovo

Eseje (individual.xlsx ID 22) #76

Vývoj je hotový, ale ještě nenasazeno do produkce. Původní esejbanka zatím zůstává jediná v provozu, protože na ni všichni odkazují v portfoliích.

1. srpna proběhne překlopení (migrace) všech dat ze staré esejbanky do Tappky a nasazení nové verze do produkce. Poté nahradíme tlačítko "Přidat esej" ve staré bance redirectem na Tappku a na hlavní stránku dáme jasné info, že stará verze je legacy. Přechod bude 1:1 — stejně jako u rezervačního systému.

Rezervační systém

V provozu na tiimi.cz. QR/NFC, kalendář, správa místností.

Mimo scope

Ukončení činnosti (tymove.xlsx ID 18)

Přeškrtnuto na fotce — není relevantní pro digitalizaci do Tappky.