<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dw="https://davidwells.io/ns/feeds" dw:channel="projects" dw:property="dw_subscriber_projects" dw:form="1d3885aa-4473-4bf3-a4e2-e7394a85ca80">
  <script src="/feed-assets/feed-render.js" xmlns="http://www.w3.org/1999/xhtml"></script>
  <link rel="stylesheet" href="/feed-assets/feed.css" xmlns="http://www.w3.org/1999/xhtml"/>
  <channel>
    <title>David Wells - New projects</title>
    <link>https://davidwells.io</link>
    <atom:link href="https://davidwells.io/feeds/projects.xml" rel="self" type="application/rss+xml" />
    <description>New tools, demos, and package updates from David Wells.</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 23 Jun 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Devtools Utilities</title>
      <link>https://davidwells.io/projects/devtools-utilities</link>
      <guid isPermaLink="true">https://davidwells.io/projects/devtools-utilities</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>cli</category>
      <category>monorepo</category>
      <category>dev-tools</category>
      <description><![CDATA[A grouped set of CLI, monorepo, package-management, and workflow utilities for automating local development.]]></description>
    </item>
    <item>
      <title>@davidwells/dx-args</title>
      <link>https://davidwells.io/projects/dx-args</link>
      <guid isPermaLink="true">https://davidwells.io/projects/dx-args</guid>
      <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>cli</category>
      <category>parser</category>
      <category>dev-tools</category>
      <description><![CDATA[Forgiving argv parser for CLIs that accepts loose key/value syntax, globs, and typo-tolerant long flags.]]></description>
    </item>
    <item>
      <title>@davidwells/extract-deps</title>
      <link>https://davidwells.io/projects/extract-deps</link>
      <guid isPermaLink="true">https://davidwells.io/projects/extract-deps</guid>
      <pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>dev-tools</category>
      <category>static-analysis</category>
      <category>automation</category>
      <description><![CDATA[Dependency extraction utility for finding imports, requires, and exports in JavaScript and TypeScript code without AST parsing.]]></description>
    </item>
    <item>
      <title>Idempotent Requests Demo</title>
      <link>https://davidwells.io/projects/spike-idempotent-requests</link>
      <guid isPermaLink="true">https://davidwells.io/projects/spike-idempotent-requests</guid>
      <pubDate>Tue, 13 May 2025 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>aws</category>
      <category>serverless</category>
      <category>api-design</category>
      <category>reliability</category>
      <description><![CDATA[Demo showing retry-safe request flows on the client and server with idempotency keys.]]></description>
    </item>
    <item>
      <title>@davidwells/parse-time</title>
      <link>https://davidwells.io/projects/parse-time</link>
      <guid isPermaLink="true">https://davidwells.io/projects/parse-time</guid>
      <pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>dates</category>
      <category>parsing</category>
      <category>dev-tools</category>
      <description><![CDATA[Parser for turning messy human time strings into JavaScript Date objects.]]></description>
    </item>
    <item>
      <title>@davidwells/box-logger</title>
      <link>https://davidwells.io/projects/box-logger</link>
      <guid isPermaLink="true">https://davidwells.io/projects/box-logger</guid>
      <pubDate>Fri, 04 Apr 2025 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>cli</category>
      <category>terminal</category>
      <category>dev-tools</category>
      <description><![CDATA[Terminal formatting utility for boxes, headers, dividers, and structured CLI output.]]></description>
    </item>
    <item>
      <title>@davidwells/wait-for</title>
      <link>https://davidwells.io/projects/wait-for</link>
      <guid isPermaLink="true">https://davidwells.io/projects/wait-for</guid>
      <pubDate>Fri, 04 Apr 2025 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>dev-tools</category>
      <category>async</category>
      <category>reliability</category>
      <description><![CDATA[Flexible polling and retry utility for waiting on async systems with cancellation, backoff, callbacks, and timeouts.]]></description>
    </item>
    <item>
      <title>LLRT Lambda Runtime Spike</title>
      <link>https://davidwells.io/projects/spike-llrt-runtime</link>
      <guid isPermaLink="true">https://davidwells.io/projects/spike-llrt-runtime</guid>
      <pubDate>Mon, 03 Mar 2025 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>aws</category>
      <category>serverless</category>
      <category>aws-lambda</category>
      <category>runtime</category>
      <description><![CDATA[Example of using the AWS LLRT JavaScript runtime with Serverless Framework.]]></description>
    </item>
    <item>
      <title>Serverless ESM Functions with No Build Step</title>
      <link>https://davidwells.io/projects/serverless-esm-functions-no-build-example</link>
      <guid isPermaLink="true">https://davidwells.io/projects/serverless-esm-functions-no-build-example</guid>
      <pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>aws</category>
      <category>serverless</category>
      <category>aws-lambda</category>
      <category>esm</category>
      <description><![CDATA[Example project showing pure ESM AWS Lambda functions with Serverless Framework and no bundling step.]]></description>
    </item>
    <item>
      <title>@davidwells/smart-log</title>
      <link>https://davidwells.io/projects/smart-log</link>
      <guid isPermaLink="true">https://davidwells.io/projects/smart-log</guid>
      <pubDate>Sat, 13 Apr 2024 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>logging</category>
      <category>cli</category>
      <category>dev-tools</category>
      <description><![CDATA[Logging utility for CLIs with debug namespaces, JSON mode, silent mode, and log dumping.]]></description>
    </item>
    <item>
      <title>@davidwells/md-utils</title>
      <link>https://davidwells.io/projects/md-utils</link>
      <guid isPermaLink="true">https://davidwells.io/projects/md-utils</guid>
      <pubDate>Mon, 09 Oct 2023 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>markdown</category>
      <category>docs</category>
      <category>dev-tools</category>
      <description><![CDATA[Small markdown utility package for parsing and transforming markdown content.]]></description>
    </item>
    <item>
      <title>Types with JSDoc</title>
      <link>https://davidwells.io/projects/types-with-jsdocs</link>
      <guid isPermaLink="true">https://davidwells.io/projects/types-with-jsdocs</guid>
      <pubDate>Sat, 12 Jun 2021 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>javascript</category>
      <category>typescript</category>
      <category>docs</category>
      <description><![CDATA[Practical examples for getting TypeScript-style type checking in JavaScript projects through JSDoc.]]></description>
    </item>
    <item>
      <title>persist-previous-build-assets</title>
      <link>https://davidwells.io/projects/persist-previous-build-assets</link>
      <guid isPermaLink="true">https://davidwells.io/projects/persist-previous-build-assets</guid>
      <pubDate>Tue, 09 Mar 2021 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>build-tools</category>
      <category>deployment</category>
      <category>reliability</category>
      <description><![CDATA[Build utility that carries previous hashed assets into the latest deployment to reduce stale chunk failures.]]></description>
    </item>
    <item>
      <title>@davidwells/lerna-smart-run</title>
      <link>https://davidwells.io/projects/lerna-smart-run</link>
      <guid isPermaLink="true">https://davidwells.io/projects/lerna-smart-run</guid>
      <pubDate>Thu, 24 Dec 2020 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>monorepo</category>
      <category>ci</category>
      <category>dev-tools</category>
      <description><![CDATA[Lerna workflow utility for running package scripts only where changes require them.]]></description>
    </item>
    <item>
      <title>@davidwells/glob-utils</title>
      <link>https://davidwells.io/projects/glob-utils</link>
      <guid isPermaLink="true">https://davidwells.io/projects/glob-utils</guid>
      <pubDate>Sat, 27 Jun 2020 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>dev-tools</category>
      <category>files</category>
      <category>automation</category>
      <description><![CDATA[File discovery utility that accepts glob strings and regular expressions for flexible project scanning.]]></description>
    </item>
    <item>
      <title>React Component Primitives</title>
      <link>https://davidwells.io/projects/react-component-primitives</link>
      <guid isPermaLink="true">https://davidwells.io/projects/react-component-primitives</guid>
      <pubDate>Sat, 27 Jun 2020 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>react</category>
      <category>components</category>
      <category>dev-tools</category>
      <description><![CDATA[Reusable React component primitives for forms, layout, icons, inputs, selects, and DOM building blocks.]]></description>
    </item>
    <item>
      <title>Style Guard</title>
      <link>https://davidwells.io/projects/style-guard</link>
      <guid isPermaLink="true">https://davidwells.io/projects/style-guard</guid>
      <pubDate>Sat, 18 Jan 2020 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>css</category>
      <category>dev-tools</category>
      <category>frontend</category>
      <description><![CDATA[CSS Modules safety tooling that throws in development when code references missing class names.]]></description>
    </item>
    <item>
      <title>git-er-done</title>
      <link>https://davidwells.io/projects/git-er-done</link>
      <guid isPermaLink="true">https://davidwells.io/projects/git-er-done</guid>
      <pubDate>Wed, 11 Dec 2019 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>git</category>
      <category>ci</category>
      <category>dev-tools</category>
      <description><![CDATA[Git change detection utility for finding modified, created, and deleted files since a commit or branch.]]></description>
    </item>
    <item>
      <title>safe-await</title>
      <link>https://davidwells.io/projects/safe-await</link>
      <guid isPermaLink="true">https://davidwells.io/projects/safe-await</guid>
      <pubDate>Sun, 07 Jul 2019 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>javascript</category>
      <category>async</category>
      <category>dev-tools</category>
      <description><![CDATA[Small JavaScript utility for working with async/await without wrapping every call in repetitive try/catch blocks.]]></description>
    </item>
    <item>
      <title>Icon Pipeline</title>
      <link>https://davidwells.io/projects/icon-pipeline</link>
      <guid isPermaLink="true">https://davidwells.io/projects/icon-pipeline</guid>
      <pubDate>Tue, 08 Jan 2019 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>frontend</category>
      <category>build-tools</category>
      <category>icons</category>
      <description><![CDATA[SVG icon build pipeline for optimizing icon sets and generating sprites for product interfaces.]]></description>
    </item>
    <item>
      <title>Analytics</title>
      <link>https://davidwells.io/projects/analytics</link>
      <guid isPermaLink="true">https://davidwells.io/projects/analytics</guid>
      <pubDate>Wed, 24 Oct 2018 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>analytics</category>
      <category>dev-tools</category>
      <category>product-telemetry</category>
      <description><![CDATA[Lightweight analytics abstraction for page views, custom events, identify calls, and provider plugins.]]></description>
    </item>
    <item>
      <title>Configorama</title>
      <link>https://davidwells.io/projects/configorama</link>
      <guid isPermaLink="true">https://davidwells.io/projects/configorama</guid>
      <pubDate>Tue, 18 Sep 2018 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>configuration</category>
      <category>dev-tools</category>
      <category>automation</category>
      <description><![CDATA[Configuration loader with variable interpolation for making config files reusable across environments.]]></description>
    </item>
    <item>
      <title>Markdown Magic</title>
      <link>https://davidwells.io/projects/markdown-magic</link>
      <guid isPermaLink="true">https://davidwells.io/projects/markdown-magic</guid>
      <pubDate>Sat, 03 Dec 2016 00:00:00 GMT</pubDate>
      <dc:creator>David Wells</dc:creator>
      <category>markdown</category>
      <category>docs</category>
      <category>automation</category>
      <description><![CDATA[Markdown automation tool that keeps docs, README sections, code examples, and generated content in sync.]]></description>
    </item>
  </channel>
</rss>
