Zápisník

Co stavím a co se přitom učím

Srozumitelné představení produktů, které stavím, plus případovky a poznámky o tom, jak jsou udělané.

Weather InTouch: aplikace, která dá vědět dřív, než se počasí pokazí
Produkt 2026-09-12 · 7 min

Weather InTouch: aplikace, která dá vědět dřív, než se počasí pokazí

Většina aplikací počasí ukáže. Tahle na něj upozorní — vlastními pravidly, oficiálními výstrahami a poctivým účtem za to, jak často se trefí.

Od „bude pršet" k „dej mi vědět, když" — vlastní výstrahy na počasí
Produkt 7 min

Od „bude pršet" k „dej mi vědět, když" — vlastní výstrahy na počasí

Obecná předpověď vám neřekne, jestli zítra můžete betonovat. Vlastní pravidlo ano — napíšete ho běžnou větou a aplikace se ozve tam, kam se díváte.

Aplikace, která si sama spočítá, jak moc se spletla
Produkt 6 min

Aplikace, která si sama spočítá, jak moc se spletla

Předpovědi slibují leccos, ale nikdo si je zpětně nekontroluje. Weather InTouch si vede vlastní účet: co včera řekl, co se doopravdy stalo, a o kolik minut se spletl.

Zeptejte se na počasí normální větou
Produkt 5 min

Zeptejte se na počasí normální větou

Tabulky a ikonky odpovídají na otázku, kterou jste nepoložili. Asistent ve Weather InTouch odpoví na tu vaši — a opírá se přitom o skutečnou předpověď, ne o dojem.

Oficiální výstrahy ze sedmi zemí — a proč to není samozřejmost
Produkt 6 min

Oficiální výstrahy ze sedmi zemí — a proč to není samozřejmost

Varování před bouřkou vydává státní meteoslužba, ne aplikace. Weather InTouch jich sleduje sedm — a srovnává je do podoby, které rozumíte i v zemi, jejíž meteoslužbu jste nikdy neviděli.

Jak jsem postavil weather platformu, jejíž náklady rostou s lokalitami, ne s uživateli
Případovka </> 10 min

Jak jsem postavil weather platformu, jejíž náklady rostou s lokalitami, ne s uživateli

Předpověď počasí je komodita zadarmo. Hodnota je dělat s ní něco proaktivního — a neuvařit se na nákladech placeného API. Případovka full-stack TypeScript monorepa.

Jedno volání externího API na lokalitu, ať přijde kolik chce uživatelů
Případovka </> 7 min

Jedno volání externího API na lokalitu, ať přijde kolik chce uživatelů

Placené weather API se účtuje za volání. Naivní cache tě stejně zabije, když 500 lidí ve městě otevře aplikaci ve stejnou vteřinu. Řešení: single-flight přes dvě vrstvy.

Oficiální meteo výstrahy správně: CAP, atribuce a rozšiřitelnost
Případovka </> 9 min

Oficiální meteo výstrahy správně: CAP, atribuce a rozšiřitelnost

Vládní výstrahy jsou zadarmo a veřejné — „prostě je zobrazit" je ale past: různé zdroje, různé severity škály, povinná atribuce, expirace, lokální časové zóny.

Hodinový graf počasí, který se dá číst: Chart.js, 4 veličiny, 7 dní
Poznámka </> 7 min

Hodinový graf počasí, který se dá číst: Chart.js, 4 veličiny, 7 dní

Ikonka řekne „bude pršet". Graf řekne „prší od 14 do 16, pak jde vítr nahoru". Jak narvat 4 veličiny a 168 hodin do jednoho čitelného grafu v Chart.js.

Srážkový radar v Leafletu: plynule a teprve když je vidět
Poznámka </> 6 min

Srážkový radar v Leafletu: plynule a teprve když je vidět

Radar je nejvíc „živý" prvek aplikace — a nejnáročnější na výkon i soukromí. Jak ho rozhýbat plynule, načíst až když ho uživatel uvidí, a vyřešit 3rd-party dlaždice.

Proč jsem si na marketingový web napsal vlastní SSG místo Astro
Poznámka </> 5 min

Proč jsem si na marketingový web napsal vlastní SSG místo Astro

Pro marketingový web ve 20 jazycích je Astro nebo Next overkill. Pár tisíc řádků esbuildu a tsx udělá totéž — a rozumím každému řádku.

Free data jako páteř, placený overlay za přepínačem — a proč je dnes vypnutý
Poznámka </> 5 min

Free data jako páteř, placený overlay za přepínačem — a proč je dnes vypnutý

Open-Meteo pokryje celou předpověď zdarma. Placený overlay z OpenWeather sahal jen na pár okamžitých hodnot — dnes je vypnutý a aplikace jede dál.

Kontaktní informace

Klidně se mi ozvěte ohledně nového projektu, konzultace nebo dlouhodobější spolupráce. Rád proberu smysluplné produktové zadání i zajímavé frontendové příležitosti.

Napište mi

© 2026 Martin Hubálek. Všechna práva vyhrazena.

Martin Hubálek IČO: 08827303 Sídlo: Dolní Štěpanice 29, 514 01 Benecko, Česká republika Zapsán v živnostenském rejstříku Nejsem plátce DPH