# Data science in JavaScript? Are you crazy?

No. What’s crazy is the potential of the largest developer community equipped with the world’s most powerful medium for communication. By bringing data science from the command line to the web, we can make it more accessible, more collaborative, and more effective.

At Observable, we are building a new type of interactive notebook for data science. We believe that the expressiveness of code is essential as a medium for thought, but that just embracing JavaScript is not enough. We need a better way to code.

## What makes Observable notebooks different?

Observable notebooks let you and your team focus on what matters--discovering and communicating quantitative insights--without getting mired in the arcana of manipulating abstract symbols.

An Observable notebook consists of reactive cells, each defining a piece of state. Rather than track dependencies between mutable values in your head, the runtime automatically extracts dependencies via static analysis and efficiently re-evaluates cells whenever things change, like a spreadsheet. Complex user interfaces can be expressed as simple, pure functions of state.

Reactivity at the language layer avoids the boilerplate typical of frameworks and enables interactive programming without the cost of live reload. Cells can refer interchangeably to constants, asynchronous data, user interface-driven state, and even dynamic variables.

Observable notebooks have unfettered access to browser’s powerful graphics capabilities, including SVG, Canvas and WebGL. Build fluid exploratory interfaces without the latency of server round-trips. Test hypotheses by manipulating live simulations. Visualize algorithms as they run. Use open-source libraries such as deeplearn.js, Vega-Lite and three.js.

## Data science is a social process.

Data scientists are people, and people are social organisms. Exploratory analysis may bring insight to the mind of the analyst, but insight’s true value comes when it is communicated to further understanding and action. Yet a pretty chart should not be the end goal; each visualization must point to its underlying data and code to allow an active reader to question assumptions, consider alternatives and derive new insights.

Observable Notebook allows teams to collaborate and communicate in realtime over the web. Fork and edit notebooks concurrently, with non-destructive history and change tracking. Import cells from other notebooks for reuse without code duplication. Share examples and develop best practices. Show live analysis simply by sending a link.

## Help us build Observable, Inc.

We are the creators of popular open-source software for data visualization, data analysis and general-purpose programming, including D3.js, Underscore, Simple Statistics, documentation.js and CoffeeScript. Yet there remain myriad challenges to making data science accessible. Observable is our effort to tackle these challenges head-on.

We are hiring engineers and designers that share our passion for open source, programming, and discovery. Join us! Say hello and send your portfolio or resume to [email protected].

Want to know when Observable Notebook is available? Enter your email:

Observably yours, Mike Bostock Tom MacWright Jeremy Ashkenas