F. Čech - Kontakt

Mé projekty a zkušenosti

Software engineer: AI startup MVP

V létě 2024 jsem po dobu jednoho měsíce vedl tým tří lidí při vývoji MVP projekt AI chatbota Normen, který umí načítat české technické a stavební normy. Pro Brněnský startup Konfiglabs s.r.o. jsem v vyvíjel a stále vyvíjím tento projekt v pythonu a ve flask jsme poté vytvořili backend a frontend pro demonstraci.

V rámci projektu jsem se naučil efektivně pracovat s python nástroji pro zpracování dat. Naučil jsem se používat Google Gemini API ale zároveň jsem pochopil, že technika sama o sobě nestačí. Bylo nutné propojit technologii s potřebami trhu a našich uživatelů. Navíc jsem se musel rychle přizpůsobovat změnám, iterovat a učit se z neúspěchů, což bylo klíčové pro dosažení úspěchu.

Jedním z největších přínosů této zkušenosti pro mě byla schopnost efektivní komunikace mezi engineering a sales týmem. Naučil jsem se převádět složité technické koncepty do řeči, které rozumí i netechnicky zaměření kolegové, což vedlo k lepší spolupráci a porozumění.

Webová aplikace na Šifrování souborů jako Demonstrace mé kryptografické knihovny

Chcete-li vyzkoušet mou kryptografickou knihovnu naživo, udělal jsem stránku, která demonstruje praktické použití mého open-source kryptografického projektu uluru-crypto. Na této stránce jsem implementoval ukázku šifrování a dešifrování souborů pomocí vlastní implementace algoritmu ChaCha20. Uživatelé mohou nahrát soubor, který je následně zašifrován přímo v prohlížeči pomocí mé knihovny, a poté si mohou stáhnout de/šifrovanou verzi. Tato zkušenost mě nejen naučila, jak lépe integrovat svůj kód do webových aplikací, ale také mi umožnila poskytnout reálnou ukázku využití kryptografie, což posílilo důvěru v můj projekt.

Jedná se o můj osobní projekt, pro šifrování citlivých dat použijte ověřené programy od profesionálů!

Open source projekt - kryptografická knihovna

V rámci svého open-source projekt na GitHubu, uluru-crypto kryptografickou knihovnu v TypeScriptu jsem implementoval několik klíčových kryptografických primitiv, jako jsou symetrická proudová šifra ChaCha20, hash Keccak800, asymetrická šifra RSA, výměna klíčů Diffie-Hellman a další. Je to můj největší osobní projekt a věnoval jsem mu spoustu času a energie, vznikl převážně během roku 2022.

I když bych vlastní knihovnu bez dostatečného ověření odborníků nepoužíval pro šifrování citlivých dat, tak implementace těchto algoritmů mě naučila nejen hluboké principy, na kterých kryptografie stojí, ale také jak efektivně optimalizovat javascript kód, aby byl bezpečný a výkonný v NodeJS i v prohlížeči. Práce na takto velkém projektu mi poskytla prostor pro experimentování a vylepšování, což mi umožnilo lépe pochopit, jak různé kryptografické metody fungují a jak mohou být použity v moderních aplikacích.

Osvojil jsem si principy čitelného a okomentovaného kódu, ale především jsem k celé knihovně vytvořil podrobnou dokumentaci na Git wiki. I když projekt nemá zatím velkou komunitu, jeho hodnota pro mě spočívá v technickém růstu, který mi přinesl. Navíc jsem hrdý na to, že jsem vytvořil něco, co může být užitečné pro ostatní vývojáře v budoucnosti.

Jedná se o můj osobní projekt, pro šifrování citlivých dat použijte ověřené programy od profesionálů!

Red Hat Summer Camp 2022

V srpnu 2022 jsem měl možnost se zúčastnit Red Hat Summer Campu v Brně, což byla dvoutýdenní akce zaměřená na středoškoláky, kteří se zajímají o IT a software. Akce se účastnili lidé s různou úrovní technických znalostí, a společně jsme se učili o moderních technologiích a vývoji aplikací. Prostředí v Red Hat bylo inspirativní - každý den jsme měli krátké prezentace o různých aspektech softwarového vývoje, od UX designu po cloudové služby. Právě tato pestrost mi umožnila rozvinout nové technické dovednosti a zároveň pochopit hodnoty otevřeného softwaru.

Naše týmová práce vyústila ve vytvoření aplikace s názvem Surveysort, která měla za cíl pomoci firmám snadno třídit a analyzovat data ze zákaznických průzkumů. Na projektu jsme pracovali intenzivně po druhý týden - od brainstormingu, přes návrh uživatelského rozhraní, až po samotné programování malého prototypu. Vyvrcholením celé akce byla prezentace našeho projektu před skupinou imaginárních investorů (ve skutečnosti zaměstnanců Redhatu). S Surveysortem jsme nakonec získali druhé místo, což bylo skvělé ocenění naší práce a týmového úsilí. Vím ale, že jsme mohli dosáhnout prvního místa, když by se některé věci udělali efektivněji a kdybych více podporoval nápady ostatních členů týmu. Takže jako zkušenost mi tato akce dala nejen nové technické znalosti, ale především mě naučila, jak důležité je efektivně spolupracovat a společně vytvářet hodnotu.

Abych to shrnul, kromě technických výzev jsme se museli naučit efektivně komunikovat a rozdělovat úkoly mezi členy týmu. To pro mě byla cenná zkušenost, protože práce v dynamickém týmu se ukázala být stejně důležitá jako technické znalosti.

Asymetrická kryptografie a šifrovací systém RSA - Ročníková práce

Na mém gymnáziu jsem v předmaturitním ročníku psal ročníkovou práci, přírovnatelnou k SOČ. Zaujaly mě matematické principy, na kterých stojí RSA, chtěl jsem se s nimi hlouběji seznámit a pokusit se o vlastní implementaci algoritmu v jazyce TypeScript. Jedná se totiž (v ohledu implementace) o nejlépe uchopitelnou asymetrickou šifru. Práce zahrnovala nejen teoretický rozbor principů RSA a modulární aritmetiky, ale také ukázky kódu krok za krokem. Největší výzvou byla správná matematická notace, jelikož mnoho matematických dovedností, které byly nezbytné, se ve třetím ročníku střední školy ještě nevyučují.

Obhajoba ročníkové práce proběhla úspěšně. Komise ocenila jak teoretické zpracování tématu, tak i praktickou implementaci algoritmu. Zkušenosti a znalosti, které jsem během psaní práce získal, například citace a čtení akademických textů o kryptografii, mi výrazně pomohly v dalším studiu informatiky.

Styl: Swiss webdesign