Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
capture
Discontinued Utility for generating PNG screen captures for charts [Moved to: https://github.com/Devographics/capture] (by StateOfJS)
-
images
Discontinued Images and exports for the State of X surveys [Moved to: https://github.com/Devographics/images] (by StateOfJS)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
nivo
nivo provides a rich set of dataviz components, built on top of the awesome d3 and React libraries
All of this needs to be done in an open, transparent, and inclusive manner, and we use our Working Group newsletter to keep everybody informed, and then GitHub issues to hold discussions.
Once the survey content is finalized in English, it can now be translated into other languages by our awesome community of volunteer translators.
In the past we've relied on third-party survey apps to do this, but we now have our own data collection app, which lets us do cool things like translate the UI in many languages and process data on the fly.
At this point there is also a normalization stage, where we copy any freeform data inputted by respondents into a more standardized format based on our own list of "entities" (frameworks, features, people, etc.).
As an aside, we even have a separate little app just for generating image previews so that every chart can have its own thumbnail when you share it.
As an aside, we even have a separate little app just for generating image previews so that every chart can have its own thumbnail when you share it.
This app is itself is a Next.js app that relies on Vulcan.js, a full-stack JavaScript framework that I originally created for Meteor, and that Eric Burel later ported to Next.js. But we will likely phase out the Vulcan.js part eventually to make it a more standard codebase.
Then, we can think about the implementation. We use Nivo for most data visualizations, but we do have a few that either use straight HTML/CSS, or use D3 directly.
This app is itself is a Next.js app that relies on Vulcan.js, a full-stack JavaScript framework that I originally created for Meteor, and that Eric Burel later ported to Next.js. But we will likely phase out the Vulcan.js part eventually to make it a more standard codebase.
This app is itself is a Next.js app that relies on Vulcan.js, a full-stack JavaScript framework that I originally created for Meteor, and that Eric Burel later ported to Next.js. But we will likely phase out the Vulcan.js part eventually to make it a more standard codebase.
Then, we can think about the implementation. We use Nivo for most data visualizations, but we do have a few that either use straight HTML/CSS, or use D3 directly.
Each survey homepage (stateofjs.com, stateofcss.com, etc.) is actually generated from the same codebase using Astro, based on our global survey configs.