<?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 GLINCKER. I architect distributed systems at scale and build open-source tools that developers actually use.</description>
    <language>en-us</language>
    <lastBuildDate>Sat, 25 Apr 2026 11:21:57 GMT</lastBuildDate>
    <atom:link href="https://thegdsks.com/feed.xml" rel="self" type="application/rss+xml" />
    <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. Here's My $500 Reality Check.]]></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 promised autonomous AI magic. My wallet learned the truth. Here's what every tutorial leaves out about AI agent economics."]]></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[openai]]></category>
      <category><![CDATA[tutorial]]></category>
      <category><![CDATA[programming]]></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>