Michal Bartoň

Fullstack vývojář webových aplikací

Zkušenosti z reálných projektů, otevřenost ke kritice i novým nástrojům.

8+ Let V programování
3+ Roky Webové aplikace
10+ Spoluprací Na různých projektech
MB obrazek

O mně

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

Profile Image
O mně

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.

Jméno Michal Bartoň
Věk 23 let
E-mail michal.barton@outlook.com
Povolání Vývojář softwaru
Národnost Česká republika
Lokace Okolí Prahy

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časnost

Společ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 - 2025

Fullstack 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 - 2025

Digital 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 - 2023

Nedokonč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 - 2021

Maturita + 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.

Fullstack vývoj

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.

Fullstack vývoj

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.

Fullstack vývoj

Ethics Hotline

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

Fullstack vývoj

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.

Genuos infrastruktura

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.

folder

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.

3p

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.

settings

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

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.

code

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í.

web

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ě.

dns

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ů.

person

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.