# Jeff Wainwright Projects > Open source projects and software engineering work by Jeff Wainwright. Catalog JSON: https://yowainwright.github.io/projects/projects.json ## Koa.js Next-gen web framework for Node.js Active contributor to Koa, the expressive HTTP middleware framework for Node.js. Contributions include security fixes, memory leak patches, stream cleanup improvements, and documentation updates. Part of the core maintenance team. - Page: https://yowainwright.github.io/projects/#koa - Technologies: Node.js, HTTP, Middleware, Backend - GitHub: https://github.com/koajs/koa - npm: https://www.npmjs.com/package/koa - Website: https://koajs.com - GitHub stars: 35,694 - Highlight: Fixed redirect vulnerability - Highlight: Resolved memory leak (issue-1834) - Highlight: Stream cleanup improvements - Highlight: Documentation refresh ## Postmate Promise-based postMessage library Major contributor to Postmate, a powerful and simple promise-based postMessage library for cross-origin iframe communication. Contributions include the call queue feature, bug fixes, and version management. Part of Dollar Shave Club engineering. - Page: https://yowainwright.github.io/projects/#postmate - Technologies: JavaScript, postMessage, iframes, Cross-origin - GitHub: https://github.com/dollarshaveclub/postmate - npm: https://www.npmjs.com/package/postmate - GitHub stars: 1,916 - Highlight: Call queue feature - Highlight: Context passing fixes - Highlight: Classes support - Highlight: 29+ merged PRs ## JSPM Native ES module package management Contributor to JSPM, providing native ES module workflows for JavaScript. Contributions include the Node.js import map loader, import-map package development, website improvements, and organization support. - Page: https://yowainwright.github.io/projects/#jspm - Technologies: TypeScript, ESM, Import Maps, Node.js - GitHub: https://github.com/jspm/node-importmap-loader - GitHub: https://github.com/jspm/jspm.org - GitHub: https://github.com/jspm/import-map - Website: https://jspm.org - GitHub stars: 78 - Highlight: Node.js import map loader - Highlight: Import map package development - Highlight: Website improvements - Highlight: Organization support ## Lifecycle Ephemeral PR environments Transforms pull requests into ephemeral development environments that seamlessly connect to required dependencies while remaining isolated from unrelated changes. Enables development, testing, design review, and external sandboxes from any PR. - Page: https://yowainwright.github.io/projects/#lifecycle - Technologies: TypeScript, Kubernetes, DevOps, CI/CD - GitHub: https://github.com/goodrxoss/lifecycle - Website: https://goodrxoss.github.io/lifecycle-docs - GitHub stars: 79 - Highlight: Isolated PR environments - Highlight: Kubernetes + Docker integration - Highlight: Design review workflows - Highlight: Partner sandbox environments ## Shave Zero-dependency text truncation A lightweight JavaScript utility for truncating multi-line text to fit within HTML elements based on a specified maximum height. Preserves original text content by storing truncated portions in a hidden element. Uses binary search for optimal performance. - Page: https://yowainwright.github.io/projects/#shave - Technologies: TypeScript, DOM, Text, UI - GitHub: https://github.com/dollarshaveclub/shave - GitHub: https://github.com/yowainwright/shave - npm: https://www.npmjs.com/package/shave - Website: https://github.com/yowainwright/shave - GitHub stars: 2,258 - Highlight: Zero dependencies, ~1.5KB - Highlight: Preserves original content - Highlight: Multi-language support (CJK) - Highlight: jQuery/Zepto plugin available ## Codependence Precision dependency version control A JavaScript utility for managing specified dependency versions in projects. Compares a codependencies array against package.json to verify critical dependencies match desired versions. Works across single projects and monorepos. - Page: https://yowainwright.github.io/projects/#codependence - Technologies: TypeScript, CLI, Dependencies, Monorepo - GitHub: https://github.com/yowainwright/codependence - npm: https://www.npmjs.com/package/codependence - Website: https://jeffry.in/codependence/ - GitHub stars: 20 - Highlight: Pin specific dependencies - Highlight: Permissive mode for latest versions - Highlight: Package manager agnostic - Highlight: Interactive init command ## Stickybits Lightweight sticky positioning polyfill A lightweight alternative to position: sticky polyfills. Stickybits enables elements to remain visible while scrolling, then stop at their parent container boundary. It prioritizes native CSS support when available and only adds scroll listeners when necessary. - Page: https://yowainwright.github.io/projects/#stickybits - Technologies: JavaScript, CSS, DOM, Polyfill - GitHub: https://github.com/dollarshaveclub/stickybits - GitHub: https://github.com/yowainwright/stickybits - npm: https://www.npmjs.com/package/stickybits - Website: https://github.com/yowainwright/stickybits - GitHub stars: 2,413 - Highlight: Smart CSS support detection - Highlight: Adds styling classes for sticky states - Highlight: Zero dependencies, ~1KB - Highlight: Configurable offset and scroll container ## Reframe.js Make embedded content responsive A lightweight plugin that makes unresponsive elements like embedded videos and iframes scale responsively at a fixed aspect ratio. Wraps elements in a container with intrinsic ratio sizing. Inspired by FitVids but jQuery-free. - Page: https://yowainwright.github.io/projects/#reframe - Technologies: JavaScript, CSS, Responsive, Embeds - GitHub: https://github.com/dollarshaveclub/reframe.js - GitHub: https://github.com/yowainwright/reframe.js - npm: https://www.npmjs.com/package/reframe.js - Website: https://github.com/yowainwright/reframe.js - GitHub stars: 1,650 - Highlight: jQuery-free implementation - Highlight: Noframe.js variant (no DOM manipulation) - Highlight: ~1.3KB unminified - Highlight: Works with iframes and videos ## Pastoralist Automated dependency override management A CLI tool that automates management of package.json dependency overrides, resolutions, and patches. Implements set-it-and-forget-it automation for security management, tracking why each override exists, and cleanup of unused overrides. - Page: https://yowainwright.github.io/projects/#pastoralist - Technologies: TypeScript, CLI, Security, Dependencies - GitHub: https://github.com/yowainwright/pastoralist - npm: https://www.npmjs.com/package/pastoralist - Website: https://jeffry.in/pastoralist/ - GitHub stars: 106 - Highlight: Automatic vulnerability scanning - Highlight: Multi-provider support (OSV, GitHub, Snyk) - Highlight: Monorepo ready - Highlight: Zero maintenance via postinstall ## ES-Check Validate JavaScript ES version compatibility ES-Check validates JavaScript files against specified ECMAScript versions, catching untranspiled code before production. It checks syntax by default and optionally validates ES version-specific features. Essential for build pipelines to ensure browser compatibility. - Page: https://yowainwright.github.io/projects/#es-check - Technologies: TypeScript, CLI, Build Tools, Transpilation - GitHub: https://github.com/yowainwright/es-check - npm: https://www.npmjs.com/package/es-check - Website: https://jeffry.in/es-check/ - GitHub stars: 214 - Highlight: Validates ES3 through ES2023 - Highlight: Feature detection with --checkFeatures - Highlight: Browserslist integration - Highlight: Programmatic API available ## Common Utilities Typed functional utilities Simple typed utilities generally written in a functional style for learning and practical use. Provides a collection of commonly needed helper functions with full TypeScript support. - Page: https://yowainwright.github.io/projects/#common-utilities - Technologies: TypeScript, Functional, Utilities - GitHub: https://github.com/yowainwright/common-utilities - npm: https://www.npmjs.com/package/common-utilities - Website: https://yowainwright.gitbook.io/common-utilities/ - GitHub stars: 29 - Highlight: Functional style - Highlight: Fully typed - Highlight: Learning-focused ## Datastructures Functional typed data structures Simple functional typed data structures for JavaScript/TypeScript. Provides immutable, type-safe implementations of common data structures following functional programming principles. - Page: https://yowainwright.github.io/projects/#datastructures - Technologies: TypeScript, Functional, Data Structures - GitHub: https://github.com/yowainwright/datastructures - GitHub stars: 10 - Highlight: Functional approach - Highlight: Fully typed - Highlight: Immutable by design ## ScrollDir CSS-driven scroll direction detection A lightweight JavaScript utility that detects vertical scroll direction and applies it via a CSS data attribute. Enables developers to style elements based on scroll direction without complex JavaScript. Perfect for hiding/showing sticky navigation. - Page: https://yowainwright.github.io/projects/#scrolldir - Technologies: JavaScript, CSS, DOM, Navigation - GitHub: https://github.com/dollarshaveclub/scrolldir - GitHub: https://github.com/yowainwright/scrolldir - npm: https://www.npmjs.com/package/scrolldir - Website: https://github.com/yowainwright/scrolldir - GitHub stars: 690 - Highlight: Zero dependencies, ~1KB - Highlight: Configurable threshold - Highlight: Auto and manual modes - Highlight: CSS data attribute driven ## Build Lambda Layer AWS Lambda layer builder Build awesome Node.js Lambda layers with control. Provides tooling to create and manage AWS Lambda layers for Node.js applications with fine-grained control over the build process. - Page: https://yowainwright.github.io/projects/#build-lambda-layer - Technologies: TypeScript, AWS, Lambda, Serverless - GitHub: https://github.com/yowainwright/build-lambda-layer - GitHub stars: 6 - Highlight: Node.js Lambda layers - Highlight: Build control - Highlight: AWS integration ## stdoutToJSON Transform stdout to JSON Transforms stdout output to JSON format. Useful for parsing command line output and converting it to structured data for further processing. - Page: https://yowainwright.github.io/projects/#stdouttojson - Technologies: TypeScript, CLI, JSON, Parsing - GitHub: https://github.com/yowainwright/stdoutToJSON - npm: https://www.npmjs.com/package/stdouttojson - GitHub stars: 5 - Highlight: Stdout parsing - Highlight: JSON output - Highlight: CLI integration ## Macrustle Mac setup instructions for devs Super basic setup instructions "rustled up" for coding on a Mac. A quick reference guide for setting up a development environment on macOS. - Page: https://yowainwright.github.io/projects/#macrustle - Technologies: Documentation, macOS, Setup - GitHub: https://github.com/yowainwright/macrustle - GitHub stars: 4 - Highlight: Mac setup guide - Highlight: Dev environment - Highlight: Quick reference ## install-perfection Install dependencies with control Install dependencies with control. Manage dependency installation with size awareness and folder management capabilities. - Page: https://yowainwright.github.io/projects/#install-perfection - Technologies: CLI, Dependencies, Package Management, Utilities - GitHub: https://github.com/yowainwright/install-perfection - GitHub stars: 3 - Highlight: Controlled installation - Highlight: Size awareness - Highlight: Folder management - Highlight: Dependency tracking ## Merge TSConfigs Merge TypeScript config files A CLI or Node function for merging tsconfig files. Useful for managing complex TypeScript projects with multiple configuration files that need to be combined. - Page: https://yowainwright.github.io/projects/#merge-tsconfigs - Technologies: TypeScript, CLI, Config - GitHub: https://github.com/yowainwright/merge-tsconfigs - GitHub stars: 3 - Highlight: TSConfig merging - Highlight: CLI and API - Highlight: Config management ## sassimple Fill CSS gaps with sass mixins Fill in your CSS gaps with sass mixins simply. A collection of useful Sass mixins for common styling patterns and utilities. - Page: https://yowainwright.github.io/projects/#sassimple - Technologies: Sass, CSS, Mixins, Styling - GitHub: https://github.com/yowainwright/sassimple - GitHub stars: 12 - Highlight: Utility mixins - Highlight: Common patterns - Highlight: Easy to use - Highlight: Lightweight ## Fast Brake Quick JS checker for builds A quick JavaScript checker to keep your builds right. Validates JavaScript files during the build process to catch issues early and prevent broken deployments. - Page: https://yowainwright.github.io/projects/#fast-brake - Technologies: TypeScript, CLI, Build Tools - GitHub: https://github.com/yowainwright/fast-brake - Website: https://jeffry.in/fast-brake/ - GitHub stars: 1 - Highlight: Build validation - Highlight: Fast checks - Highlight: CI integration ## Awesome Writing Tools Curated list of writing tools A curated list of awesome tools for improving written communication. Includes grammar checkers, style guides, markdown editors, and more. - Page: https://yowainwright.github.io/projects/#awesome-writing-tools - Technologies: Awesome List, Writing, Tools, Documentation - GitHub: https://github.com/yowainwright/awesome-writing-tools - GitHub stars: 161 - Highlight: Grammar and style tools - Highlight: Markdown editors - Highlight: Documentation helpers - Highlight: Writing aids ## LogsDX Log streaming with DX focus Log streaming utility with developer experience at its core. Provides intuitive log streaming capabilities designed to make debugging and monitoring more pleasant. - Page: https://yowainwright.github.io/projects/#logsdx - Technologies: TypeScript, CLI, Logging, DX - GitHub: https://github.com/yowainwright/logsdx - Website: https://jeffry.in/logsdx/ - GitHub stars: 3 - Highlight: DX-focused - Highlight: Log streaming - Highlight: Developer tooling ## md-page-to-json Convert markdown to json An ESM snippet for converting markdown with frontmatter to JSON. Parse and transform markdown files into structured data. - Page: https://yowainwright.github.io/projects/#md-page-to-json - Technologies: Markdown, JSON, ESM, Utilities - GitHub: https://github.com/yowainwright/md-page-to-json - GitHub stars: 1 - Highlight: Frontmatter parsing - Highlight: JSON output - Highlight: ESM module - Highlight: Simple API ## Mini Cookies Minimal document.cookie wrapper A minimal Document.cookie package providing a clean API for cookie management in the browser. Lightweight and straightforward for basic cookie operations. - Page: https://yowainwright.github.io/projects/#mini-cookies - Technologies: TypeScript, Browser, Cookies - GitHub: https://github.com/yowainwright/mini-cookies - npm: https://www.npmjs.com/package/mini-cookies - Website: https://jeffry.in/mini-cookies/ - GitHub stars: 11 - Highlight: Zero dependencies - Highlight: Simple API - Highlight: TypeScript support ## diu Package manager manager WIP: Do I Use - a package manager manager that helps track and manage dependencies across different package managers. - Page: https://yowainwright.github.io/projects/#diu - Technologies: CLI, Package Manager, Dependencies - GitHub: https://github.com/yowainwright/diu - GitHub stars: 1 - Highlight: Multi-package manager support - Highlight: Dependency tracking - Highlight: Usage analysis ## 1ls One-line scripts for CLI One-line-script utility for the command line. Provides a streamlined way to create and execute single-line scripts, simplifying common CLI tasks. - Page: https://yowainwright.github.io/projects/#1ls - Technologies: TypeScript, CLI, Scripting - GitHub: https://github.com/yowainwright/1ls - Website: https://jeffry.in/1ls/ - GitHub stars: 1 - Highlight: One-line scripts - Highlight: CLI utility - Highlight: Task automation ## Intrinsic Dependencies Protect invisible required deps A simple utility ensuring invisible but required Node.js dependencies are not removed. Prevents accidental removal of critical transitive dependencies that your code relies on. - Page: https://yowainwright.github.io/projects/#intrinsic-dependencies - Technologies: TypeScript, CLI, Dependencies - GitHub: https://github.com/yowainwright/intrinsic-dependencies - GitHub stars: 3 - Highlight: Dependency protection - Highlight: Build safety - Highlight: Transitive deps ## Developer CI Benefits CI benefits talk docs Talk documentation covering Continuous Integration benefits, descriptions, and setup tips. Resources for understanding and implementing CI/CD. - Page: https://yowainwright.github.io/projects/#developer-ci-benefits - Technologies: CI/CD, Documentation, DevOps, Testing - GitHub: https://github.com/yowainwright/developer-ci-benefits - Website: https://bit.ly/2NGQqiJ - GitHub stars: 31 - Highlight: CI benefits explained - Highlight: Setup guides - Highlight: CircleCI and Travis CI - Highlight: Jest integration ## Obsidian GCal Sync Obsidian Google Calendar sync Obsidian plugin for bidirectional Google Calendar synchronization with slash commands. Keep your notes and calendar in sync effortlessly. - Page: https://yowainwright.github.io/projects/#obsidian-gcal-sync - Technologies: Obsidian, Google Calendar, Plugin, Productivity - GitHub: https://github.com/yowainwright/obsidian-gcal-sync - GitHub stars: 2 - Highlight: Bidirectional sync - Highlight: Slash commands - Highlight: Calendar integration ## FJSF Fuzzy JSON search & filter A fuzzy JSON search and filter utility. Enables flexible searching and filtering of JSON data with fuzzy matching capabilities for more forgiving queries. - Page: https://yowainwright.github.io/projects/#fjsf - Technologies: TypeScript, CLI, JSON, Search - GitHub: https://github.com/yowainwright/fjsf - GitHub stars: 2 - Highlight: Fuzzy matching - Highlight: JSON filtering - Highlight: Flexible queries ## Prisma Migrations Friendly Prisma migration tooling Friendly Prisma migration tooling that simplifies database schema migrations. Provides a more intuitive interface for managing Prisma migrations in development and production. - Page: https://yowainwright.github.io/projects/#prisma-migrations - Technologies: TypeScript, Prisma, Database, Migrations - GitHub: https://github.com/yowainwright/prisma-migrations - Website: https://jeffry.in/prisma-migrations/ - GitHub stars: 8 - Highlight: Prisma integration - Highlight: Migration management - Highlight: Developer friendly ## mousecase Horizontal dragging on mousedown A JavaScript utility enabling horizontal dragging on mousedown events. Smooth scrolling and trackpad-like interactions for web applications. - Page: https://yowainwright.github.io/projects/#mousecase - Technologies: JavaScript, Mouse Events, Scrolling, UI - GitHub: https://github.com/yowainwright/mousecase - GitHub stars: 29 - Highlight: Horizontal drag scrolling - Highlight: Mousedown event handling - Highlight: Trackpad-like UX - Highlight: Smooth scrolling ## rssm React schema state machine A React state machine library driven by schema definitions. Declarative state management with type-safe transitions and predictable behavior. - Page: https://yowainwright.github.io/projects/#rssm - Technologies: React, State Machine, TypeScript - GitHub: https://github.com/yowainwright/rssm - GitHub stars: 1 - Highlight: Schema-driven state - Highlight: Type-safe transitions - Highlight: React hooks integration ## XLDX Excel utility with DX focus JavaScript version of xldx, an Excel utility with developer experience on the brain. Simplifies working with Excel files in Node.js applications. - Page: https://yowainwright.github.io/projects/#xldx - Technologies: TypeScript, Excel, DX - GitHub: https://github.com/yowainwright/xldx - Website: https://jeffry.in/xldx/ - GitHub stars: 2 - Highlight: Excel processing - Highlight: DX-focused - Highlight: Node.js utility ## CodeSandbox CLI Template Template for CLI codesandboxes A template for easily creating CodeSandbox environments for CLI programs. Enables interactive demos and examples for command-line tools. - Page: https://yowainwright.github.io/projects/#codesandbox-cli-template - Technologies: Template, CodeSandbox, CLI - GitHub: https://github.com/yowainwright/codesandbox-cli-template - Highlight: Quick CLI sandbox setup - Highlight: Interactive demos - Highlight: Easy sharing ## Monorepo Utilities Tools for monorepo development A TypeScript-based monorepo development toolkit providing CLI and programmatic interfaces for monorepo management. Includes Install-Dependencies utility for granular control over dependency installation in complex monorepo environments. - Page: https://yowainwright.github.io/projects/#monorepo-utilities - Technologies: TypeScript, CLI, Monorepo, pnpm - GitHub: https://github.com/yowainwright/monorepo-utilities - GitHub stars: 10 - Highlight: CLI and programmatic API - Highlight: Install-Dependencies utility - Highlight: pnpm workspaces + Turbo - Highlight: Actively maintained ## yaml-comment-generator Generate yaml comments with precision Generate YAML comments with precision. Add documentation and annotations to YAML files programmatically while preserving structure. - Page: https://yowainwright.github.io/projects/#yaml-comment-generator - Technologies: YAML, CLI, Documentation, Utilities - GitHub: https://github.com/yowainwright/yaml-comment-generator - Highlight: Precise comment placement - Highlight: Structure preservation - Highlight: Programmatic generation ## EnvDX Another dotenv manager Another dotenv manager focused on developer experience. Provides intuitive environment variable management for Node.js applications. - Page: https://yowainwright.github.io/projects/#envdx - Technologies: TypeScript, CLI, Environment, DX - GitHub: https://github.com/yowainwright/envdx - Highlight: Dotenv management - Highlight: DX-focused - Highlight: Environment vars ## fasthar HAR files, but fast High-performance HAR (HTTP Archive) file processing. Fast parsing and analysis of network traffic data for debugging and performance analysis. - Page: https://yowainwright.github.io/projects/#fasthar - Technologies: HAR, Performance, Network - GitHub: https://github.com/yowainwright/fasthar - Highlight: Fast HAR parsing - Highlight: Network analysis - Highlight: Performance debugging ## Algorithms Documented algorithms in TypeScript Documented algorithms using JavaScript written in TypeScript and Markdown. A learning resource for understanding common algorithms with clear explanations and typed implementations. - Page: https://yowainwright.github.io/projects/#algorithms - Technologies: TypeScript, Algorithms, Education - GitHub: https://github.com/yowainwright/algorithms - Highlight: Algorithm implementations - Highlight: TypeScript - Highlight: Educational ## Awesome Monorepo Utilities Curated monorepo utilities list A curated list of awesome monorepo utilities. Tools for managing, building, and maintaining monorepo projects at scale. - Page: https://yowainwright.github.io/projects/#awesome-monorepo-utilities - Technologies: Awesome List, Monorepo, Build Tools, DevOps - GitHub: https://github.com/yowainwright/awesome-monorepo-utilities - GitHub stars: 11 - Highlight: Build orchestration tools - Highlight: Workspace managers - Highlight: Dependency management - Highlight: CI/CD integrations ## TypeScript Lib Starter Batteries-included TS library template A batteries-included TypeScript library starter with React GitHub Docs page setup in minutes. Provides everything needed to start building and publishing TypeScript libraries. - Page: https://yowainwright.github.io/projects/#typescript-lib-starter - Technologies: TypeScript, Template, Library - GitHub: https://github.com/yowainwright/typescript-lib-starter - GitHub stars: 2 - Highlight: Library template - Highlight: GitHub Pages docs - Highlight: Quick start ## pk Process killer CLI A simple command-line utility for killing processes by name or port. Quick and efficient process management from the terminal. - Page: https://yowainwright.github.io/projects/#pk - Technologies: CLI, Process, Utilities - GitHub: https://github.com/yowainwright/pk - GitHub stars: 1 - Highlight: Kill by process name - Highlight: Kill by port number - Highlight: Simple CLI interface ## Awesome Policy Tools Policy as code tools A curated list of awesome policy as code tools. Includes OPA, Sentinel, and other tools for defining and enforcing policies programmatically. - Page: https://yowainwright.github.io/projects/#awesome-policy-tools - Technologies: Awesome List, Policy as Code, Security, DevOps - GitHub: https://github.com/yowainwright/awesome-policy-tools - Highlight: OPA and Rego tools - Highlight: Policy enforcement - Highlight: Security automation ## generate-clean-number Remove NaN from numbers A JavaScript utility for removing anything that is not a number (NaN) from a number. Handles internationalization, dates, and currency formatting. - Page: https://yowainwright.github.io/projects/#generate-clean-number - Technologies: TypeScript, Numbers, Utilities, Intl - GitHub: https://github.com/yowainwright/generate-clean-number - GitHub stars: 5 - Highlight: NaN removal - Highlight: Intl number support - Highlight: Currency formatting - Highlight: Date number handling