Projects
Open-source packages, developer tools, demos, and examples. This is the artifact index: reusable work, experiments, and practical proof that sits next to the longer case studies in /work.
Get new projects
New tools, demos, and package updates when they are worth sending.
Featured packages and tools
A short list of the projects that best represent the shape of this work.
Analytics
Lightweight analytics abstraction for page views, custom events, identify calls, and provider plugins.
Markdown Magic
Markdown automation tool that keeps docs, README sections, code examples, and generated content in sync.
Configorama
Configuration loader with variable interpolation for making config files reusable across environments.
@davidwells/dx-args
Forgiving argv parser for CLIs that accepts loose key/value syntax, globs, and typo-tolerant long flags.
@davidwells/extract-deps
Dependency extraction utility for finding imports, requires, and exports in JavaScript and TypeScript code without AST parsing.
@davidwells/wait-for
Flexible polling and retry utility for waiting on async systems with cancellation, backoff, callbacks, and timeouts.
Analytics ecosystem
Core analytics library, utility packages, plugins, and integrations.
Analytics
Lightweight analytics abstraction for page views, custom events, identify calls, and provider plugins.
@analytics/activity-utils
User activity listener utilities.
@analytics/cookie-utils
Tiny cookie utility library.
@analytics/form-utils
Form utility library for managing HTML form submissions & values.
@analytics/global-storage-utils
Tiny global storage utility library.
@analytics/listener-utils
Backward compatible event listener library for attaching & detaching event handlers.
@analytics/localstorage-utils
Tiny LocalStorage utility library.
@analytics/queue-utils
Dependency free queue processor.
@analytics/redact-utils
Utility library for redacting event data.
@analytics/remote-storage-utils
Storage utilities for cross domain localStorage access, with permissions.
@analytics/router-utils
Route change utilities for single page apps.
@analytics/scroll-utils
Scroll utility library to fire events on scroll.
@analytics/session-storage-utils
Tiny SessionStorage utility library.
@analytics/session-utils
Tiny session utility library.
@analytics/storage-utils
Storage utility with fallbacks.
@analytics/type-utils
Tiny runtime type checking utils.
@analytics/url-utils
URL utils.
@analytics/visitor-source
Get visitor source.
analytics-util-params
URL parameter helper functions.
Markdown and content automation
Documentation generators, markdown sync tools, parsers, and content APIs.
Markdown Magic
Markdown automation tool that keeps docs, README sections, code examples, and generated content in sync.
@davidwells/md-utils
Small markdown utility package for parsing and transforming markdown content.
comment-block-migrator
Migration utility for updating Markdown Magic comment block syntax across markdown files.
comment-block-parser
Comment-block parser used by Markdown Magic to find automation blocks in markdown and source files.
comment-block-replacer
File replacement utility for processing comment blocks and writing generated content back to disk.
comment-block-transformer
Transform engine for applying configured Markdown Magic-style comment block transforms.
doxxx
JSDoc documentation generator for turning annotated JavaScript into generated docs.
Configuration, CI, and platform tooling
Deployment manifests, serverless helpers, config loaders, cache tools, and infrastructure utilities.
Configorama
Configuration loader with variable interpolation for making config files reusable across environments.
@davidwells/lerna-smart-run
Lerna workflow utility for running package scripts only where changes require them.
cache-me-outside
Caching utility for speeding up repeated CI builds and deployment workflows.
ddb-migration-tools
Stage-aware DynamoDB migration tooling for TypeScript serverless projects.
env-stage-loader
Environment loader that resolves .env files by NODE_ENV with stage-local override support.
git-er-done
Git change detection utility for finding modified, created, and deleted files since a commit or branch.
Frontend, CSS, and component tooling
React primitives, CSS build helpers, responsive style tools, and icon pipelines.
Icon Pipeline
SVG icon build pipeline for optimizing icon sets and generating sprites for product interfaces.
persist-previous-build-assets
Build utility that carries previous hashed assets into the latest deployment to reduce stale chunk failures.
React Component Primitives
Reusable React component primitives for forms, layout, icons, inputs, selects, and DOM building blocks.
Style Guard
CSS Modules safety tooling that throws in development when code references missing class names.
CLI and developer utilities
Parsers, terminal helpers, filesystem utilities, git tools, and monorepo automation.
@davidwells/dx-args
Forgiving argv parser for CLIs that accepts loose key/value syntax, globs, and typo-tolerant long flags.
@davidwells/box-logger
Terminal formatting utility for boxes, headers, dividers, and structured CLI output.
@davidwells/extract-deps
Dependency extraction utility for finding imports, requires, and exports in JavaScript and TypeScript code without AST parsing.
@davidwells/fs-utils
Small reusable file-system utilities for Node.js scripts and developer tools.
@davidwells/git-split-diffs
Terminal diff viewer for splitting git diffs into clearer side-by-side review output.
@davidwells/glob-utils
File discovery utility that accepts glob strings and regular expressions for flexible project scanning.
@davidwells/matcher
Flexible matching utility for strings, regular expressions, functions, arrays, and object criteria.
@davidwells/parse-time
Parser for turning messy human time strings into JavaScript Date objects.
@davidwells/smart-log
Logging utility for CLIs with debug namespaces, JSON mode, silent mode, and log dumping.
@davidwells/wait-for
Flexible polling and retry utility for waiting on async systems with cancellation, backoff, callbacks, and timeouts.
cron-burgundy
Simple macOS cron manager with missed-job recovery for local automation workflows.
Devtools Utilities
A grouped set of CLI, monorepo, package-management, and workflow utilities for automating local development.
gitignore-utils
JavaScript utility for safely adding missing rules to .gitignore files from automation scripts.
glob-monster
Older file globber utility that understands regular expressions for project file discovery.
json-alexander
Forgiving JSON parser for reading messy JSON-like input without failing on every human mistake.
safe-await
Small JavaScript utility for working with async/await without wrapping every call in repetitive try/catch blocks.
Demos and examples
Runnable examples, experiments, and proof-of-concept applications.
Idempotent Requests Demo
Demo showing retry-safe request flows on the client and server with idempotency keys.
LLRT Lambda Runtime Spike
Example of using the AWS LLRT JavaScript runtime with Serverless Framework.
Serverless ESM Functions with No Build Step
Example project showing pure ESM AWS Lambda functions with Serverless Framework and no bundling step.
Types with JSDoc
Practical examples for getting TypeScript-style type checking in JavaScript projects through JSDoc.