Fullstack vývojář webových aplikací
Zkušenosti z reálných projektů, otevřenost ke kritice i novým nástrojům.

O mně
Zkušený fullstack vývojář se zaměřením na vývoj webových aplikací pomocí Pythonu, HTML, CSS a Javascriptu.

Fullstack vývojář webových aplikací
Zkušený fullstack vývojář se zaměřením na vývoj webových aplikací v Pythonu, převážně s využitím Django (včetně Django REST Framework) a FastAPI. Na frontendové straně pracuji s HTML, CSS, JavaScriptem a jQuery. Mám praktické zkušenosti s relačními databázemi jako PostgreSQL, MySQL a Oracle, včetně jejich správy v cloudu přes AWS (RDS, S3). Specializuji se také na nasazování aplikací na Linux servery a virtuální stroje pomocí uWSGI/Uvicorn a NGINX.
Často jsem působil v menších týmech nebo jako jediný vývojář projektu, což mě naučilo samostatnosti, efektivnímu plánování a komplexnímu přístupu k vývoji.
Dovednosti
Backend
Python Django, Django REST Framework, FastAPI
Databáze PostgreSQL, MySQL, SQLite, Oracle Database
Cloud Forpsi VPS, AWS VPS, AWS RDS, AWS S3, Linode (Akamai)
Frontend
Technologie HTML5, CSS3, JavaScript, jQuery
Frameworky Bootstrap
Deployment
Servery Linux (Ubuntu, Debian)
Web servery NGINX, uWSGI, Uvicorn
Virtualizace VirtualBox, VMware
Ostatní
Development Git (GitHub, GitLab), Postman, Python/NodeJS selenium webdriver, Zabezpečení webové aplikace
Integrace AI (OpenAI, Anthropic, StabilityAI, BlackForestLabs, Tavily), Meta API, LinkedIn API, MFA, Captcha, SSO, Platební systém Stripe
Jazyky Čeština (rodilý mluvčí), Angličtina (B2)
Další jazyky a dovednosti C#, Java, C, Základy sítí a nastavení síťových komponent
Zkušenosti a vzdělání
Praktické zkušenosti jsem začal sbírat už během studia a nakonec jsem se rozhodl zaměřit naplno právě na ně.
Zkušenosti
Risk Flow s.r.o
2023 - současnostSpolečník
Společnost, kterou spoluvlastním s kolegou, slouží jako zázemí pro několik vlastních projektů, které rozvíjíme vedle naší hlavní pracovní činnosti.
Wextra Communications, s.r.o.
2023 - 2025Fullstack vývojář
V marketingové agentuře jsem působil jako samostatný vývojář. Přetvářel jsem návrhy a nápady na funkční webové aplikace zaměřené na podporu tvorby, správy a publikace marketingového obsahu. Byl jsem zodpovědný za kompletní vývoj od návrhu až po nasazení a měl jsem prostor aktivně ovlivňovat podobu výsledných řešení.
BDO Czech Republic s.r.o.
2022 - 2025Digital Services
V BDO jsem získal praktické zkušenosti s vývojem webových aplikací od tvorby frontendových komponent a menších úprav na backendu až po rozsáhlý vývoj a úpravy interních systémů.
Vzdělání
ČVUT Fakulta informačních technologií
2022 - 2023Nedokončené studium
Studium na ČVUT jsem zahájil s cílem prohloubit své technické znalosti, ale po prvním roce jsem se rozhodl věnovat plně praxi v oboru.
SPŠE Ječná - informační technologie
2017 - 2021Maturita + certifikace
Studoval jsem na SPŠE Ječná v oboru informační technologie, kde jsem si osvojil základy programování, databází i sítí. Maturitu jsem úspěšně složil v roce 2021 a díky rozšířené výuce jsem si odnesl i certifikace Oracle Database Design a Programming with SQL nebo Cisco CCNAv7: Introduction to Networks.
Projekty
Příklady pár projektů na kterých jsem spolupracoval.

Genuos
Webová aplikace kombinující různé generativní AI modely do nástrojů a workflows s nimi, které pomohou i neodbornému uživateli vytvořit kvalitní marketingový obsah. I přes dobré ambice byl projekt kvůli rozsáhle konkurenci přerušen.

Trickypot
Server/Aplikace pro příjmání a ukádaní dat z honeypotů a možné upozornění uživatele na hrozby v síti nebo analýza aktivity zaznamenané zařízením. K aplikaci se připojuje plug&play honeypot s názvem Trickypot.

Ethics Hotline
Rozsáhlé úpravy, opravy chyb a managment infrastruktury aplikace pro anonymní podávání oznámení incidentů ve společnostech.

Riskflow
Software v podobě webové aplikace pro zaznamenání aktiv společnosti a jejich rizikovosti a následné analyzování, řešení a reportování těchto rizik.
Ostatní projekty
Art for Good Migrace aplikace pro online prohlídky výstav a jiných uměleckých děl. Aplikaci jsem migroval z technologií a balíků starých 10+ let na aktuální.
Vulnerability scanner Development aplikace pro základní a rychlé naskenování a analýzu zranitelností serverů.
Scheduler Development aplikace pro skupinovou správu a postování obsahu pro sociální sítě.
Pipeline Úpravy aplikace sloužící pro zaznamenávání obchodních příležitostí ve společnosti.
Freelance Kódování HTML, CSS, JS komponent na weby.
Ukázka architektury a řešení problémů
Z jednoho zrušeného projektu zde ukážu příklad architektury, popis její částí a pár příkladů kódu vytaženého z dané části.

Diagram projektu
Projekt byl zaměřený na vytvoření nástrojů napojených na AI a vytvoření pomocných workflows s nimi tak, aby dokázal uživatel vytvořit/spravovat/zlepšovat svůj marketingový obsah i když marketingu třeba úplně nerozuměl. Projekt zahrnoval bezpečný CRUD dat a souborů pro uživatele a poté řadu nástrojů propojující různá API a lokálně izolované microservices (pokud bylo možno daný zdroj operovat lokálně), tak aby byl uživatel schopný vytvořit vytoužený obsah.
Local storage
Lokální úložiště sloužilo pro uchovávání výrazně zmenšených náhledových verzí obrázků (thumbnailů), které zabíraly jen několik desítek kilobajtů. Díky tomu bylo možné výrazně omezit přenos dat mezi uživatelem a aplikací i mezi aplikací a cloudovým úložištěm, zejména v případech, kdy uživatel potřeboval pouze rychlý náhled bez další interakce se souborem.
Zároveň lokální úložiště fungovalo jako dočasná mezipaměť pro zpracovávané soubory – například při překladu, analýze, sumarizaci nebo transkripci. Po dokončení úlohy byly tyto soubory automaticky odstraněny.
3rd party APIs
Integrace se službami třetích stran byla nezbytná především v případech, kdy nástroje nebyly open source nebo jejich provoz vyžadoval specializovaný a výkonný hardware.
Jazykové modely od OpenAI a Anthropic byly využívány napříč většinou nástrojů a workflow. Pro práci s obrazovým obsahem se používaly modely od StabilityAI a Black Forest Labs – ty sice existují i jako open source, ale jejich samostatný běh by vyžadoval výrazně náročnější infrastrukturu, než jakou poskytuje běžný webový server.
Služby jako DeepL byly integrovány pro přesný překlad, zatímco Tavily Search sloužil k získávání aktuálních a relevantních informací z webu.
FastAPI + Uvicorn/Gunicorn service
FastAPI byla využívána pro samostatné instance izolovaných úloh, které často běžely na pozadí — například převod textu na řeč (TTS), sumarizace, skenování webu nebo odstranění pozadí z obrázků. Tyto úlohy bylo možné nezávisle škálovat a jejich požadavky čekaly ve frontě, pokud nemohly být ihned zpracovány. Díky tomu bylo možné bezpečně a efektivně obsluhovat výpočetně náročné operace bez rizika přetížení hlavního serveru.
Každá microservice byla nasazena s využitím aplikační proxy Gunicorn, který spouštěl Uvicorn workery. Jejich počet byl nakonfigurován individuálně podle potřeb konkrétní služby. Díky této architektuře bylo možné v případě potřeby daný servis snadno přesunout na samostatný server pro lepší škálování.
Cloud storage bucket + PostgreSQL database
Úložiště vygenerovaných, nahraných či upravených souborů (např. obrázků a zvukových nahrávek) a samotná databáze byly umístěny do samostatných cloudových instancí. Tyto služby byly z důvodu bezpečnosti přístupné pouze aplikačnímu serveru a umožňovaly nezávislé škálování podle potřeby.
Úložiště bylo určeno výhradně pro finální soubory určené k dlouhodobému uchování. Náhledy, rozpracované editace a probíhající generace byly dočasně uchovávány v mezipaměti, dokud je uživatel nepotvrdil k uložení nebo neodmítl. Tím se minimalizoval zbytečný datový přenos a šetřily se prostředky.
Databázová vrstva byla obsluhována prostřednictvím Django ORM a spravována pomocí migrací. Data byla šifrována a pravidelně zálohována pro zajištění integrity a bezpečnosti.
Django backend
Backend aplikace je postavený na frameworku Django (Python) a tvoří páteř celé aplikační architektury. Jeho hlavní odpovědností je bezpečně zprostředkovávat komunikaci mezi uživatelem, databází, úložištěm a externími API.
Kategoricky tedy zajišťuje datovou logiku a perzistenci, autentizaci a autorizaci uživatelů, bezpečnost a ochranu aplikace, integraci s externími službami, renderování a komunikaci s frontendem, správu událostí a notifikací.
HTML, CSS, JS frontend
Součástí frontendu byly templaty, pomocí kterých backend vyrenderoval základu vzhledu stránku, kterou si uživatel zobrazil. Vyrenderoval základní strukturu se vzhledem. Listy (datasety), modaly (popupy), workflows u nástrojů již byly řízené/renderované Javascriptem, který dotazoval pouze JSON data pro frontend.
Frontendová logika byla postavena na JavaScriptu, který zajišťoval dynamické načítání dat a tím odlehčoval backendu od renderování rozsáhlých datasetů. Staral se také o zobrazování modalů, správu workflow nástrojů a celkovou interaktivitu rozhraní. Díky tomu působí aplikace plynule a uživatelsky přívětivě.
UWSGI + NGINX
Aplikační vrstva využívá uWSGI jako výkonný proxy server, nakonfigurovaný pro stabilní a škálovatelný provoz aplikace.
Webový server NGINX zajišťuje bezpečný HTTPS přístup a efektivní doručování statických souborů.
User
Systém je navržen tak, aby uživatelům umožnil snadný, bezpečný a spolehlivý přístup ke všem nástrojům a funkcím aplikace. Díky jasnému rozdělení rolí mezi backend, frontend a externí služby může uživatel soustředit na práci bez starostí o technické detaily či bezpečnost.
Kontakt
Aktuálně jsem otevřený vůči novým pracovním nabídkám. Ke kontaktování využijte formulář níže.