<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Gjorge Karakabakov — Writing</title>
    <link>https://karakabakov.com/</link>
    <description>Notes on building for the web — 3D and WebGL, React and React Native, design systems, and leading engineering teams.</description>
    <language>en</language>
    <managingEditor>gorgekara@gmail.com (Gjorge Karakabakov)</managingEditor>
    <atom:link href="https://karakabakov.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cleat is out: a Mac launcher that answers before you finish typing</title>
      <link>https://karakabakov.com/posts/cleat-mac-launcher/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/cleat-mac-launcher/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <description>Cleat is a native Mac launcher: apps, files, clipboard history, window snapping, sums, timers and a local assistant from one keystroke. $49 once, no account, no analytics.</description>
      <category>cleat</category>
      <category>macos</category>
      <category>launcher</category>
      <category>swift</category>
      <category>swiftui</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Sunflower: my disk was full and macOS would not say why</title>
      <link>https://karakabakov.com/posts/sunflower/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/sunflower/</guid>
      <pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate>
      <description>System Settings says System Data and stops there, so I had Claude build a free Mac disk analyser that names what is inside it and never guesses at a byte.</description>
      <category>sunflower</category>
      <category>macos</category>
      <category>swift</category>
      <category>claude</category>
      <category>xcode</category>
    </item>
    <item>
      <title>A trailer for Cadence, made by an agent for $6.13</title>
      <link>https://karakabakov.com/posts/openmontage-trailer/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/openmontage-trailer/</guid>
      <pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate>
      <description>OpenMontage runs video production as an agent-driven pipeline: research, script, scene plan, assets, edit. A thirty-second Cadence trailer for $6.13.</description>
      <category>openmontage</category>
      <category>cadence</category>
      <category>claude</category>
      <category>video</category>
      <category>remotion</category>
    </item>
    <item>
      <title>Cadence: I stopped scattering my life across apps and built one</title>
      <link>https://karakabakov.com/posts/cadence/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/cadence/</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <description>Notes in two apps, a habit tracker a month, trips planned anywhere. I described the app I wanted, Claude built it, and thirty trackers now live in one place.</description>
      <category>cadence</category>
      <category>claude</category>
      <category>macos</category>
      <category>ios</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Warpath: the aim preview is a second physics engine</title>
      <link>https://karakabakov.com/posts/warpath/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/warpath/</guid>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <description>A medieval Peggle in Phaser and Matter: 48 boards drawn as pictures, a spacing guarantee the tests hold to, and an aim preview running the real solver headless.</description>
      <category>games</category>
      <category>typescript</category>
      <category>phaser</category>
      <category>matter.js</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>The Mac sleep timer Apple deleted, and how to get it back</title>
      <link>https://karakabakov.com/posts/sleep-timer-macos/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/sleep-timer-macos/</guid>
      <pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate>
      <description>macOS quietly dropped its sleep timer in Ventura. Here is what replaced it, why the Terminal fix falls short, and the free menu bar app that brings it back.</description>
      <category>sleep-timer</category>
      <category>macos</category>
      <category>swift</category>
      <category>swiftui</category>
      <category>claude</category>
    </item>
    <item>
      <title>I made a horror game about IT support, and the monster is the documentation</title>
      <link>https://karakabakov.com/posts/halworth-xp/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/halworth-xp/</guid>
      <pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate>
      <description>Halworth XP is a browser horror game set entirely in an IT support desk: thirty shifts, 75 tickets, four endings, and a help article that lies to you.</description>
      <category>it support</category>
      <category>horror games</category>
      <category>react</category>
      <category>typescript</category>
      <category>game design</category>
    </item>
    <item>
      <title>Building Island Doodle Adventure: a multiplayer drawing game in React Three Fiber</title>
      <link>https://karakabakov.com/posts/island-doodle-adventure/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/island-doodle-adventure/</guid>
      <pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate>
      <description>A real-time draw-and-guess party game on a 3D island: React Three Fiber, Firebase Realtime Database, server-authoritative rules and costly cold starts.</description>
      <category>three.js</category>
      <category>react</category>
      <category>firebase</category>
      <category>typescript</category>
      <category>games</category>
    </item>
    <item>
      <title>The Cooler: what happens when tic-tac-toe stops being the win condition</title>
      <link>https://karakabakov.com/posts/the-cooler/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/the-cooler/</guid>
      <pubDate>Sun, 09 Aug 2026 00:00:00 GMT</pubDate>
      <description>A roguelike deckbuilder scoring every three-in-a-row as a three-card poker hand, built in Phaser and TypeScript and tuned by a headless balance harness.</description>
      <category>games</category>
      <category>typescript</category>
      <category>phaser</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Using Claude Code without burning tokens</title>
      <link>https://karakabakov.com/posts/claude-code-without-burning-tokens/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/claude-code-without-burning-tokens/</guid>
      <pubDate>Wed, 05 Aug 2026 00:00:00 GMT</pubDate>
      <description>Opus to plan, Sonnet to build, Haiku for the errands — plus effort levels, context hygiene, and a skills tutorial. The dials that actually move the bill.</description>
      <category>claude-code</category>
      <category>ai</category>
      <category>workflow</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Baby Care: Dad&apos;s on Duty — shipping an isometric three.js game with no build step</title>
      <link>https://karakabakov.com/posts/baby-care-dads-on-duty/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/baby-care-dads-on-duty/</guid>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <description>An isometric three.js browser game with a procedurally generated house, co-op multiplayer and a global leaderboard, shipped with no bundler and no build step.</description>
      <category>three.js</category>
      <category>javascript</category>
      <category>webgl</category>
      <category>games</category>
      <category>pwa</category>
      <category>firebase</category>
    </item>
    <item>
      <title>Eleven years of JavaScript, from jQuery to React Native</title>
      <link>https://karakabakov.com/posts/eleven-years-of-javascript/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/eleven-years-of-javascript/</guid>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
      <description>jQuery, Backbone, Require.js, CoffeeScript, AngularJS, Angular, React, React Native, Next and Astro. What each era solved, and which lessons were worth keeping.</description>
      <category>javascript</category>
      <category>react</category>
      <category>career</category>
      <category>frontend</category>
    </item>
    <item>
      <title>What a company-wide UI library actually costs</title>
      <link>https://karakabakov.com/posts/company-wide-ui-library/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/company-wide-ui-library/</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <description>Building a shared component library is mostly not a component problem. Standards, Storybook, an 80% coverage floor, and the adoption work nobody budgets for.</description>
      <category>react</category>
      <category>design-systems</category>
      <category>storybook</category>
      <category>testing</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Using PocketBase.io as your backend for your next project</title>
      <link>https://karakabakov.com/posts/using-pocketbase-as-backend/</link>
      <guid isPermaLink="true">https://karakabakov.com/posts/using-pocketbase-as-backend/</guid>
      <pubDate>Sun, 14 Jan 2024 00:00:00 GMT</pubDate>
      <description>PocketBase packs an embedded SQLite database, realtime subscriptions, auth, an admin dashboard and a REST API into one Go binary. How to use it as your backend.</description>
      <category>pocketbase</category>
      <category>sass</category>
      <category>go</category>
    </item>
  </channel>
</rss>
