Technické portfolio

Hobby projekty mimo hlavní práci

Menší projekty, kde si sahám na embedded vývoj, telemetry, domácí automatizaci, backendové hranice a praktické produktové nápady.

Chordbook

TypeScript / Kotlin

Chordbook

Aktivní

Multi-user webová aplikace pro správu akordů a osobního zpěvníku s interaktivním editorem hmatů (chord diagramů) pro kytaru a ukulele.

Plnohodnotný full-stack projekt provozovaný v produkci na https://chords.ptw.cz/. Nabízí knihovnu akordů s vlastním editorem hmatů (barré, prázdné/tlumené struny, posun pražce), zpěvník v ChordPro formátu s transpozicí, kapodastrem a tempem, kolekce zpěvníků a tisk do A4/PDF. Součástí je i vestavěný katalog akordů (chords-db) a katalog písní z public-domain materiálu, ze kterých se dá importovat do vlastní sbírky. Frontend i backend žijí v jednom monorepu, infrastruktura běží přes Docker Compose a produkční multi-arch image se staví v GitHub Actions a publikují do GHCR.

Focus

Full-stack architektura, autentizace přes Keycloak, doménové modelování hudby, produkční provoz

ReactViteTypeScriptMantineKotlinSpring BootPostgreSQLKeycloakMinIODocker
Homas Telemetry

TypeScript

Homas Telemetry

Aktivní

Domácí telemetry stack — senzory přes Node-RED ingestují do backendu, který data vystavuje přes GraphQL dashboard i MCP server pro AI asistenty.

Veřejně běžící dashboard na https://homas-telemetry.ptw.cz/ nad domácím telemetry stackem. Backend (Fastify + GraphQL Yoga + Drizzle/PostgreSQL) má dvě oddělené síťové plochy: privátní ingest (Node-RED → POST /ingest) a veřejné query API, které vystavuje GraphQL (s živými subscriptions) i MCP server. Frontend je React SPA (Apollo + graphql-ws + Recharts + Tailwind) zobrazující u každé lokality online stav, poslední měření (teplota, vlhkost, WiFi RSSI) a historické agregace s grafy. MCP plocha (`/mcp`, Streamable HTTP) dává AI asistentům přístup k telemetrii přes sadu toolů včetně dvou s LLM (ask_telemetry, summarize_anomalies).

Focus

Telemetry ingestion, GraphQL i MCP query plocha, AI nad daty, dashboard UI, observabilita

ReactTypeScriptTailwind CSSGraphQLFastifyMCPPostgreSQLDrizzle ORM
Plastikoví veteráni

TypeScript

Plastikoví veteráni

Aktivní

Kurátorská online galerie postavených plastikových modelů vojenské techniky — tanků, letadel a lodí — s detaily, fotogaleriemi a barevně značeným filtrováním.

Veřejně běžící galerie na https://plastic-models.lcir.cz/ s podtitulem „Model Archive“. Každý model má vlastní stránku s historickým popisem, fotogalerií a specifikacemi (země původu, typ, období výroby, měřítko, výrobce), které slouží i jako barevně odlišené štítky pro filtrování. Frontend je React/Vite SPA s ručně psaným fontem a „papírovým“ vzhledem; obsah se načítá z REST API a obrázky se servírují z mediálního úložiště. Součástí je i administrace chráněná přihlášením pro správu modelů a štítků.

Focus

Doménové modelování katalogu, prezentační UI, obsahová administrace, produkční provoz

ReactViteTypeScriptReact RouterREST APIMedia catalogAdmin CMS

C++

Garden Temperature

Private repo

Hobby telemetry projekt pro měření a sledování teplotních dat ze zahrady.

Projekt držím jako prostor pro práci s embedded měřením, sběrem dat a praktickým provozem malého domácího telemetry stacku.

Focus

Senzory, stabilita sběru dat, domácí observabilita

C++IoTTelemetrySensors

C++

Bose SoundTouch Remote Control

Aktivní

Remote control pro Bose SoundTouch SA-5 postavený mimo běžnou pracovní doménu.

Malý embedded projekt propojující fyzické ovládání, síťovou komunikaci a praktickou integraci s domácím audio zařízením.

Focus

Embedded networking, UX fyzického ovladače, domácí automatizace

C++ESPHTTP controlEmbedded UI

C

Boss Footswitch Codex

Experiment

Bluetooth foot switch pro Boss Katana 50 GEN 3 s důrazem na nízkoúrovňovou implementaci.

Experiment s ovládáním hudebního vybavení přes embedded zařízení a Bluetooth komunikaci.

Focus

Bluetooth protokol, embedded C, ovládání hardware

CBluetoothEmbeddedAudio gear

C++

Boss Footswitch Claude

Experiment

Druhá varianta Bluetooth foot switch projektu pro Boss Katana 50 GEN 3.

Paralelní implementace stejné produktové myšlenky, užitečná pro porovnávání návrhu, struktury a vývojového workflow.

Focus

Alternativní návrh, C++ firmware, iterace prototypu

C++BluetoothEmbeddedAudio gear