Skip to content

Commit 84f110e

Browse files
committed
fill out features section
1 parent fd8fc43 commit 84f110e

File tree

2 files changed

+45
-13
lines changed

2 files changed

+45
-13
lines changed

paper/paper.bib

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,19 @@ @inproceedings{emscripten2011
8787
location = {Portland, Oregon, USA},
8888
series = {OOPSLA '11}
8989
}
90+
91+
92+
@article{Kumar_ArviZ_a_unified,
93+
author = {Kumar, Ravin and Carroll, Colin and Hartikainen, Ari and Osvaldo, Martin},
94+
doi = {10.21105/joss.01143},
95+
journal = {Journal of Open Source Software},
96+
title = {{ArviZ a unified library for exploratory analysis of Bayesian models in Python}}
97+
}
98+
99+
@Misc{posterior2025,
100+
title = {{posterior}: Tools for Working with Posterior Distributions},
101+
author = {Paul-Christian Bürkner and Jonah Gabry and Matthew Kay and Aki Vehtari},
102+
year = {2025},
103+
note = {R package version 1.6.1},
104+
url = {https://mc-stan.org/posterior/},
105+
}

paper/paper.md

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,8 @@ working C++17 development environment installed in order to use Stan.
4949
This requirement can be difficult to satisfy for users from less technical backgrounds or with
5050
IT-imposed constraints on their systems. Installation-related questions are
5151
ubiquitous on the Stan forums. This can be a particular pain point in learning environments,
52-
where instructors do not
53-
want to spend a substantial fraction of their teaching time ensuring students have a working
54-
environment and copy of the relevant data and models.
52+
where instructors do not want to spend a substantial fraction of their teaching time just to ensure
53+
students have a working environment and copy of the relevant data and models.
5554

5655
Thanks to its browser-based design requiring no installation, Stan Playground allows users
5756
to immediately focus on the issues of modeling and analysis that matter to them.
@@ -63,7 +62,7 @@ immediately, regardless of their local system configuration.
6362
A similar level of convenience could be achieved by performing both compilation and sampling on
6463
centrally provided server, but there are several issues with this approach.
6564
Sampling involves executing user-written code that could perform potentially-unbounded amounts of
66-
compute. Offering this as a public server would require authentication or rate-limiting.
65+
compute. Offering this as a public service would require authentication or rate-limiting.
6766
Additionally, even in a restricted language like Stan, one would have to take serious precautions before
6867
allowing untrusted user code to run unchecked.
6968

@@ -77,30 +76,48 @@ technical, process into loading a web page in any modern browser.
7776

7877
# Key features
7978

80-
<!-- screenshot -->
81-
8279
![Stan Playground's UI after running the Lotka-Volterra example\label{fig:screenshot}](screenshot.png)
8380

81+
Stan Playground provides many features to allow end-to-end analysis projects to be completed in
82+
the browser.
83+
84+
1. **Data Preparation**. The input data for the Stan model can be provided manually as JSON or
85+
generated by Python or R scripts which can download existing datasets or dynamically generate fake data.
86+
87+
2. **Model Editing**. The Stan editor in Stan Playground features integration with the Stan compiler
88+
to provide on-the-fly diagnostics and formatting.
8489

85-
- data generation
86-
- model editing (with diagnostics etc), compilation, sampling
87-
- downstream analysis
88-
- sharing features
89-
- user compilation server
90+
3. **Compilation**. A premier feature of Stan Playground is the ability to compile and run without
91+
needing additional tools installed. This is achieved through a server that handles this compilation
92+
and provides WebAssembly modules back to the client. While a public server is hosted by the Flatiron Institute,
93+
users can also run their own and connect to that instead in the settings UI.
9094

95+
4. **Sampling**. User can control the key parameters for the sampling algorithm (number of iterations, etc) and
96+
monitor progress in real time.
97+
98+
5. **Posterior Analysis**. Stan Playground provides many built-in diagnostics and visualizations for the
99+
posterior sample. Additionally, users can write Python or R scripts to leverage the existing ecosystem of
100+
tools such as ArviZ [@Kumar_ArviZ_a_unified] or `posterior` [@posterior2025].
101+
102+
6. **Sharing and Export**. Stan Playground by default saves your analysis in browser local storage.
103+
For longer-term storage, users can export their projects to zip files for local use, or upload
104+
to a Github Gist. Github Gist links facilitate easy sharing, as they can be used in URL parameters
105+
to load a specific project when a link is clicked. More customizable sharing options are also available
106+
through URL parameters.
91107

92108
# Examples
93109

94110
Stan Playground provides several example programs on the left
95111
sidebar of the home page at various levels of complexity, spanning from a basic
96112
linear regression on fake data to
97113
[a reimplementation of the model and analysis](https://stan-playground.flatironinstitute.org/?project=https://gist.github.com/WardBrian/d8ab811b137085f154b6145d3c36cbc4)
98-
from @Carpenter2018.
114+
from @Carpenter2018. The above link uses Stan Playground's sharing features to pre-populate the project on page load.
99115

100116
# Implementation details
101117

102118
Stan Playground consists of two components. The first is a server that can compile Stan
103119
models to WebAssembly, implemented in Python and leveraging the existing Emscripten toolchain [@emscripten2011].
120+
This server is also published as a [Docker](https://www.docker.com/) image if users wish to run their own local copy.
104121

105122
The remainder of the project is the user-facing web application, which can be found at
106123
[https://stan-playground.flatironinstitute.org/](https://stan-playground.flatironinstitute.org/).
@@ -110,7 +127,6 @@ panels to allow editing of Stan models, compilation, sampling, and downstream an
110127
results. The use of WebAssembly and web workers allows these computations to complete quickly
111128
and without freezing the user interface.
112129

113-
114130
# Acknowledgements
115131

116132
Andrew Gelman and Jonah Gabry (both: Columbia University)

0 commit comments

Comments
 (0)