<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Kamau Wanyee</title>
    <link>https://steekam.me/</link>
    <atom:link href="https://steekam.me/feed.xml" rel="self" type="application/rss+xml" />
    <description>Field notes from Kamau Wanyee on building reliable products with React Native, TypeScript, and backend systems.</description>
    <language>en</language>
    <lastBuildDate>Mon, 14 Sep 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>The Exception Is the Work</title>
      <link>https://steekam.me/the-exception-is-the-work/</link>
      <guid isPermaLink="true">https://steekam.me/the-exception-is-the-work/</guid>
      <description>When systems disagree about a claim, show the evidence, assign the next action, and record how the case was resolved.</description>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>operations</category>
      <category>evidence</category>
      <category>business intelligence</category>
      <category>audit</category>
      <category>workflow automation</category>
      <category>vertical software</category>
      <category>systems-design</category>
      <category>compliance</category>
      <category>vertical-software</category>
    </item>
    <item>
      <title>Reviewing agent-assisted technical work</title>
      <link>https://steekam.me/reviewing-agent-assisted-technical-work/</link>
      <guid isPermaLink="true">https://steekam.me/reviewing-agent-assisted-technical-work/</guid>
      <description>A verification loop captures an agent’s change, the checks behind it, what remains unknown, and the next action.</description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>agents</category>
      <category>posts</category>
      <category>research</category>
    </item>
    <item>
      <title>Using CLI tools for reproducible research workflows</title>
      <link>https://steekam.me/using-cli-tools-for-reproducible-research-workflows/</link>
      <guid isPermaLink="true">https://steekam.me/using-cli-tools-for-reproducible-research-workflows/</guid>
      <description>A CLI workflow stores normalized run results in Parquet and queries them locally with DuckDB.</description>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>posts</category>
      <category>research</category>
      <category>cli</category>
      <category>data</category>
    </item>
    <item>
      <title>Scrolling to a field that does not exist yet</title>
      <link>https://steekam.me/scrolling-to-a-field-that-does-not-exist-yet/</link>
      <guid isPermaLink="true">https://steekam.me/scrolling-to-a-field-that-does-not-exist-yet/</guid>
      <description>A reliable field jump finds the control, waits for it to render, scrolls, retries, and cancels cleanly.</description>
      <pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>mobile</category>
      <category>performance</category>
      <category>interaction-design</category>
      <category>posts</category>
      <category>react-native</category>
      <category>virtualization</category>
    </item>
    <item>
      <title>React Query is not your offline database</title>
      <link>https://steekam.me/react-query-is-not-your-offline-database/</link>
      <guid isPermaLink="true">https://steekam.me/react-query-is-not-your-offline-database/</guid>
      <description>React Query is a hot memory cache. MMKV holds the durable snapshot, while initialData connects offline storage to a fresh query session.</description>
      <pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>offline-first</category>
      <category>mobile</category>
      <category>architecture</category>
      <category>posts</category>
      <category>react-query</category>
      <category>mmkv</category>
      <category>react-native</category>
    </item>
    <item>
      <title>Sad I had to kill a technically cool feature</title>
      <link>https://steekam.me/sad-i-had-to-kill-a-technically-cool-feature/</link>
      <guid isPermaLink="true">https://steekam.me/sad-i-had-to-kill-a-technically-cool-feature/</guid>
      <description>I built a native LiveKit extension whose capture design worked and was satisfying to solve. Then pilot use showed that the feature no longer earned its place on the critical path.</description>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>mobile</category>
      <category>reliability</category>
      <category>architecture</category>
      <category>posts</category>
      <category>react-native</category>
    </item>
    <item>
      <title>Recording is a distributed system</title>
      <link>https://steekam.me/recording-is-a-distributed-system/</link>
      <guid isPermaLink="true">https://steekam.me/recording-is-a-distributed-system/</guid>
      <description>A phone recording crosses the operating system, native audio, disk, and network. Durable segments and server-side repair protect work a user cannot recreate.</description>
      <pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>reliability</category>
      <category>mobile</category>
      <category>posts</category>
      <category>react-native</category>
    </item>
    <item>
      <title>Offline queues that dont lie</title>
      <link>https://steekam.me/offline-queues-that-dont-lie/</link>
      <guid isPermaLink="true">https://steekam.me/offline-queues-that-dont-lie/</guid>
      <description>Save each task and its checkpoints so retries can resume unfinished work without clearing it.</description>
      <pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>offline-first</category>
      <category>reliability</category>
      <category>posts</category>
      <category>mobile</category>
      <category>systems</category>
    </item>
    <item>
      <title>State machines for messy human workflows</title>
      <link>https://steekam.me/state-machines-for-messy-human-workflows/</link>
      <guid isPermaLink="true">https://steekam.me/state-machines-for-messy-human-workflows/</guid>
      <description>Make retries, interruptions, and handoffs visible in a mobile workflow, from network loss to final submission.</description>
      <pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>reliability</category>
      <category>mobile</category>
      <category>architecture</category>
      <category>posts</category>
      <category>notes</category>
      <category>react-native</category>
    </item>
    <item>
      <title>A love letter to react-native-audio-api</title>
      <link>https://steekam.me/a-love-letter-to-react-native-audio-api/</link>
      <guid isPermaLink="true">https://steekam.me/a-love-letter-to-react-native-audio-api/</guid>
      <description>Lower-level mobile audio APIs expose interruptions, routes, and PCM buffers so a recorder can detect failures and recover.</description>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>react-native</category>
      <category>reliability</category>
      <category>posts</category>
      <category>audio</category>
      <category>recording</category>
      <category>open-source</category>
    </item>
    <item>
      <title>Batching GraphQL field resolvers with one microtask</title>
      <link>https://steekam.me/batching-graphql-field-resolvers-with-one-microtask/</link>
      <guid isPermaLink="true">https://steekam.me/batching-graphql-field-resolvers-with-one-microtask/</guid>
      <description>Twenty sibling GraphQL fields call load() one after another in the same JavaScript turn. Dispatch immediately and you get twenty downstream requests. Schedule…</description>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>performance</category>
      <category>event-loop</category>
      <category>nodejs</category>
      <category>posts</category>
      <category>graphql</category>
    </item>
    <item>
      <title>Guide to navigating your career as a frontend engineer</title>
      <link>https://steekam.me/guide-to-navigating-your-career-as-a-frontend-engineer/</link>
      <guid isPermaLink="true">https://steekam.me/guide-to-navigating-your-career-as-a-frontend-engineer/</guid>
      <description>This is an essay like version of my presentation at Rendercon Kenya 2023 - Before diving into anything, figure out your learning style and how to learn…</description>
      <pubDate>Tue, 19 Sep 2023 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>career</category>
      <category>programming</category>
      <category>conferences</category>
      <category>sessions</category>
      <category>events</category>
      <category>posts</category>
    </item>
    <item>
      <title>I tried pair programming</title>
      <link>https://steekam.me/i-tried-pair-programming/</link>
      <guid isPermaLink="true">https://steekam.me/i-tried-pair-programming/</guid>
      <description>I recently completed my undergrad and had some free time on my hands as I applied for jobs. I was a little bit low on motivation to work on side projects or…</description>
      <pubDate>Wed, 31 Mar 2021 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>programming</category>
      <category>pair-programming</category>
      <category>community</category>
    </item>
    <item>
      <title>Deploying Laravel applications to a shared server using GitHub Actions</title>
      <link>https://steekam.me/deploying-laravel-applications-to-a-shared-server-using-github-actions/</link>
      <guid isPermaLink="true">https://steekam.me/deploying-laravel-applications-to-a-shared-server-using-github-actions/</guid>
      <description>I recently worked on a project where the staging server was on a shared hosting plan with users having very limited privileges. At the time I would push…</description>
      <pubDate>Sun, 20 Sep 2020 00:00:00 GMT</pubDate>
      <dc:creator>Kamau Wanyee</dc:creator>
      <category>github-actions</category>
      <category>programming</category>
      <category>posts</category>
    </item>
  </channel>
</rss>
