<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Gagan Deep Singh</title>
    <link>https://thegdsks.com</link>
    <description>Software Architect at Marriott International. Founder of GLINR STUDIOS. I architect distributed systems at scale and build open-source tools that developers actually use.</description>
    <language>en-us</language>
    <lastBuildDate>Thu, 24 Sep 2026 19:05:01 GMT</lastBuildDate>
    <atom:link href="https://thegdsks.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title><![CDATA[Introducing Levelrail]]></title>
      <link>https://thegdsks.com/blog/introducing-levelrail</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/introducing-levelrail</guid>
      <description><![CDATA[Levelrail is a self-hosted deployment platform: push to git, get a running app with TLS, logs, metrics, and rollback.]]></description>
      <pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Introducing%20Levelrail&amp;description=Levelrail%20is%20a%20self-hosted%20deployment%20platform%3A%20push%20to%20git%2C%20get%20a%20running%20app%20with%20TLS%2C%20logs%2C%20metrics%2C%20and%20rollback." type="image/png" />
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Self-Hosted]]></category>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[PaaS]]></category>
    </item>
    <item>
      <title><![CDATA[Kavachos Is Now theauth]]></title>
      <link>https://thegdsks.com/blog/kavachos-is-now-theauth</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/kavachos-is-now-theauth</guid>
      <description><![CDATA[Kavachos has been rebranded to theauth. Here's what changed, what didn't, and how to migrate.]]></description>
      <pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Kavachos%20Is%20Now%20theauth&amp;description=Kavachos%20has%20been%20rebranded%20to%20theauth.%20Here&apos;s%20what%20changed%2C%20what%20didn&apos;t%2C%20and%20how%20to%20migrate." type="image/png" />
      <category><![CDATA[Auth]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[AI]]></category>
      <category><![CDATA[MCP]]></category>
      <category><![CDATA[Open Source]]></category>
    </item>
    <item>
      <title><![CDATA[theSVG Passed 7,400 Icons: Auth Badges, Cleaner Categories, and Icon Feedback]]></title>
      <link>https://thegdsks.com/blog/thesvg-passed-7400-icons</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/thesvg-passed-7400-icons</guid>
      <description><![CDATA[theSVG crossed 7,400 brand and cloud SVG icons six months after launch. What is inside the library, what shipped along the way, and how to use it from npm, the CDN, the CLI, or an MCP server.]]></description>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=theSVG%20Passed%207%2C400%20Icons%3A%20Auth%20Badges%2C%20Cleaner%20Categories%2C%20and%20Icon%20Feedback&amp;description=theSVG%20crossed%207%2C400%20brand%20and%20cloud%20SVG%20icons%20six%20months%20after%20launch.%20What%20is%20inside%20the%20library%2C%20what%20shipped%20along%20the%20way%2C%20and%20how%20to%20use%20it%20from%20npm%2C%20the%20CDN%2C%20the%20CLI%2C%20or%20an%20MCP%20server." type="image/png" />
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[SVG]]></category>
      <category><![CDATA[theSVG]]></category>
      <category><![CDATA[Developer Tools]]></category>
      <category><![CDATA[Milestone]]></category>
    </item>
    <item>
      <title><![CDATA[Streaming LLM responses in TypeScript: SSE, ReadableStream, and the React 19 useChat hook.]]></title>
      <link>https://thegdsks.com/writing/streaming-llm-responses-in-typescript-sse-readablestream-and-the-react-19-usechat-hook-36la</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/streaming-llm-responses-in-typescript-sse-readablestream-and-the-react-19-usechat-hook-36la</guid>
      <description><![CDATA[Streaming LLM responses in TypeScript: SSE, ReadableStream, and the React 19 useChat...]]></description>
      <pubDate>Mon, 20 Jul 2026 06:48:18 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl94cdkohl3nqc120322g.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[react]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[Type-safe LLM outputs with Zod: stop guessing what the model returns.]]></title>
      <link>https://thegdsks.com/writing/type-safe-llm-outputs-with-zod-stop-guessing-what-the-model-returns-544e</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/type-safe-llm-outputs-with-zod-stop-guessing-what-the-model-returns-544e</guid>
      <description><![CDATA[Type-safe LLM outputs with Zod: stop guessing what the model returns.   I shipped a...]]></description>
      <pubDate>Wed, 15 Jul 2026 03:34:13 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpvt4bki1w1aj2ynmfn7w.png" type="image/png" />
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[Building a production AI agent in TypeScript with Mastra: a 2026 step-by-step.]]></title>
      <link>https://thegdsks.com/writing/building-a-production-ai-agent-in-typescript-with-mastra-a-2026-step-by-step-37dc</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/building-a-production-ai-agent-in-typescript-with-mastra-a-2026-step-by-step-37dc</guid>
      <description><![CDATA[Building a production AI agent in TypeScript with Mastra: a 2026 step-by-step.   I spent an...]]></description>
      <pubDate>Mon, 13 Jul 2026 23:30:15 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcxtgrnm6bg6ttcp47bma.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[OpenAI Codex now finishes 85% of scoped tasks. Here is the /goal workflow that gets you there.]]></title>
      <link>https://thegdsks.com/writing/openai-codex-now-finishes-85-of-scoped-tasks-here-is-the-goal-workflow-that-gets-you-there-1dae</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/openai-codex-now-finishes-85-of-scoped-tasks-here-is-the-goal-workflow-that-gets-you-there-1dae</guid>
      <description><![CDATA[OpenAI Codex now finishes 85% of scoped tasks. Here is the /goal workflow that gets you...]]></description>
      <pubDate>Sun, 14 Jun 2026 02:56:59 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2whditeh3so70r5rvwd.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[Building a production TypeScript CLI in 2026: oclif vs commander vs custom.]]></title>
      <link>https://thegdsks.com/writing/building-a-production-typescript-cli-in-2026-oclif-vs-commander-vs-custom-9ah</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/building-a-production-typescript-cli-in-2026-oclif-vs-commander-vs-custom-9ah</guid>
      <description><![CDATA[Building a production TypeScript CLI in 2026: oclif vs commander vs custom.   I shipped my...]]></description>
      <pubDate>Tue, 09 Jun 2026 06:57:30 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwcnuqpwfqgxu6splk98l.png" type="image/png" />
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[node]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[RAG with Postgres pgvector in 2026: the full TypeScript pipeline.]]></title>
      <link>https://thegdsks.com/writing/rag-with-postgres-pgvector-in-2026-the-full-typescript-pipeline-2lbd</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/rag-with-postgres-pgvector-in-2026-the-full-typescript-pipeline-2lbd</guid>
      <description><![CDATA[RAG with Postgres pgvector in 2026: the full TypeScript pipeline.   I spent a week...]]></description>
      <pubDate>Mon, 08 Jun 2026 08:24:44 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4u0e35hk8887ku845q8y.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[postgres]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[TanStack shipped a postmortem for the 42-package npm compromise. Here is what every project should change this week.]]></title>
      <link>https://thegdsks.com/writing/tanstack-shipped-a-postmortem-for-the-42-package-npm-compromise-here-is-what-every-project-should-60c</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/tanstack-shipped-a-postmortem-for-the-42-package-npm-compromise-here-is-what-every-project-should-60c</guid>
      <description><![CDATA[TanStack shipped a postmortem for the 42-package npm compromise. Here is what every project...]]></description>
      <pubDate>Fri, 29 May 2026 02:33:59 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklzgrht0mkc3bb6ga91y.png" type="image/png" />
      <category><![CDATA[security]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[Google's Gemini 3.5 Flash is 4x faster than other frontier models. Here is how to call it from TypeScript.]]></title>
      <link>https://thegdsks.com/writing/googles-gemini-35-flash-is-4x-faster-than-other-frontier-models-here-is-how-to-call-it-from-2ih5</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/googles-gemini-35-flash-is-4x-faster-than-other-frontier-models-here-is-how-to-call-it-from-2ih5</guid>
      <description><![CDATA[Google's Gemini 3.5 Flash is 4x faster than other frontier models. Here is how to call it...]]></description>
      <pubDate>Wed, 27 May 2026 17:20:41 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fccwf3mureg3yduzh90ke.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[Build your first MCP server in TypeScript: the 2026 setup that takes 30 minutes.]]></title>
      <link>https://thegdsks.com/writing/build-your-first-mcp-server-in-typescript-the-2026-setup-that-takes-30-minutes-3m1n</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/build-your-first-mcp-server-in-typescript-the-2026-setup-that-takes-30-minutes-3m1n</guid>
      <description><![CDATA[Build your first MCP server in TypeScript: the 2026 setup that takes 30 minutes.   I had...]]></description>
      <pubDate>Tue, 26 May 2026 20:07:21 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqnk4kqwnb188arr3x7z.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[Cursor 3 ships parallel AI agents. Here is the multi-agent workflow that actually works.]]></title>
      <link>https://thegdsks.com/writing/cursor-3-ships-parallel-ai-agents-here-is-the-multi-agent-workflow-that-actually-works-2bk8</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/cursor-3-ships-parallel-ai-agents-here-is-the-multi-agent-workflow-that-actually-works-2bk8</guid>
      <description><![CDATA[Cursor 3 ships parallel AI agents. Here is the multi-agent workflow that actually...]]></description>
      <pubDate>Tue, 26 May 2026 02:51:45 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp0nh2ud6l0l2zv9s2dlw.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[Microsoft tried to kill the printer driver. Healthcare said no.]]></title>
      <link>https://thegdsks.com/writing/microsoft-tried-to-kill-the-printer-driver-healthcare-said-no-28e7</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/microsoft-tried-to-kill-the-printer-driver-healthcare-said-no-28e7</guid>
      <description><![CDATA[Microsoft tried to kill the printer driver. 90% of US healthcare said no.   In late 2025,...]]></description>
      <pubDate>Sat, 23 May 2026 06:36:49 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F18jenkoe566502n4t40f.png" type="image/png" />
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[beginners]]></category>
    </item>
    <item>
      <title><![CDATA[Google redesigned 13 Workspace icons last week. Here is where to grab the new SVGs.]]></title>
      <link>https://thegdsks.com/writing/google-redesigned-13-workspace-icons-last-week-here-is-where-to-grab-the-new-svgs-bc0</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/google-redesigned-13-workspace-icons-last-week-here-is-where-to-grab-the-new-svgs-bc0</guid>
      <description><![CDATA[On May 18 Google started rolling out new gradient icons for thirteen of its Workspace apps. Gmail,...]]></description>
      <pubDate>Fri, 22 May 2026 07:07:47 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4yl49qbg0amexd7hnyta.webp" type="image/png" />
      <category><![CDATA[design]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[I shipped a working landing page in 14 KB. Here is every byte.]]></title>
      <link>https://thegdsks.com/writing/i-shipped-a-working-landing-page-in-14-kb-here-is-every-byte-8p3</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-shipped-a-working-landing-page-in-14-kb-here-is-every-byte-8p3</guid>
      <description><![CDATA[I shipped a working landing page in 14 KB. Here is every byte.   In May 2026 a coder who...]]></description>
      <pubDate>Thu, 21 May 2026 02:06:58 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbmj1yv0in9r7l1p6uhz8.png" type="image/png" />
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[performance]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[The portfolio math. When 30 small apps beat 1 big one.]]></title>
      <link>https://thegdsks.com/writing/the-portfolio-math-when-30-small-apps-beat-1-big-one-41ai</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/the-portfolio-math-when-30-small-apps-beat-1-big-one-41ai</guid>
      <description><![CDATA[The portfolio math. When 30 small apps beat 1 big one.   For a decade the indie hacker...]]></description>
      <pubDate>Tue, 19 May 2026 03:36:50 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fysndzisw83lg883qlv65.png" type="image/png" />
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[indiehackers]]></category>
      <category><![CDATA[startup]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[How to read any legacy codebase. The archaeology playbook.]]></title>
      <link>https://thegdsks.com/writing/how-to-read-any-legacy-codebase-the-archaeology-playbook-19bh</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-to-read-any-legacy-codebase-the-archaeology-playbook-19bh</guid>
      <description><![CDATA[How to read any legacy codebase. The archaeology playbook.   Somewhere on a hard drive sits...]]></description>
      <pubDate>Sun, 17 May 2026 04:25:00 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8n88nh6chxfd91ib27h1.png" type="image/png" />
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[programming]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[Your bundle is 4000x bigger than Quake. The 9-step audit that fixes it.]]></title>
      <link>https://thegdsks.com/writing/your-bundle-is-4000x-bigger-than-quake-the-9-step-audit-that-fixes-it-5cpb</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/your-bundle-is-4000x-bigger-than-quake-the-9-step-audit-that-fixes-it-5cpb</guid>
      <description><![CDATA[In February 2026 a developer named daivuk shipped a playable Quake-like first person shooter in a 64...]]></description>
      <pubDate>Thu, 14 May 2026 04:29:48 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb5bwiu9lr3zlvpxpg9vj.png" type="image/png" />
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[performance]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[I asked Cursor to rename a function. It sent 8,400 tokens. I checked.]]></title>
      <link>https://thegdsks.com/writing/i-asked-cursor-to-rename-a-function-it-sent-8400-tokens-i-checked-434h</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-asked-cursor-to-rename-a-function-it-sent-8400-tokens-i-checked-434h</guid>
      <description><![CDATA[The afternoon I learned what my AI subscription was actually doing, and the 200 lines that took my...]]></description>
      <pubDate>Wed, 13 May 2026 03:58:11 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo032zuxw9x15rs61u1im.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[cursor]]></category>
      <category><![CDATA[claude]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[AWS Lambda Is Dead. The $0.20 Was Never the Price]]></title>
      <link>https://thegdsks.com/writing/aws-lambda-is-dead-the-020-was-never-the-price-2k4j</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/aws-lambda-is-dead-the-020-was-never-the-price-2k4j</guid>
      <description><![CDATA[Last quarter we migrated 47 Lambda functions off AWS. The monthly bill dropped from $8,362 to $1,790....]]></description>
      <pubDate>Tue, 12 May 2026 04:24:50 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5m1gc555kjnmd9kmvhs.png" type="image/png" />
      <category><![CDATA[aws]]></category>
      <category><![CDATA[serverless]]></category>
      <category><![CDATA[cloudflare]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[The first time you watch an AI agent buy something, you will feel something you cannot name.]]></title>
      <link>https://thegdsks.com/writing/the-first-time-you-watch-an-ai-agent-buy-something-you-will-feel-something-you-cannot-name-35f3</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/the-first-time-you-watch-an-ai-agent-buy-something-you-will-feel-something-you-cannot-name-35f3</guid>
      <description><![CDATA[A 91 second experiment, an $11.78 charge, and a moment of hesitation that surprised me more than the...]]></description>
      <pubDate>Sun, 10 May 2026 17:08:53 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm20rfv0bzkqq9v01c0ho.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[agents]]></category>
      <category><![CDATA[cloudflare]]></category>
      <category><![CDATA[stripe]]></category>
    </item>
    <item>
      <title><![CDATA[Anthropic hit B ARR in 16 months. I went looking for where the money is actually coming from.]]></title>
      <link>https://thegdsks.com/writing/anthropic-hit-b-arr-in-16-months-i-went-looking-for-where-the-money-is-actually-coming-from-5f25</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/anthropic-hit-b-arr-in-16-months-i-went-looking-for-where-the-money-is-actually-coming-from-5f25</guid>
      <description><![CDATA[A revenue chart that goes vertical does not tell you who pays. It tells you who gets charged.   A...]]></description>
      <pubDate>Sat, 09 May 2026 16:41:10 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpi4nn3n9l8keuaotiq9g.png" type="image/png" />
      <category><![CDATA[anthropic]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[startup]]></category>
      <category><![CDATA[economics]]></category>
    </item>
    <item>
      <title><![CDATA[Anthropic just rented Elon Musk's data center. The price of a Claude token is about to make sense.]]></title>
      <link>https://thegdsks.com/writing/anthropic-just-rented-elon-musks-data-center-the-price-of-a-claude-token-is-about-to-make-sense-lc3</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/anthropic-just-rented-elon-musks-data-center-the-price-of-a-claude-token-is-about-to-make-sense-lc3</guid>
      <description><![CDATA[A 300 megawatt deal, a $180 a month decision, and the strange feeling of having a vendor solve your...]]></description>
      <pubDate>Thu, 07 May 2026 13:25:45 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp2t21gv5aohhtcoiztfp.png" type="image/png" />
      <category><![CDATA[anthropic]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[infrastructure]]></category>
      <category><![CDATA[startup]]></category>
    </item>
    <item>
      <title><![CDATA[I built a 200 line AI router in TypeScript. My monthly bill dropped 41%.]]></title>
      <link>https://thegdsks.com/writing/i-built-a-200-line-ai-router-in-typescript-my-monthly-bill-dropped-41-23ok</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-built-a-200-line-ai-router-in-typescript-my-monthly-bill-dropped-41-23ok</guid>
      <description><![CDATA[I track my own AI spend across three projects. In March, the line item that grew fastest was not...]]></description>
      <pubDate>Thu, 07 May 2026 03:34:05 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcrcd994781cr25vyz1zj.png" type="image/png" />
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[Cloudflare and Stripe just let agents buy domains and ship code. Here is the API.]]></title>
      <link>https://thegdsks.com/writing/cloudflare-and-stripe-just-let-agents-buy-domains-and-ship-code-here-is-the-api-59pb</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/cloudflare-and-stripe-just-let-agents-buy-domains-and-ship-code-here-is-the-api-59pb</guid>
      <description><![CDATA[On April 30, Cloudflare quietly published a blog post and a docs page that nobody outside the agentic...]]></description>
      <pubDate>Thu, 07 May 2026 03:27:56 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7i80f0w0ey7a47flpwg.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[cloudflare]]></category>
    </item>
    <item>
      <title><![CDATA[Giving an AI agent permission to spawn sub-agents (without losing control)]]></title>
      <link>https://thegdsks.com/writing/giving-an-ai-agent-permission-to-spawn-sub-agents-without-losing-control-5901</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/giving-an-ai-agent-permission-to-spawn-sub-agents-without-losing-control-5901</guid>
      <description><![CDATA[Giving an AI agent permission to spawn sub-agents (without losing control)   A reader asked...]]></description>
      <pubDate>Sun, 03 May 2026 22:14:05 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F77glm20c1k3zqqdfocc5.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[security]]></category>
      <category><![CDATA[opensource]]></category>
    </item>
    <item>
      <title><![CDATA[Free SVG brand icons in 2026: thesvg.org vs svgl vs Simple Icons]]></title>
      <link>https://thegdsks.com/writing/free-svg-brand-icons-in-2026-thesvgorg-vs-svgl-vs-simple-icons-44od</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/free-svg-brand-icons-in-2026-thesvgorg-vs-svgl-vs-simple-icons-44od</guid>
      <description><![CDATA[Three free SVG brand icon libraries compared on icon count, color support, license, and integration. Pick the right one for your project.]]></description>
      <pubDate>Sat, 02 May 2026 18:01:02 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm98k2r71esnxotzcs436.png" type="image/png" />
      <category><![CDATA[design]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[I rewrote my auth library to run on Cloudflare Workers. Here is what broke.]]></title>
      <link>https://thegdsks.com/writing/i-rewrote-my-auth-library-to-run-on-cloudflare-workers-here-is-what-broke-5ceh</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-rewrote-my-auth-library-to-run-on-cloudflare-workers-here-is-what-broke-5ceh</guid>
      <description><![CDATA[Most TypeScript auth libraries assume Node.js. They reach for crypto.randomBytes, Buffer, the Node fs...]]></description>
      <pubDate>Thu, 30 Apr 2026 15:48:36 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6flomodla0ytl8r4drc8.png" type="image/png" />
      <category><![CDATA[cloudflare]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[serverless]]></category>
    </item>
    <item>
      <title><![CDATA[Adding OAuth 2.1 to your MCP server in TypeScript]]></title>
      <link>https://thegdsks.com/writing/adding-oauth-21-to-your-mcp-server-in-typescript-4ap9</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/adding-oauth-21-to-your-mcp-server-in-typescript-4ap9</guid>
      <description><![CDATA[If you're building an MCP server, sooner or later someone is going to ask: how does authentication...]]></description>
      <pubDate>Wed, 29 Apr 2026 17:40:05 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9sbgfm6sw9s1rlu0vs0n.png" type="image/png" />
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[oauth]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[ai]]></category>
    </item>
    <item>
      <title><![CDATA[Prompt Caching With the Claude API: A Practical Guide]]></title>
      <link>https://thegdsks.com/writing/prompt-caching-with-the-claude-api-a-practical-guide-14ce</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/prompt-caching-with-the-claude-api-a-practical-guide-14ce</guid>
      <description><![CDATA[I noticed a pattern looking at three months of Anthropic invoices. The same 8 KB system prompt was...]]></description>
      <pubDate>Wed, 29 Apr 2026 03:55:35 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F953r5sez3lr4gl123hek.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[anthropic]]></category>
      <category><![CDATA[api]]></category>
      <category><![CDATA[performance]]></category>
    </item>
    <item>
      <title><![CDATA[An AI Tool Had OAuth to Their Whole Google Workspace. Then Vercel Got Breached.]]></title>
      <link>https://thegdsks.com/writing/an-ai-tool-had-oauth-to-their-whole-google-workspace-then-vercel-got-breached-2ocl</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/an-ai-tool-had-oauth-to-their-whole-google-workspace-then-vercel-got-breached-2ocl</guid>
      <description><![CDATA[A Vercel employee clicked Allow All on an AI app's OAuth consent screen. Three weeks later, customer environment variables were on a hacker's drive with a $2 million asking price. Here is the four-layer audit your org probably has not run.]]></description>
      <pubDate>Tue, 28 Apr 2026 04:48:46 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfvzqtuo2eeu76wdfshy.png" type="image/png" />
      <category><![CDATA[security]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[devtools]]></category>
      <category><![CDATA[ai]]></category>
    </item>
    <item>
      <title><![CDATA[GitHub Copilot Switches to Usage-Based Billing on June 1. The Token Tab Came Due.]]></title>
      <link>https://thegdsks.com/writing/github-copilot-switches-to-usage-based-billing-on-june-1-the-token-tab-came-due-3h6c</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/github-copilot-switches-to-usage-based-billing-on-june-1-the-token-tab-came-due-3h6c</guid>
      <description><![CDATA[Microsoft announced Copilot Pro is still $10 per month, but $10 now buys $10 in AI credits, and a single Opus agent session can consume that. Here is what your real bill looks like.]]></description>
      <pubDate>Tue, 28 Apr 2026 04:45:28 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4qxdgsab5h20ikl96te.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[devtools]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[The Quiet Sabotage: Why Most of My Dead Projects Died of Overthinking]]></title>
      <link>https://thegdsks.com/writing/the-quiet-sabotage-why-most-of-my-dead-projects-died-of-overthinking-50mk</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/the-quiet-sabotage-why-most-of-my-dead-projects-died-of-overthinking-50mk</guid>
      <description><![CDATA[Kevin Lynagh published a short essay this week about how he sabotages his own projects by...]]></description>
      <pubDate>Sat, 25 Apr 2026 00:31:05 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5fph0a4xzfpvxoihpmo.png" type="image/png" />
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[Claude Code Felt Off for a Month. Here Is What Broke.]]></title>
      <link>https://thegdsks.com/writing/claude-code-felt-off-for-a-month-here-is-what-broke-751</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/claude-code-felt-off-for-a-month-here-is-what-broke-751</guid>
      <description><![CDATA[For about four weeks in March and April, Claude Code felt noticeably worse. I was not imagining it....]]></description>
      <pubDate>Thu, 23 Apr 2026 20:41:06 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtjgni35g6g2sb0flzbi.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[The Token Tab: A Developer's Audit of the AI Hype Stack]]></title>
      <link>https://thegdsks.com/writing/the-token-tab-a-developers-audit-of-the-ai-hype-stack-6gg</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/the-token-tab-a-developers-audit-of-the-ai-hype-stack-6gg</guid>
      <description><![CDATA[A four-layer teardown of what you are actually buying when you follow an AI tutorial in 2026, with real numbers and a checklist you can run before you commit hardware or a subscription.]]></description>
      <pubDate>Thu, 23 Apr 2026 04:45:18 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsw4f7flaocu5amvfqmf2.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[devtools]]></category>
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[career]]></category>
    </item>
    <item>
      <title><![CDATA[Local-First Is Here, Loudly: Why Three of My Products Made the Switch]]></title>
      <link>https://thegdsks.com/blog/local-first-is-here-loudly</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/local-first-is-here-loudly</guid>
      <description><![CDATA[For years I dismissed local-first as a correctness-obsessed ideology. In the last twelve months three of my products adopted it, and the reasons were not what the manifestos said they would be.]]></description>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Local-First%20Is%20Here%2C%20Loudly%3A%20Why%20Three%20of%20My%20Products%20Made%20the%20Switch&amp;description=For%20years%20I%20dismissed%20local-first%20as%20a%20correctness-obsessed%20ideology.%20In%20the%20last%20twelve%20months%20three%20of%20my%20products%20adopted%20it%2C%20and%20the%20reasons%20were%20not%20what%20the%20manifestos%20said%20they%20would%20be." type="image/png" />
      <category><![CDATA[Local-First]]></category>
      <category><![CDATA[Architecture]]></category>
      <category><![CDATA[CRDT]]></category>
      <category><![CDATA[Sync]]></category>
    </item>
    <item>
      <title><![CDATA[The Pricing Tier I Deleted and What Happened Next]]></title>
      <link>https://thegdsks.com/blog/the-pricing-tier-i-deleted</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/the-pricing-tier-i-deleted</guid>
      <description><![CDATA[I had a $9 Starter tier on one of my tools for eighteen months. Deleting it was the best pricing decision I made last year. Here is the math, the customer impact, and the lesson I am now applying to every other product.]]></description>
      <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=The%20Pricing%20Tier%20I%20Deleted%20and%20What%20Happened%20Next&amp;description=I%20had%20a%20%249%20Starter%20tier%20on%20one%20of%20my%20tools%20for%20eighteen%20months.%20Deleting%20it%20was%20the%20best%20pricing%20decision%20I%20made%20last%20year.%20Here%20is%20the%20math%2C%20the%20customer%20impact%2C%20and%20the%20lesson%20I%20am%20now%20applying%20to%20every%20other%20product." type="image/png" />
      <category><![CDATA[Pricing]]></category>
      <category><![CDATA[Product]]></category>
      <category><![CDATA[Glincker]]></category>
      <category><![CDATA[Solo Founder]]></category>
    </item>
    <item>
      <title><![CDATA[I replaced Auth0 with an open source library in 30 minutes. Here is what broke.]]></title>
      <link>https://thegdsks.com/writing/i-replaced-auth0-with-an-open-source-library-in-30-minutes-here-is-what-broke-3l2c</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-replaced-auth0-with-an-open-source-library-in-30-minutes-here-is-what-broke-3l2c</guid>
      <description><![CDATA[A real Auth0 migration to kavachOS, with the bill, the diff, the things that broke in prod, and the call I would make again.]]></description>
      <pubDate>Sat, 18 Apr 2026 20:52:03 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj6uyh9bif6k09e8fzbq5.png" type="image/png" />
      <category><![CDATA[authentication]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[devops]]></category>
    </item>
    <item>
      <title><![CDATA[How to build a secure password reset flow in Next.js (the short version)]]></title>
      <link>https://thegdsks.com/writing/how-to-build-a-secure-password-reset-flow-in-nextjs-the-short-version-ja6</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-to-build-a-secure-password-reset-flow-in-nextjs-the-short-version-ja6</guid>
      <description><![CDATA[Password reset is where most apps leak. Here is a working Next.js 15 implementation, the 3 security mistakes I keep finding in code reviews, and a 12 line version using kavachOS.]]></description>
      <pubDate>Sat, 18 Apr 2026 20:45:52 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0di348qp164tni3vwu1.png" type="image/png" />
      <category><![CDATA[nextjs]]></category>
      <category><![CDATA[authentication]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[How to build a login flow in Next.js 15 (sessions, cookies, CSRF, and the timing attack nobody talks about)]]></title>
      <link>https://thegdsks.com/writing/how-to-build-a-login-flow-in-nextjs-15-sessions-cookies-csrf-and-the-timing-attack-nobody-33pm</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-to-build-a-login-flow-in-nextjs-15-sessions-cookies-csrf-and-the-timing-attack-nobody-33pm</guid>
      <description><![CDATA[A working login flow in Next.js 15. The form, the session cookie, CSRF, remember me, and a look at the constant-time comparison that keeps attackers from enumerating accounts.]]></description>
      <pubDate>Sat, 18 Apr 2026 20:42:22 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu0ch7qb7dmehk5wz4ptb.png" type="image/png" />
      <category><![CDATA[nextjs]]></category>
      <category><![CDATA[authentication]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[How to build a register user flow in Next.js 15 (frontend, backend, database, email)]]></title>
      <link>https://thegdsks.com/writing/how-to-build-a-register-user-flow-in-nextjs-15-frontend-backend-database-email-50b5</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-to-build-a-register-user-flow-in-nextjs-15-frontend-backend-database-email-50b5</guid>
      <description><![CDATA[A working register user flow in Next.js 15. Frontend form with real validation, a server endpoint that does the right things, the database schema, and the email verification handoff.]]></description>
      <pubDate>Sat, 18 Apr 2026 20:35:52 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzattoe4trqqcwdb67xjl.png" type="image/png" />
      <category><![CDATA[nextjs]]></category>
      <category><![CDATA[authentication]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[The 8 tables behind a real auth system (Postgres schema, explained column by column)]]></title>
      <link>https://thegdsks.com/writing/the-8-tables-behind-a-real-auth-system-postgres-schema-explained-column-by-column-4g6o</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/the-8-tables-behind-a-real-auth-system-postgres-schema-explained-column-by-column-4g6o</guid>
      <description><![CDATA[Day 2 of the auth from scratch series. The full Postgres schema for users, sessions, OAuth, reset tokens, magic links, verification, passkeys, and agent tokens. Every column, every index, every decision.]]></description>
      <pubDate>Sat, 18 Apr 2026 20:30:50 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fso7qrmr5sudaxvm6mki3.png" type="image/png" />
      <category><![CDATA[postgres]]></category>
      <category><![CDATA[authentication]]></category>
      <category><![CDATA[database]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[I've built auth six times. Here's the system I would build today]]></title>
      <link>https://thegdsks.com/writing/ive-built-auth-six-times-heres-the-system-i-would-build-today-5cpf</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/ive-built-auth-six-times-heres-the-system-i-would-build-today-5cpf</guid>
      <description><![CDATA[A 12 part series on building real authentication from scratch in Next.js and Postgres. Start here for the architecture, the tables you will need, and a diagram of the whole system]]></description>
      <pubDate>Sat, 18 Apr 2026 20:12:58 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F881yd3gwq0qrk7bawa5l.png" type="image/png" />
      <category><![CDATA[authentication]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[nextjs]]></category>
      <category><![CDATA[tutorial]]></category>
    </item>
    <item>
      <title><![CDATA[The Auth Tax: Why I Stopped Rebuilding Login Flows for Every Product]]></title>
      <link>https://thegdsks.com/blog/the-auth-tax</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/the-auth-tax</guid>
      <description><![CDATA[Every product I shipped in year one reimplemented auth. Year two I started extracting it. Year three I built my own service. Here is what that path actually cost, and when you should follow it.]]></description>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=The%20Auth%20Tax%3A%20Why%20I%20Stopped%20Rebuilding%20Login%20Flows%20for%20Every%20Product&amp;description=Every%20product%20I%20shipped%20in%20year%20one%20reimplemented%20auth.%20Year%20two%20I%20started%20extracting%20it.%20Year%20three%20I%20built%20my%20own%20service.%20Here%20is%20what%20that%20path%20actually%20cost%2C%20and%20when%20you%20should%20follow%20it." type="image/png" />
      <category><![CDATA[Auth]]></category>
      <category><![CDATA[Kavachos]]></category>
      <category><![CDATA[Architecture]]></category>
      <category><![CDATA[Solo Founder]]></category>
    </item>
    <item>
      <title><![CDATA[MCP Is the Actually Interesting AI Protocol of 2026]]></title>
      <link>https://thegdsks.com/blog/mcp-the-interesting-protocol</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/mcp-the-interesting-protocol</guid>
      <description><![CDATA[Everyone's chasing foundation models and agent frameworks. The quieter story is a protocol that's becoming the USB-C of AI tooling, and most devs are still sleeping on it.]]></description>
      <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=MCP%20Is%20the%20Actually%20Interesting%20AI%20Protocol%20of%202026&amp;description=Everyone&apos;s%20chasing%20foundation%20models%20and%20agent%20frameworks.%20The%20quieter%20story%20is%20a%20protocol%20that&apos;s%20becoming%20the%20USB-C%20of%20AI%20tooling%2C%20and%20most%20devs%20are%20still%20sleeping%20on%20it." type="image/png" />
      <category><![CDATA[MCP]]></category>
      <category><![CDATA[AI]]></category>
      <category><![CDATA[Protocols]]></category>
      <category><![CDATA[Agents]]></category>
    </item>
    <item>
      <title><![CDATA[Checking TLS cert expiry across your infrastructure]]></title>
      <link>https://thegdsks.com/writing/checking-tls-cert-expiry-across-your-infrastructure-2bf3</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/checking-tls-cert-expiry-across-your-infrastructure-2bf3</guid>
      <description><![CDATA[A cert expired on one of our staging services last month. Nobody noticed for two hours because our...]]></description>
      <pubDate>Wed, 15 Apr 2026 17:10:53 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjtitej55eycpq0honxs1.png" type="image/png" />
      <category><![CDATA[github]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[development]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[I stopped memorizing openssl flags]]></title>
      <link>https://thegdsks.com/writing/i-stopped-memorizing-openssl-flags-3h9p</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-stopped-memorizing-openssl-flags-3h9p</guid>
      <description><![CDATA[Every few weeks I need to do something with a certificate. Check when it expires. Look at what SANs...]]></description>
      <pubDate>Wed, 15 Apr 2026 17:07:02 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5n65sxku38ktv4osyznp.png" type="image/png" />
      <category><![CDATA[rust]]></category>
      <category><![CDATA[cli]]></category>
      <category><![CDATA[security]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[Your terminal is mass, here are 280+ tools to fix it]]></title>
      <link>https://thegdsks.com/writing/your-terminal-is-mass-here-are-280-tools-to-fix-it-4bc5</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/your-terminal-is-mass-here-are-280-tools-to-fix-it-4bc5</guid>
      <description><![CDATA[I replaced every classic Unix tool I use daily. Here's what I found.]]></description>
      <pubDate>Wed, 15 Apr 2026 04:58:17 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhlvexu35axyw6ixu5hk.png" type="image/png" />
      <category><![CDATA[showdev]]></category>
      <category><![CDATA[cli]]></category>
      <category><![CDATA[terminal]]></category>
      <category><![CDATA[opensource]]></category>
    </item>
    <item>
      <title><![CDATA[I Built a List of 284+ Modern CLI Tools (and What I Learned)]]></title>
      <link>https://thegdsks.com/blog/building-awesome-modern-cli</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-awesome-modern-cli</guid>
      <description><![CDATA[How I went from bookmarking random GitHub repos to curating a list that hit 150+ stars on day one.]]></description>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=I%20Built%20a%20List%20of%20284%2B%20Modern%20CLI%20Tools%20(and%20What%20I%20Learned)&amp;description=How%20I%20went%20from%20bookmarking%20random%20GitHub%20repos%20to%20curating%20a%20list%20that%20hit%20150%2B%20stars%20on%20day%20one." type="image/png" />
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[CLI]]></category>
      <category><![CDATA[Rust]]></category>
      <category><![CDATA[Developer Tools]]></category>
    </item>
    <item>
      <title><![CDATA[Your VS Code Extensions Are a Supply Chain Attack Surface]]></title>
      <link>https://thegdsks.com/writing/your-vs-code-extensions-are-a-supply-chain-attack-surface-3gp4</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/your-vs-code-extensions-are-a-supply-chain-attack-surface-3gp4</guid>
      <description><![CDATA[The GlassWorm campaign is targeting developer IDEs right now. Here's how to audit yours.]]></description>
      <pubDate>Mon, 13 Apr 2026 20:50:19 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsilycjvkyzkggtb26lom.png" type="image/png" />
      <category><![CDATA[security]]></category>
      <category><![CDATA[vscode]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[How I Built a Multi-Agent Code Review Pipeline]]></title>
      <link>https://thegdsks.com/writing/how-i-built-a-multi-agent-code-review-pipeline-2h7b</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-i-built-a-multi-agent-code-review-pipeline-2h7b</guid>
      <description><![CDATA[A practical guide to wiring up AI agents that review PRs before your team does]]></description>
      <pubDate>Mon, 13 Apr 2026 20:42:46 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=How%20I%20Built%20a%20Multi-Agent%20Code%20Review%20Pipeline&amp;description=A%20practical%20guide%20to%20wiring%20up%20AI%20agents%20that%20review%20PRs%20before%20your%20team%20does" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[github]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[How I Built a Multi-Agent Code Review Pipeline]]></title>
      <link>https://thegdsks.com/writing/how-i-built-a-multi-agent-code-review-pipeline-47i</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-i-built-a-multi-agent-code-review-pipeline-47i</guid>
      <description><![CDATA[A practical guide to wiring up AI agents that review PRs before your team does]]></description>
      <pubDate>Mon, 13 Apr 2026 04:03:50 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcc4oz8zpr8ck5qrh0m64.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[github]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[productivity]]></category>
    </item>
    <item>
      <title><![CDATA[Humanizing AI-Written Content: What a Rule Engine Actually Catches]]></title>
      <link>https://thegdsks.com/blog/humanizing-ai-written-content</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/humanizing-ai-written-content</guid>
      <description><![CDATA[I built a six-rule engine that scans my own blog drafts for AI-writing patterns. Three months in, here is what it catches that human editors miss, and why the rules are smaller than you would expect.]]></description>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Humanizing%20AI-Written%20Content%3A%20What%20a%20Rule%20Engine%20Actually%20Catches&amp;description=I%20built%20a%20six-rule%20engine%20that%20scans%20my%20own%20blog%20drafts%20for%20AI-writing%20patterns.%20Three%20months%20in%2C%20here%20is%20what%20it%20catches%20that%20human%20editors%20miss%2C%20and%20why%20the%20rules%20are%20smaller%20than%20you%20would%20expect." type="image/png" />
      <category><![CDATA[AI]]></category>
      <category><![CDATA[Writing]]></category>
      <category><![CDATA[Humanizer]]></category>
      <category><![CDATA[Content]]></category>
      <category><![CDATA[Dev Tools]]></category>
    </item>
    <item>
      <title><![CDATA[Parsing 11 languages in pure Go without CGO: how I replaced regex with a tree-sitter runtime]]></title>
      <link>https://thegdsks.com/writing/parsing-11-languages-in-pure-go-without-cgo-how-i-replaced-regex-with-a-tree-sitter-runtime-g04</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/parsing-11-languages-in-pure-go-without-cgo-how-i-replaced-regex-with-a-tree-sitter-runtime-g04</guid>
      <description><![CDATA[I had a problem. I was building a codebase indexer that needed to extract imports, exports, and type...]]></description>
      <pubDate>Fri, 10 Apr 2026 16:25:24 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4y6uwetgv8ncpzpg38vi.png" type="image/png" />
      <category><![CDATA[go]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[programming]]></category>
      <category><![CDATA[opensource]]></category>
    </item>
    <item>
      <title><![CDATA[I tested 4 codebase-to-AI tools on FastAPI (108k lines). Here are the token costs.]]></title>
      <link>https://thegdsks.com/writing/i-tested-4-codebase-to-ai-tools-on-fastapi-108k-lines-here-are-the-token-costs-4bmc</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-tested-4-codebase-to-ai-tools-on-fastapi-108k-lines-here-are-the-token-costs-4bmc</guid>
      <description><![CDATA[Stacklit on GitHub -- the tool I built after running these tests.      I have been using AI agents...]]></description>
      <pubDate>Fri, 10 Apr 2026 04:20:18 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frnbb64metttfgwbmzfqv.png" type="image/png" />
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[programming]]></category>
    </item>
    <item>
      <title><![CDATA[$0.60 per session, just on orientation. Here is what my AI agent was doing before writing any code.]]></title>
      <link>https://thegdsks.com/writing/060-per-session-just-on-orientation-here-is-what-my-ai-agent-was-doing-before-writing-any-code-28i5</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/060-per-session-just-on-orientation-here-is-what-my-ai-agent-was-doing-before-writing-any-code-28i5</guid>
      <description><![CDATA[GitHub: github.com/glincker/stacklit | npm: npx stacklit init      I have been counting.  Every time...]]></description>
      <pubDate>Fri, 10 Apr 2026 03:03:38 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8l63nqacrn3u43m69ydj.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[programming]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[Building Filagram: 28 File Tools That Never Touch a Server]]></title>
      <link>https://thegdsks.com/blog/building-filagram</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-filagram</guid>
      <description><![CDATA[How I built a browser-based file toolkit where everything runs client-side. No uploads, no server processing, no data leaves your browser.]]></description>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20Filagram%3A%2028%20File%20Tools%20That%20Never%20Touch%20a%20Server&amp;description=How%20I%20built%20a%20browser-based%20file%20toolkit%20where%20everything%20runs%20client-side.%20No%20uploads%2C%20no%20server%20processing%2C%20no%20data%20leaves%20your%20browser." type="image/png" />
      <category><![CDATA[Next.js]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[WASM]]></category>
      <category><![CDATA[Privacy]]></category>
      <category><![CDATA[Tools]]></category>
    </item>
    <item>
      <title><![CDATA[I Built a Self-Hosted AI Agent That Runs on a Raspberry Pi]]></title>
      <link>https://thegdsks.com/writing/i-built-a-self-hosted-ai-agent-that-runs-on-a-raspberry-pi-161e</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-built-a-self-hosted-ai-agent-that-runs-on-a-raspberry-pi-161e</guid>
      <description><![CDATA[profClaw is an open-source AI agent engine that runs on your hardware. 35 providers, 72 tools, 22 chat channels, and a full TUI.]]></description>
      <pubDate>Sun, 05 Apr 2026 04:48:25 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fse9t6hv1w6lvk08waw2w.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[devtools]]></category>
      <category><![CDATA[selfhosted]]></category>
    </item>
    <item>
      <title><![CDATA[Building Kavachos: Auth for AI Agents and Humans]]></title>
      <link>https://thegdsks.com/blog/building-kavachos</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-kavachos</guid>
      <description><![CDATA[Why I built Kavachos, an authentication system designed for the AI-native era with OAuth, MCP auth, and delegation chains.]]></description>
      <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20Kavachos%3A%20Auth%20for%20AI%20Agents%20and%20Humans&amp;description=Why%20I%20built%20Kavachos%2C%20an%20authentication%20system%20designed%20for%20the%20AI-native%20era%20with%20OAuth%2C%20MCP%20auth%2C%20and%20delegation%20chains." type="image/png" />
      <category><![CDATA[Auth]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[AI]]></category>
      <category><![CDATA[MCP]]></category>
      <category><![CDATA[Open Source]]></category>
    </item>
    <item>
      <title><![CDATA[Why I stopped uploading files to random websites (and what I use instead)]]></title>
      <link>https://thegdsks.com/writing/why-i-stopped-uploading-files-to-random-websites-and-what-i-use-instead-2kim</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/why-i-stopped-uploading-files-to-random-websites-and-what-i-use-instead-2kim</guid>
      <description><![CDATA[I found https://filagram.com/ and this is what happened -   Last month I needed to cut the background...]]></description>
      <pubDate>Sat, 04 Apr 2026 16:27:42 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj4hjvkpiadgz5y49dnoa.png" type="image/png" />
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[privacy]]></category>
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[Building BreathFlow: A Native iOS Breathing App with SwiftUI]]></title>
      <link>https://thegdsks.com/blog/building-breathflow</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-breathflow</guid>
      <description><![CDATA[Why I built a guided breathing app for iOS, and what I learned shipping SwiftUI with HealthKit, CloudKit, and SwiftData.]]></description>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20BreathFlow%3A%20A%20Native%20iOS%20Breathing%20App%20with%20SwiftUI&amp;description=Why%20I%20built%20a%20guided%20breathing%20app%20for%20iOS%2C%20and%20what%20I%20learned%20shipping%20SwiftUI%20with%20HealthKit%2C%20CloudKit%2C%20and%20SwiftData." type="image/png" />
      <category><![CDATA[SwiftUI]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[HealthKit]]></category>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Wellness]]></category>
    </item>
    <item>
      <title><![CDATA[5 open source auth libraries that actually handle AI agents (2026)]]></title>
      <link>https://thegdsks.com/writing/5-open-source-auth-libraries-that-actually-handle-ai-agents-2026-247c</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/5-open-source-auth-libraries-that-actually-handle-ai-agents-2026-247c</guid>
      <description><![CDATA[I needed auth for 50+ AI agents talking to MCP servers. Most libraries assume you're building a login page. Here's what actually worked.]]></description>
      <pubDate>Mon, 30 Mar 2026 19:52:00 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F914nh2847nxndyu2hy4e.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[security]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[opensource]]></category>
    </item>
    <item>
      <title><![CDATA[Add auth to your AI agents in 5 minutes with KavachOS]]></title>
      <link>https://thegdsks.com/writing/add-auth-to-your-ai-agents-in-5-minutes-with-kavachos-5b9k</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/add-auth-to-your-ai-agents-in-5-minutes-with-kavachos-5b9k</guid>
      <description><![CDATA[Auth libraries handle human sign-in. But what happens when your AI agent needs to read from GitHub,...]]></description>
      <pubDate>Mon, 30 Mar 2026 03:08:30 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiprutqmlq74h90f59xpc.png" type="image/png" />
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[typescript]]></category>
    </item>
    <item>
      <title><![CDATA[Building Stacklit: AI-Agent-Ready Codebase Indexes in 4k Tokens]]></title>
      <link>https://thegdsks.com/blog/building-stacklit</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-stacklit</guid>
      <description><![CDATA[How Stacklit compresses entire codebases into compact indexes that AI agents can actually use, replacing 400k+ token file dumps.]]></description>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20Stacklit%3A%20AI-Agent-Ready%20Codebase%20Indexes%20in%204k%20Tokens&amp;description=How%20Stacklit%20compresses%20entire%20codebases%20into%20compact%20indexes%20that%20AI%20agents%20can%20actually%20use%2C%20replacing%20400k%2B%20token%20file%20dumps." type="image/png" />
      <category><![CDATA[Go]]></category>
      <category><![CDATA[CLI]]></category>
      <category><![CDATA[AI]]></category>
      <category><![CDATA[Developer Tools]]></category>
      <category><![CDATA[Open Source]]></category>
    </item>
    <item>
      <title><![CDATA[Building Swift-Llama: Running LLMs Locally on Apple Silicon]]></title>
      <link>https://thegdsks.com/blog/building-swift-llama</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-swift-llama</guid>
      <description><![CDATA[How I wrapped llama.cpp in a native Swift API with Metal GPU acceleration for on-device LLM inference.]]></description>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20Swift-Llama%3A%20Running%20LLMs%20Locally%20on%20Apple%20Silicon&amp;description=How%20I%20wrapped%20llama.cpp%20in%20a%20native%20Swift%20API%20with%20Metal%20GPU%20acceleration%20for%20on-device%20LLM%20inference." type="image/png" />
      <category><![CDATA[Swift]]></category>
      <category><![CDATA[LLM]]></category>
      <category><![CDATA[Metal]]></category>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[AI]]></category>
    </item>
    <item>
      <title><![CDATA[Build Your First MCP Server in 20 Minutes, Give Any LLM Access to Your App's Data]]></title>
      <link>https://thegdsks.com/writing/build-your-first-mcp-server-in-20-minutes-give-any-llm-access-to-your-apps-data-47cg</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/build-your-first-mcp-server-in-20-minutes-give-any-llm-access-to-your-apps-data-47cg</guid>
      <description><![CDATA[Step-by-step tutorial: build an MCP server in TypeScript that lets Claude, GPT, or any LLM query your database and call your APIs.]]></description>
      <pubDate>Sat, 14 Mar 2026 05:38:55 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2byheqz0o34z8vaf2kz1.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[Building Glin-Profanity: A Multilingual Profanity Filter for 24+ Languages]]></title>
      <link>https://thegdsks.com/blog/building-glin-profanity</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-glin-profanity</guid>
      <description><![CDATA[How I built glin-profanity, a fast profanity detection library supporting 24+ languages with context-aware filtering, severity scoring, and MCP server integration.]]></description>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20Glin-Profanity%3A%20A%20Multilingual%20Profanity%20Filter%20for%2024%2B%20Languages&amp;description=How%20I%20built%20glin-profanity%2C%20a%20fast%20profanity%20detection%20library%20supporting%2024%2B%20languages%20with%20context-aware%20filtering%2C%20severity%20scoring%2C%20and%20MCP%20server%20integration." type="image/png" />
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[NLP]]></category>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[npm]]></category>
      <category><![CDATA[MCP]]></category>
    </item>
    <item>
      <title><![CDATA[Publishing 15+ npm Packages as a Solo Developer: What I Learned]]></title>
      <link>https://thegdsks.com/blog/npm-packages-solo-dev</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/npm-packages-solo-dev</guid>
      <description><![CDATA[Hard-won lessons from publishing across three npm scopes: monorepo trade-offs, versioning, CI/CD, MCP servers, and the download numbers that surprised me.]]></description>
      <pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Publishing%2015%2B%20npm%20Packages%20as%20a%20Solo%20Developer%3A%20What%20I%20Learned&amp;description=Hard-won%20lessons%20from%20publishing%20across%20three%20npm%20scopes%3A%20monorepo%20trade-offs%2C%20versioning%2C%20CI%2FCD%2C%20MCP%20servers%2C%20and%20the%20download%20numbers%20that%20surprised%20me." type="image/png" />
      <category><![CDATA[npm]]></category>
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Developer Tools]]></category>
      <category><![CDATA[MCP]]></category>
    </item>
    <item>
      <title><![CDATA[Building profClaw: An AI Agent Engine from Scratch]]></title>
      <link>https://thegdsks.com/blog/building-profclaw-engine</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-profclaw-engine</guid>
      <description><![CDATA[Why I built profClaw, a local-first AI agent engine that runs on Docker, VPS, or your laptop. Architecture decisions, deployment modes, and what I learned about agentic AI.]]></description>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20profClaw%3A%20An%20AI%20Agent%20Engine%20from%20Scratch&amp;description=Why%20I%20built%20profClaw%2C%20a%20local-first%20AI%20agent%20engine%20that%20runs%20on%20Docker%2C%20VPS%2C%20or%20your%20laptop.%20Architecture%20decisions%2C%20deployment%20modes%2C%20and%20what%20I%20learned%20about%20agentic%20AI." type="image/png" />
      <category><![CDATA[AI]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Agent]]></category>
      <category><![CDATA[profClaw]]></category>
      <category><![CDATA[Open Source]]></category>
    </item>
    <item>
      <title><![CDATA[I Tested Every Open-Source Brand SVG Library So You Don't Have To (2026 Edition)]]></title>
      <link>https://thegdsks.com/writing/i-tested-every-open-source-brand-svg-library-so-you-dont-have-to-2026-edition-3jcc</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-tested-every-open-source-brand-svg-library-so-you-dont-have-to-2026-edition-3jcc</guid>
      <description><![CDATA[4,000+ brand SVGs with dark mode variants, tree-shakeable npm packages, and AI assistant integration. Here are the 5 libraries actually worth using.]]></description>
      <pubDate>Tue, 10 Mar 2026 18:10:06 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy0hhvilij9hs189ph70r.png" type="image/png" />
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[svg]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[Generative Engine Optimization: Auditing Websites for AI-Readiness]]></title>
      <link>https://thegdsks.com/blog/generative-engine-optimization</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/generative-engine-optimization</guid>
      <description><![CDATA[What GEO is, why it matters for the AI search era, and how I built GeoKit to audit any website's AI-readiness with a 0-100 score.]]></description>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Generative%20Engine%20Optimization%3A%20Auditing%20Websites%20for%20AI-Readiness&amp;description=What%20GEO%20is%2C%20why%20it%20matters%20for%20the%20AI%20search%20era%2C%20and%20how%20I%20built%20GeoKit%20to%20audit%20any%20website&apos;s%20AI-readiness%20with%20a%200-100%20score." type="image/png" />
      <category><![CDATA[SEO]]></category>
      <category><![CDATA[AI]]></category>
      <category><![CDATA[GEO]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Developer Tools]]></category>
    </item>
    <item>
      <title><![CDATA[I Got Tired of Hunting for SVG Logos. So I Open-Sourced 4,000 of Them]]></title>
      <link>https://thegdsks.com/writing/i-got-tired-of-hunting-for-svg-logos-so-i-open-sourced-4000-of-them-4gno</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-got-tired-of-hunting-for-svg-logos-so-i-open-sourced-4000-of-them-4gno</guid>
      <description><![CDATA[theSVG hit 4,007 icons with dedicated dark/light variants, React components, an MCP server, and a free API. Here's what changed since launch.]]></description>
      <pubDate>Mon, 09 Mar 2026 20:13:37 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhw9vl730ex00rxg4xs4y.png" type="image/png" />
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[react]]></category>
    </item>
    <item>
      <title><![CDATA[I built an open-source library of 3,847 brand SVG icons. Here's the full developer toolkit]]></title>
      <link>https://thegdsks.com/writing/i-built-an-open-source-library-of-3847-brand-svg-icons-heres-the-full-developer-toolkit-1p1h</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-built-an-open-source-library-of-3847-brand-svg-icons-heres-the-full-developer-toolkit-1p1h</guid>
      <description><![CDATA[Every time I start a new project, the same thing happens.  I need a GitHub logo. I Google it. I find...]]></description>
      <pubDate>Mon, 09 Mar 2026 03:19:13 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbd5du3expo7zofksovqp.png" type="image/png" />
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[react]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[Launching theSVG: The Open SVG Brand Library]]></title>
      <link>https://thegdsks.com/blog/launching-thesvg</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/launching-thesvg</guid>
      <description><![CDATA[Why I built theSVG.org, a free library of 5,600+ brand SVGs with variants, an npm ecosystem, and an MCP server for AI assistants.]]></description>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Launching%20theSVG%3A%20The%20Open%20SVG%20Brand%20Library&amp;description=Why%20I%20built%20theSVG.org%2C%20a%20free%20library%20of%205%2C600%2B%20brand%20SVGs%20with%20variants%2C%20an%20npm%20ecosystem%2C%20and%20an%20MCP%20server%20for%20AI%20assistants." type="image/png" />
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[SVG]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Next.js]]></category>
      <category><![CDATA[Developer Tools]]></category>
    </item>
    <item>
      <title><![CDATA[The One-Person Studio Playbook: 15 Products In, Here Is What Actually Works]]></title>
      <link>https://thegdsks.com/blog/one-person-studio-playbook</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/one-person-studio-playbook</guid>
      <description><![CDATA[After shipping fifteen products solo across OSS and SaaS, the advice that looks good on Twitter keeps losing to the unglamorous parts. This is what I actually do, with the tradeoffs named.]]></description>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=The%20One-Person%20Studio%20Playbook%3A%2015%20Products%20In%2C%20Here%20Is%20What%20Actually%20Works&amp;description=After%20shipping%20fifteen%20products%20solo%20across%20OSS%20and%20SaaS%2C%20the%20advice%20that%20looks%20good%20on%20Twitter%20keeps%20losing%20to%20the%20unglamorous%20parts.%20This%20is%20what%20I%20actually%20do%2C%20with%20the%20tradeoffs%20named." type="image/png" />
      <category><![CDATA[Solo Founder]]></category>
      <category><![CDATA[OSS]]></category>
      <category><![CDATA[Productivity]]></category>
      <category><![CDATA[Indie Hacking]]></category>
    </item>
    <item>
      <title><![CDATA[Building FeaturedDrop: Feature Announcements That Don't Suck]]></title>
      <link>https://thegdsks.com/blog/building-featuredrop</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-featuredrop</guid>
      <description><![CDATA[Why I built FeaturedDrop, a lightweight library for in-app feature announcements and changelog drops.]]></description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20FeaturedDrop%3A%20Feature%20Announcements%20That%20Don&apos;t%20Suck&amp;description=Why%20I%20built%20FeaturedDrop%2C%20a%20lightweight%20library%20for%20in-app%20feature%20announcements%20and%20changelog%20drops." type="image/png" />
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[React]]></category>
      <category><![CDATA[npm]]></category>
    </item>
    <item>
      <title><![CDATA[FeatureDrop v3 — Your App Now Decides When and How to Show Features]]></title>
      <link>https://thegdsks.com/writing/featuredrop-v3-your-app-now-decides-when-and-how-to-show-features-588o</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/featuredrop-v3-your-app-now-decides-when-and-how-to-show-features-588o</guid>
      <description><![CDATA[A client-side behavioral engine that decides when and how to show features — no server, no data collection, works from session one. Open source Pendo alternative.]]></description>
      <pubDate>Sun, 01 Mar 2026 05:58:01 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs3ijj11skcqggqlrg6ly.png" type="image/png" />
      <category><![CDATA[react]]></category>
      <category><![CDATA[typescript]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[showdev]]></category>
    </item>
    <item>
      <title><![CDATA[How I Replaced $3,000/Year of SaaS With 50 Lines of Code - Building FeatureDrop]]></title>
      <link>https://thegdsks.com/writing/how-i-replaced-3000year-of-saas-with-50-lines-of-code-building-featuredrop-9ji</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-i-replaced-3000year-of-saas-with-50-lines-of-code-building-featuredrop-9ji</guid>
      <description><![CDATA[I open-sourced a full product adoption toolkit — changelogs, tours, checklists, feedback widgets. Here's the code, architecture, and why it's < 3 kB.]]></description>
      <pubDate>Sat, 28 Feb 2026 01:54:13 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Ffeaturedrop.dev%2Fog%2Fog.png" type="image/png" />
      <category><![CDATA[react]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[Why I Archive Repos Aggressively]]></title>
      <link>https://thegdsks.com/blog/why-i-archive-repos-aggressively</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/why-i-archive-repos-aggressively</guid>
      <description><![CDATA[The GitHub archive button is underrated. Archiving a dead repo is a gift to future-you, to every potential user who finds it, and to the repo itself. Here is the 60-second ritual I use.]]></description>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Why%20I%20Archive%20Repos%20Aggressively&amp;description=The%20GitHub%20archive%20button%20is%20underrated.%20Archiving%20a%20dead%20repo%20is%20a%20gift%20to%20future-you%2C%20to%20every%20potential%20user%20who%20finds%20it%2C%20and%20to%20the%20repo%20itself.%20Here%20is%20the%2060-second%20ritual%20I%20use." type="image/png" />
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[OSS]]></category>
      <category><![CDATA[Maintenance]]></category>
      <category><![CDATA[Solo Founder]]></category>
    </item>
    <item>
      <title><![CDATA[The Case for Boring Stacks: Why I Keep Reaching for Next.js and SQLite]]></title>
      <link>https://thegdsks.com/blog/the-case-for-boring-stacks</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/the-case-for-boring-stacks</guid>
      <description><![CDATA[Every product I have shipped in the last two years runs on the same boring stack. That is not a failure of curiosity. That is the point.]]></description>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=The%20Case%20for%20Boring%20Stacks%3A%20Why%20I%20Keep%20Reaching%20for%20Next.js%20and%20SQLite&amp;description=Every%20product%20I%20have%20shipped%20in%20the%20last%20two%20years%20runs%20on%20the%20same%20boring%20stack.%20That%20is%20not%20a%20failure%20of%20curiosity.%20That%20is%20the%20point." type="image/png" />
      <category><![CDATA[Stack]]></category>
      <category><![CDATA[Productivity]]></category>
      <category><![CDATA[Next.js]]></category>
      <category><![CDATA[SQLite]]></category>
      <category><![CDATA[Solo Founder]]></category>
    </item>
    <item>
      <title><![CDATA[Building Type-Safe APIs with Next.js and Zod]]></title>
      <link>https://thegdsks.com/blog/building-type-safe-apis</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/building-type-safe-apis</guid>
      <description><![CDATA[How I structure full-stack TypeScript APIs with runtime validation, type inference, and zero duplication between client and server.]]></description>
      <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Building%20Type-Safe%20APIs%20with%20Next.js%20and%20Zod&amp;description=How%20I%20structure%20full-stack%20TypeScript%20APIs%20with%20runtime%20validation%2C%20type%20inference%2C%20and%20zero%20duplication%20between%20client%20and%20server." type="image/png" />
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Next.js]]></category>
      <category><![CDATA[Zod]]></category>
      <category><![CDATA[API Design]]></category>
    </item>
    <item>
      <title><![CDATA[Rebuilding My Portfolio in 2026]]></title>
      <link>https://thegdsks.com/blog/hello-world</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/hello-world</guid>
      <description><![CDATA[Why I rebuilt my portfolio from scratch with Next.js 15, and lessons learned from shipping a modern developer portfolio.]]></description>
      <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Rebuilding%20My%20Portfolio%20in%202026&amp;description=Why%20I%20rebuilt%20my%20portfolio%20from%20scratch%20with%20Next.js%2015%2C%20and%20lessons%20learned%20from%20shipping%20a%20modern%20developer%20portfolio." type="image/png" />
      <category><![CDATA[Next.js]]></category>
      <category><![CDATA[Portfolio]]></category>
      <category><![CDATA[Web Development]]></category>
    </item>
    <item>
      <title><![CDATA[OpenClaw and Moltbook: $3,600/Month, WhatsApp Bans, and 923 Exposed Gateways. An Engineer's Breakdown.]]></title>
      <link>https://thegdsks.com/writing/openclaw-and-moltbook-3600month-whatsapp-bans-and-923-exposed-gateways-an-engineers-2jfn</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/openclaw-and-moltbook-3600month-whatsapp-bans-and-923-exposed-gateways-an-engineers-2jfn</guid>
      <description><![CDATA[I ran OpenClaw for two weeks. The tech is real. So is the $18.75 overnight bill, the WhatsApp bans, and the 923 exposed gateways. Here's everything the demo videos leave out.]]></description>
      <pubDate>Sat, 07 Feb 2026 08:03:34 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc3q98kqt1c49dvhry48i.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[opensource]]></category>
      <category><![CDATA[security]]></category>
      <category><![CDATA[programming]]></category>
    </item>
    <item>
      <title><![CDATA[Claude Opus 4.6 for Developers: Agent Teams, 1M Context, and What Actually Matters]]></title>
      <link>https://thegdsks.com/writing/claude-opus-46-for-developers-agent-teams-1m-context-and-what-actually-matters-4h8c</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/claude-opus-46-for-developers-agent-teams-1m-context-and-what-actually-matters-4h8c</guid>
      <description><![CDATA[Anthropic just shipped Claude Opus 4.6. The headlines focus on benchmarks and the 1M token context...]]></description>
      <pubDate>Thu, 05 Feb 2026 22:22:22 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiavvsck6gmnln1wkzrcd.png" type="image/png" />
      <category><![CDATA[productivity]]></category>
      <category><![CDATA[programming]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[webdev]]></category>
    </item>
    <item>
      <title><![CDATA[I tried OpenClaw, the 'free' AI agent. It cost me $500.]]></title>
      <link>https://thegdsks.com/writing/i-tried-the-free-ai-agent-with-124k-github-stars-heres-my-500-reality-check-2885</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/i-tried-the-free-ai-agent-with-124k-github-stars-heres-my-500-reality-check-2885</guid>
      <description><![CDATA[OpenClaw is open source and MIT licensed. Running it costs more than your Netflix and Spotify combined. Here's the math every tutorial skips.]]></description>
      <pubDate>Sun, 01 Feb 2026 22:28:39 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmzsjgpc2s4qmqmeqzi9u.png" type="image/png" />
      <category><![CDATA[ai]]></category>
      <category><![CDATA[openclaw]]></category>
      <category><![CDATA[agents]]></category>
      <category><![CDATA[opensource]]></category>
    </item>
    <item>
      <title><![CDATA[How to Use OpenClaw with Azure Foundry OpenAI Using LiteLLM Proxy]]></title>
      <link>https://thegdsks.com/writing/how-to-use-openclaw-with-azure-foundry-openai-using-litellm-proxy-nk0</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-to-use-openclaw-with-azure-foundry-openai-using-litellm-proxy-nk0</guid>
      <description><![CDATA[Connect OpenClaw AI coding agent to Azure OpenAI using LiteLLM proxy. Use your $5k Azure Sponsorship or MSDN credits with the 124k-star open-source AI assistant. Step-by-step guide with working config.]]></description>
      <pubDate>Sun, 01 Feb 2026 07:31:46 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsd3ss4b33qmh96g6uwyt.png" type="image/png" />
      <category><![CDATA[azure]]></category>
      <category><![CDATA[llm]]></category>
      <category><![CDATA[ai]]></category>
      <category><![CDATA[opensource]]></category>
    </item>
    <item>
      <title><![CDATA[How to Add Profanity Filtering to Your OpenClaw | Moltbot Clawdbot Agent]]></title>
      <link>https://thegdsks.com/writing/how-to-add-profanity-filtering-to-your-openclawmoltbotclawdbot-agent-hbi</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/how-to-add-profanity-filtering-to-your-openclawmoltbotclawdbot-agent-hbi</guid>
      <description><![CDATA[Building an AI agent with OpenClaw (formerly Moltbot or Clawdbot)? Your users will send all kinds of...]]></description>
      <pubDate>Sat, 31 Jan 2026 22:57:23 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66tazty4o06aptvs6m7b.png" type="image/png" />
      <category><![CDATA[openclaw]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[chatbot]]></category>
      <category><![CDATA[ai]]></category>
    </item>
    <item>
      <title><![CDATA[Expo SDK 55: The Day React Native Grew Up]]></title>
      <link>https://thegdsks.com/writing/expo-sdk-55-just-dropped-heres-why-react-native-will-never-be-the-same-141k</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/expo-sdk-55-just-dropped-heres-why-react-native-will-never-be-the-same-141k</guid>
      <description><![CDATA[It's 6 AM. Your phone buzzes. Not a notification—a Live Activity showing your Uber driver is 3...]]></description>
      <pubDate>Fri, 30 Jan 2026 20:50:36 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9afu2ltldp5u90z7ambm.png" type="image/png" />
      <category><![CDATA[reactnative]]></category>
      <category><![CDATA[ios]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[mobile]]></category>
    </item>
    <item>
      <title><![CDATA[AI in Production: Building AskVerdict from Zero to Launch]]></title>
      <link>https://thegdsks.com/blog/ai-in-production-askverdict</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/ai-in-production-askverdict</guid>
      <description><![CDATA[How I went from idea to shipping an AI-powered verdict engine: model selection, prompt engineering, hallucination handling, and the cost lessons that humbled me.]]></description>
      <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=AI%20in%20Production%3A%20Building%20AskVerdict%20from%20Zero%20to%20Launch&amp;description=How%20I%20went%20from%20idea%20to%20shipping%20an%20AI-powered%20verdict%20engine%3A%20model%20selection%2C%20prompt%20engineering%2C%20hallucination%20handling%2C%20and%20the%20cost%20lessons%20that%20humbled%20me." type="image/png" />
      <category><![CDATA[AI]]></category>
      <category><![CDATA[AskVerdict]]></category>
      <category><![CDATA[LLM]]></category>
      <category><![CDATA[Production]]></category>
    </item>
    <item>
      <title><![CDATA[Glin Profanity: A Practical Toolkit for Content Moderation]]></title>
      <link>https://thegdsks.com/writing/glin-profanity-a-practical-toolkit-for-content-moderation-l7n</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/glin-profanity-a-practical-toolkit-for-content-moderation-l7n</guid>
      <description><![CDATA[What is Glin-Profanity?   Glin-Profanity is an open-source content moderation library for...]]></description>
      <pubDate>Tue, 30 Dec 2025 23:48:42 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Glin%20Profanity%3A%20A%20Practical%20Toolkit%20for%20Content%20Moderation&amp;description=What%20is%20Glin-Profanity%3F%20%20%20Glin-Profanity%20is%20an%20open-source%20content%20moderation%20library%20for..." type="image/png" />
      <category><![CDATA[machinelearning]]></category>
      <category><![CDATA[python]]></category>
      <category><![CDATA[tooling]]></category>
      <category><![CDATA[javascript]]></category>
    </item>
    <item>
      <title><![CDATA[Microservices Migration: What Nobody Tells You]]></title>
      <link>https://thegdsks.com/blog/microservices-lessons</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/microservices-lessons</guid>
      <description><![CDATA[Real-world lessons from migrating a monolith to microservices: the wins, the pain points, and what I'd do differently.]]></description>
      <pubDate>Mon, 03 Nov 2025 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Microservices%20Migration%3A%20What%20Nobody%20Tells%20You&amp;description=Real-world%20lessons%20from%20migrating%20a%20monolith%20to%20microservices%3A%20the%20wins%2C%20the%20pain%20points%2C%20and%20what%20I&apos;d%20do%20differently." type="image/png" />
      <category><![CDATA[Microservices]]></category>
      <category><![CDATA[Architecture]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Spring Boot]]></category>
    </item>
    <item>
      <title><![CDATA[We Cut 70% Bundle Size: TanStack Query + Zustand at GLINR]]></title>
      <link>https://thegdsks.com/writing/we-cut-70-bundle-size-tanstack-query-zustand-at-glinr-2oj3</link>
      <guid isPermaLink="true">https://thegdsks.com/writing/we-cut-70-bundle-size-tanstack-query-zustand-at-glinr-2oj3</guid>
      <description><![CDATA[From Apollo's 50kb to 18kb total - Our migration journey with architecture diagrams]]></description>
      <pubDate>Sun, 02 Nov 2025 05:28:10 GMT</pubDate>
      <enclosure url="https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1555066931-4365d14bab8c%3Fw%3D1200" type="image/png" />
      <category><![CDATA[react]]></category>
      <category><![CDATA[javascript]]></category>
      <category><![CDATA[webdev]]></category>
      <category><![CDATA[architecture]]></category>
    </item>
    <item>
      <title><![CDATA[Scaling GLINCKER: Architecture Decisions That Shaped Our Platform]]></title>
      <link>https://thegdsks.com/blog/scaling-glincker-architecture</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/scaling-glincker-architecture</guid>
      <description><![CDATA[A case study in building a social platform from scratch: the stack choices, real-time trade-offs, moderation pipeline, and what I'd change if I started over.]]></description>
      <pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Scaling%20GLINCKER%3A%20Architecture%20Decisions%20That%20Shaped%20Our%20Platform&amp;description=A%20case%20study%20in%20building%20a%20social%20platform%20from%20scratch%3A%20the%20stack%20choices%2C%20real-time%20trade-offs%2C%20moderation%20pipeline%2C%20and%20what%20I&apos;d%20change%20if%20I%20started%20over." type="image/png" />
      <category><![CDATA[Architecture]]></category>
      <category><![CDATA[GLINCKER]]></category>
      <category><![CDATA[Spring Boot]]></category>
      <category><![CDATA[Scaling]]></category>
    </item>
    <item>
      <title><![CDATA[My Open Source Journey: From Side Projects to 10+ npm Packages]]></title>
      <link>https://thegdsks.com/blog/open-source-journey</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/open-source-journey</guid>
      <description><![CDATA[How building open-source tools at GLINCKER taught me more about software engineering than any job ever could.]]></description>
      <pubDate>Tue, 12 Aug 2025 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=My%20Open%20Source%20Journey%3A%20From%20Side%20Projects%20to%2010%2B%20npm%20Packages&amp;description=How%20building%20open-source%20tools%20at%20GLINCKER%20taught%20me%20more%20about%20software%20engineering%20than%20any%20job%20ever%20could." type="image/png" />
      <category><![CDATA[Open Source]]></category>
      <category><![CDATA[npm]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[GLINCKER]]></category>
    </item>
    <item>
      <title><![CDATA[Enterprise to Startup: Lessons from Building at Both Scales]]></title>
      <link>https://thegdsks.com/blog/enterprise-to-startup</link>
      <guid isPermaLink="true">https://thegdsks.com/blog/enterprise-to-startup</guid>
      <description><![CDATA[What I learned switching between enterprise systems at Ameriprise and building a startup from scratch with GLINCKER.]]></description>
      <pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate>
      <enclosure url="https://thegdsks.com/og?title=Enterprise%20to%20Startup%3A%20Lessons%20from%20Building%20at%20Both%20Scales&amp;description=What%20I%20learned%20switching%20between%20enterprise%20systems%20at%20Ameriprise%20and%20building%20a%20startup%20from%20scratch%20with%20GLINCKER." type="image/png" />
      <category><![CDATA[Architecture]]></category>
      <category><![CDATA[Startup]]></category>
      <category><![CDATA[Enterprise]]></category>
      <category><![CDATA[Career]]></category>
    </item>
  </channel>
</rss>