TP
EN

Senior software engineer specializovaný na GraphQL API v .NET. Navrhuji, migruji a stabilizuji služby na Hot Chocolate a EF Core a event-driven části za nimi, od byznysového zadání přes architekturu a implementaci.

Čemu se věnuji

01 GraphQL APIHot Chocolate: persisted operations, operation cache, subscriptions pro živé výsledky, návrh schématu. Autor peroapi, CLI, které z persisted operations generuje OpenAPI v3 kontrakt.
02 Event-driven službyMassTransit, Wolverine, RabbitMQ, dávkové consumery, idempotentní zpracování zpráv. Když se rezervace otevře v ohlášený čas, API žádost jen zařadí do fronty a o přidělení rozhoduje dávkový consumer za ní. Nápor první vteřiny se tak do databáze nepropíše.
03 Návrh systémuHranice domény, konzistence dat mezi systémy a chování při selhání: obousměrná synchronizace s Procore bez duplicit, sandbox pro cizí kód na sdílené infrastruktuře, platforma od zadání po pohotovost.

Praxe

Firesport s.r.o.

01/2023 - současnostKontrakt · pružný rozsah · vzdáleněfiresport.cz
Senior Software Engineer & Platform Owner

Soutěžní platforma pro požární sport

  • Zadání přichází od investora platformy jako byznysová potřeba bez technického návrhu. Převádím ho do architektury, kterou pak sám implementuji, nasazuji a provozuji v produkci. Technická rozhodnutí, infrastruktura i pohotovost jsou na mně.
  • Soutěžní platforma běží naživo: zátěž přichází v nárazech a výsledky lidé sledují v přímém přenosu. Když se otevřela rezervace startovního pořadí, dorazilo během první vteřiny 184 žádostí a nejdelší čekání na odpověď bylo 600 ms.
  • Navrhl jsem GraphQL vrstvu v Hot Chocolate: persisted operations, operation cache a subscriptions, přes které lidé živě sledují výsledky a další události v systému.
  • Migruji messaging z MassTransit na Wolverine nad RabbitMQ kvůli licenčním podmínkám, za provozu a bez výpadku.
  • Produkce běží na Docker Swarmu v Oracle Cloudu. Během živého výpadku jsem opravil poškozenou overlay síť a observabilitu jsem převedl z Aspire Dashboardu přes SigNoz na OpenObserve, který se vešel do hardwarového rozpočtu.

C#, ASP.NET Core, Hot Chocolate GraphQL, EF Core, MassTransit → Wolverine, RabbitMQ, PostgreSQL, Redis, Lucene, Quartz · Nuxt 4, TypeScript, UnoCSS · Docker Swarm, Oracle Cloud, Traefik, OpenTelemetry, GitHub Actions

CrewCost

09/2024 - 05/2026Kontrakt · 40 h/týden · vzdáleně (US)crewcost.com
Software Engineer

Účetnictví a kalkulace zakázek pro stavební firmy, venture-backed startup v USA

  • Každá zakázka musela být v CrewCostu i v Procore stejná, ať se změnila kdekoli. Synchronizaci jsem měl na starost já: změny z CrewCostu odcházely do Procore a změny z Procore se vracely přes webhooky. Idempotentní zápis a řešení konfliktů hlídaly, aby žádná zakázka nevznikla dvakrát. Navrhl a postavil jsem také synchronizační modul pro integrace s třetími stranami a komentáře.
  • Reporty nákladů zakázek jsou místo, kde stavební firma čte čísla, a každé musí sedět s účetnictvím pod ním. Postavil jsem nové reporty a přepracoval stávající proti účetní knize.
  • Plně vzdáleně přes 6-9hodinový časový posun, v angličtině: týdenní sync, psané tikety, technický návrh na mně.

C#, ASP.NET Core, EF Core, PostgreSQL, Quartz · NUnit, xUnit · Docker, AWS

Integray

07/2023 - 05/2024Kontrakt · 40 h/týden · hybridintegray.com
Fullstack Developer

Platforma pro integraci workflow, Intelligent Studios s.r.o.

  • Postavil jsem integrační modul, který spouští uživatelské Python skripty v sandboxu - cizí kód na sdílené infrastruktuře, takže izolace a limity zdrojů byly celý návrh.
  • Auditoval jsem Node.js sandbox pro uživatelské JavaScript skripty: přes objekty předané z hostitele (např. console) se skript mohl dostat k hostitelskému prostředí a ohrozit systém, na kterém běžel. Nálezy vedly k úpravám sandboxu.
  • Manuální nebo plánovaná synchronizace konfigurace z další instance Integray.

C#, ASP.NET Core, Node.js, Python, PostgreSQL, Quartz · Angular, TypeScript, CSS · Docker

Projekty

peroapi

2026 - současnostGo CLIgithub.com
Author & maintainer

CLI nástroj, který převádí GraphQL persisted operations a schéma na plně typovanou OpenAPI v3 specifikaci. Zaplňuje skutečnou mezeru týmů, které persisted operations používají: konzumenti, kteří čekají dokumentaci ve stylu RESTu, ji dostanou, aniž by se API persisted operations vzdalo. Postaveno na cobra a gqlparser, pokryto golden-file testy.

Go, cobra, gqlparser · GraphQL, OpenAPI v3

ODL Prostějov

2018+Ligový webodlprostejov.cz
Developer

Na webu ODL Prostějov spolupracuji už od jeho počátku. Vznikly zde základy Firesport.cz a první verze algoritmů pro automatizované bodování, správu soutěží, rezervace i živé výsledky.

Django, PostgreSQL, GraphQL · Nuxt, UnoCSS · Docker

Stack

CoreC#, ASP.NET Core, Hot Chocolate GraphQL, EF Core, MassTransit, Wolverine, NUnit, xUnit
DataPostgreSQL, Redis
InfrastrukturaDocker Swarm, Oracle Cloud, Traefik, RabbitMQ, OpenTelemetry, GitHub Actions
DáleGo, TypeScript, Python, Nuxt 4, Angular, Lucene, Quartz, AWS, Node.js, CSS

Spolupráce / dostupnost

Hybridní nebo vzdálený kontrakt, async-first, psané zadání místo schůzek.

On-site po domluvě; preferuji hybrid a remote.

Projekty s pevným rozsahem a částečné retainery.

Jazyky

Čeština - rodný jazyk

Angličtina - pracovní jazyk vzdáleného kontraktu pro US (2024-2026)

Vzdělání

Programování a vývoj software, Katedra informatiky, UPOL Olomouc2020 - 2023, bez titulu

Vedení cvičení Tvorba webových stránek (2022, 2023) a seminářů Python (2022)

Ocenění

HELLATHON II - 24hodinový hackathon2. místo · 2022 · Olomouc, CZ
StarCraft II - AI Cup3. místo · 2021 · Olomouc, CZ