<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Martin Hubálek — Zápisník</title>
    <link>https://martinhubalek.cz/cs/blog</link>
    <description>Zápisky o aplikacích, které stavím (LingoSnap, Navixer a další), plus poznámky k Angularu a UX/UI.</description>
    <language>cs-CZ</language>
    <atom:link href="https://martinhubalek.cz/cs/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Jak jsem postavil weather platformu, která se neprodražuje při škálování</title>
      <link>https://martinhubalek.cz/cs/blog/weather-intouch-jak-jsem-postavil-weather-platformu</link>
      <guid isPermaLink="true">https://martinhubalek.cz/cs/blog/weather-intouch-jak-jsem-postavil-weather-platformu</guid>
      <description>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.</description>
      <pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Jak obsloužit tisíce uživatelů jedním voláním placeného API na lokalitu</title>
      <link>https://martinhubalek.cz/cs/blog/weather-intouch-jedno-volani-na-lokalitu</link>
      <guid isPermaLink="true">https://martinhubalek.cz/cs/blog/weather-intouch-jedno-volani-na-lokalitu</guid>
      <description>Placené weather API se účtuje za volání. Naivní cache tě stejně zabije, když 500 lidí ve městě otevře appku ve stejnou vteřinu. Řešení: single-flight přes dvě vrstvy.</description>
      <pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Oficiální meteo výstrahy správně: CAP, atribuce a rozšiřitelnost</title>
      <link>https://martinhubalek.cz/cs/blog/weather-intouch-oficialni-vystrahy-cap</link>
      <guid isPermaLink="true">https://martinhubalek.cz/cs/blog/weather-intouch-oficialni-vystrahy-cap</guid>
      <description>Vládní výstrahy jsou zadarmo a veřejné — „prostě je zobrazit&quot; je ale past: různé zdroje, různé severity škály, povinná atribuce, expirace, lokální časové zóny.</description>
      <pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Hodinový graf počasí, který se dá číst: Chart.js, 4 veličiny, 7 dní</title>
      <link>https://martinhubalek.cz/cs/blog/weather-intouch-hodinovy-graf-chartjs</link>
      <guid isPermaLink="true">https://martinhubalek.cz/cs/blog/weather-intouch-hodinovy-graf-chartjs</guid>
      <description>Ikonka řekne „bude pršet&quot;. Graf řekne „prší od 14 do 16, pak jde vítr nahoru&quot;. Jak narvat 4 veličiny a 168 hodin do jednoho čitelného grafu v Chart.js.</description>
      <pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Srážkový radar, který plyne: Leaflet, crossfade snímků a lazy-init</title>
      <link>https://martinhubalek.cz/cs/blog/weather-intouch-radar-srazek-leaflet</link>
      <guid isPermaLink="true">https://martinhubalek.cz/cs/blog/weather-intouch-radar-srazek-leaflet</guid>
      <description>Radar je nejvíc „živý&quot; prvek appky — 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.</description>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Proč jsem si na marketingový web napsal vlastní SSG místo Astro</title>
      <link>https://martinhubalek.cz/cs/blog/weather-intouch-vlastni-ts-ssg</link>
      <guid isPermaLink="true">https://martinhubalek.cz/cs/blog/weather-intouch-vlastni-ts-ssg</guid>
      <description>Pro třístránkový web ve 20 jazycích je Astro nebo Next overkill. Pár set řádků esbuildu a tsx udělá totéž — a rozumím každému řádku.</description>
      <pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate>
    </item>
    <item>
      <title>Free data jako páteř, placené API jen na špičku — a co když odpadne</title>
      <link>https://martinhubalek.cz/cs/blog/weather-intouch-free-paste-i-placene-data</link>
      <guid isPermaLink="true">https://martinhubalek.cz/cs/blog/weather-intouch-free-paste-i-placene-data</guid>
      <description>Open-Meteo pokryje většinu předpovědi zdarma. Placené OpenWeather se sáhne jen na pár okamžitých hodnot — a když odpadne, appka jede dál.</description>
      <pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>
