The notebook for
reproducible research.

Runs anything you can put into a Docker container. Improve your workflow with polyglot notebooks, automatic versioning and real-time collaboration. Save time and money with on-demand provisioning, including GPU support.

Full support & templates for common programming environments

Immutability on all levels of the system

Document
Changes to the document are automatically versioned to an immutable database (Datomic). Previous versions can be restored any time.

Data & Results
Uploaded data or generated result files are automatically versioned in append-only content-addressed storage and can’t be accidentally overwritten.

Full Computational Environment
Changes to the file system state can be committed as Docker images. Reproducibility is ensured by referencing these images only by their immutable hashes.

Long-term reproducibility is enabled by storing the document, data and computational environment immutably in append-only storage.

Managed Docker Registry

7d235eef5f413205f8fbab1824870bc6f8c2eb4dd19f1ec522859e12d89706156570
Bash Environment
4dd19f1ec5228f8fbab1824870bc6f8c7d235eef5f4132052eb59e12d89706156570
Python Environment
859e12d89706156f8fbab1824870bc6f8c7d235eef5f4132052eb4dd19f1ec522570
climt Environment

Content-Addressed Storage

132052eb4dd19f1ec522859e12d89706156570f8fbab1824870bc6f8c7d235eef5f4
Size
12.8 MB
Mime
text/csv
f8fbab1824870bc6f8c7d235eef5f4132052eb4dd19f1ec522859e12d89706156570
Size
0.21 MB
Mime
image/png

Datomic Database

Rapid and full reusability

Remix entire notebooks
Enabled by immutability, “Remix” allows you to quickly build off a copy of any previously published notebook, including all of its dependencies.

Create, share and reuse Docker images
The entire file system can be published as Docker image with a single click. These images can be pulled to run locally or reused in other Nextjournal notebooks.

Polyglot Notebooks

In Nextjournal, you can use multiple programming language runtimes together in a single notebook. Values can be exchanged between runtimes using files.

Easy-to-manage runtime states
Runtimes are Docker containers that are orchestrated by a separate “Runner” application. This allow resetting an individual runtimes state without affecting other runtimes.

Arbitrary installations
Nextjournal can install anything as long as a runtime offers Bash. Environment variables can be set for each runtime through a UI.

Default environments
We offer default environments for various languages and use cases that come pre-populated with libraries for plotting, number crunching and more.

Automatic Provisioning & Shutdown

Every notebook that is run, gets its own compute instance provisioned automatically. We keep a pool of small runners around with 4GB of RAM per instance that will boot instantly. Larger instances are available on-demand. When your computation is done, we shut it down automatically to save costs on idling machines.

Full GPU support
Currently, we have full support for up to 8 NVIDIA Tesla K80, P100 or P100 Workstation GPUs per runtime with minimal setup necessary.

Data & Secrets Management

Connect your data
Besides uploading files, Nextjournal notebooks can bring in private data from S3 and Google Cloud Storage. You can also clone private GitHub repositories or import images from Docker Hub.

Secrets management
Secrets can be added to your account’s private secrets storage that lives outside notebooks and computational environments. Secrets are stored securely in Vault and can only be read by your profile.

Work together
in real-time

Groups & Collaborators
Create public or private groups to work with your collaborators under a shared profile or invite them on a per-notebook basis. Secrets can be shared among collaborators.

Real-Time Sync
All edits to a Nextjournal notebook are commit-less and synchronized in real-time among connected clients. This allows editing of a notebook by multiple authors at the same time.

Share your work

Notebooks can be published under a permanent URL that you can define, like:
nextjournal.com/your-handle/your-title

You can decide wether a published notebook is accessible by everybody or just your group’s members. Published notebooks are read-only but can be remixed by anyone who can see them.

Share URLs
Independent from wether a notebook has been published yet, you can always generate a link to share a read-only version of a current draft.

“Holy crap... I’m now actively petitioning my bosses to get me and my tiny overworked team off of our opensource airbnb jupyter notebooks and into this.

A timely response from your support team got me up and running hitting our redshift server in minutes. I’m totally sold. LOVE THIS PRODUCT.

My dev team actually read my report. They’re calling you the Notion of Data Science ha! Keep up the great work!”

Ken Hanson, Modern Message

“Nextjournal should be the new standard in scientific publishing both for reproducibility and sharability.”

William Ludington, PhD, Principal Investigator, Carnegie Science Institute

“Working in Nextjournal took collaboration to new levels. Easily go from changing parameters to pretty pictures while hiding any superfluous stuff.”

Jon Norberg, PhD, Stockholm Resilience Center

“I'm trying out @usenextjournal and have to say it is awesome. It fits my style and needs perfectly.”

Josh Bowles, AILGroup, via Twitter

“[Nextjournal] is an amazing platform for data science and any data visualization.”

London Clojurians, via Twitter