Skip to content
Become a sponsor to David Chambers

I have been developing open-source projects in the JavaScript ecosystem since 2010. I became a member of the Ramda team in 2014. I released Sanctuary in 2015, and have since spent significant energy refining the library, creating related projects, and maintaining the Fantasy Land specification.

I am passionate about learning, teaching, and practising functional programming. I frequently answer questions on Gitter and Stack Overflow, and occasionally speak at conferences. In 2018 I introduced Sanctuary to a broad audience at ReactiveConf in Prague.

Programming Safely in an Uncertain World

In addition to the many sanctuary-js projects, I maintain several other useful projects:

  • async-problem – solutions and non-solutions to JavaScript’s async problem
  • Base64.js – polyfill for browsers that don’t provide window.btoa and window.atob
  • doctest – doctests for JavaScript (and CoffeeScript)
  • Transcribe – generate Markdown documentation from code comments
  • Tutor – JavaScript interface for the Gatherer card database
  • xyz – publish npm packages with fewer screw-ups

I have ambitious goals for improving the Sanctuary ecosystem, including:

  • adding type-aware search to;
  • creating a tutorial to show how to set up a project that includes sanctuary-def and custom types;
  • adding lens functions to Sanctuary;
  • documenting and releasing sanctuary-argv, a principled argument parser;
  • releasing a new version of the Fantasy Land specification with fully-qualified type representatives;
  • creating and releasing sanctuary-set and sanctuary-map; and
  • creating and releasing a testing library that does not rely on throwing and catching exceptions.

I will complete these projects, but this could take years of evenings and weekends. My dream is to work on Sanctuary and related projects full-time, which would dramatically reduce the time frame.

My living expenses are low but non-zero. By becoming a fan or a supporter, or by encouraging your company to become a partner, you will enable me to focus on improving the JavaScript ecosystem. You, your company, and the community will then have access to the principled, well-tested features and packages I release. Your generosity will benefit thousands of people. :)


10 sponsors are funding davidchambers’s work.


Featured work

  1. sanctuary-js/sanctuary

    🙈 Refuge from unsafe JavaScript

    JavaScript 2,898
  2. sanctuary-js/sanctuary-def

    Run-time type system for JavaScript

    JavaScript 278
  3. sanctuary-js/sanctuary-type-classes

    🌈 Standard library for Fantasy Land

    JavaScript 217
  4. davidchambers/Base64.js

    Polyfill for browsers that don't provide window.btoa and window.atob

    JavaScript 457
  5. davidchambers/doctest

    Doctests for JavaScript (and CoffeeScript)

    JavaScript 154
  6. davidchambers/xyz

    Publish npm packages with fewer screw-ups

    Shell 100

Select a tier

$2 a month



You appreciate my ongoing efforts to improve the JavaScript ecosystem and want me to know it.

$10 a month



You wish to make a meaningful monthly contribution to sustain development of Sanctuary and related projects.

Your name will be added to a list of supporters at

$200 a month



Your company understands that by using principled, well-tested dependencies, more time can be spent addressing your customers’ needs. Your company uses Sanctuary and wishes to see the project and surrounding ecosystem thrive.

Your company’s logo will be displayed at to let Sanctuary users know that your company embraces functional programming.