<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sezai Emre Konuk</title>
    <link>https://sezaiemrekonuk.dev/blog</link>
    <description>Notes on backends, interfaces and medical imaging.</description>
    <language>en</language>
    <lastBuildDate>Wed, 14 Oct 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://sezaiemrekonuk.dev/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building this site</title>
      <link>https://sezaiemrekonuk.dev/blog/building-this-site</link>
      <guid isPermaLink="true">https://sezaiemrekonuk.dev/blog/building-this-site</guid>
      <pubDate>Wed, 14 Oct 2026 00:00:00 GMT</pubDate>
      <description>Vite and React, Markdown compiled at build time, one clock for Lenis and GSAP, and a point field reading scroll from a plain object.</description>
      <category>react</category>
      <category>gsap</category>
      <category>vite</category>
      <category>three.js</category>
    </item>
    <item>
      <title>Blocked is a query, not a status</title>
      <link>https://sezaiemrekonuk.dev/blog/derived-blocked-state</link>
      <guid isPermaLink="true">https://sezaiemrekonuk.dev/blog/derived-blocked-state</guid>
      <pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate>
      <description>Why NodeKanban never stores whether a task is blocked. One rule, written as a Postgres view and mirrored in the browser.</description>
      <category>postgres</category>
      <category>data-modeling</category>
      <category>nodekanban</category>
    </item>
  </channel>
</rss>
