diff --git a/README.md b/README.md
index 6aebc773f..8bfa48c3b 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ Due to native dependency distribution complexity, pre-packaged builds of the `no
See [DEVELOP.md](https://github.com/rapidsai/node/blob/main/DEVELOP.md) for details on setting up a local dev environment and building the code.
We want your input! Join us in the [#node-rapids channel](https://rapids-goai.slack.com/archives/C0237JMVBRS) in the [RAPIDS-GoAI Slack workspace](https://rapids-goai.slack.com).
-
+
## Tracking Progress
You can review [BINDINGS.md](https://github.com/rapidsai/node/blob/main/BINDINGS.md) to see which bindings have been completed for each of the RAPIDS libraries.
@@ -37,10 +37,8 @@ You can review [BINDINGS.md](https://github.com/rapidsai/node/blob/main/BINDINGS
Check out our [demos](https://github.com/rapidsai/node/tree/main/modules/demo) to see various visualization and compute capabilities:
-* [OpenGL lessons in luma.gl](https://github.com/rapidsai/node/tree/main/modules/demo/luma/)
* [Library of deck.gl demos in OpenGL](https://github.com/rapidsai/node/tree/main/modules/demo/deck/)
-* [Rendering text via Xterm.js's WebGL addon](https://github.com/rapidsai/node/tree/main/modules/demo/xterm/)
-* [TensorFlow.js Examples](https://github.com/rapidsai/node/tree/main/modules/demo/tfjs/)
+* [Cross filtering millions of rows with cuDF](https://github.com/rapidsai/node/tree/main/modules/demo/client-server)
* [Simulating & rendering with cuGraph](https://github.com/rapidsai/node/tree/main/modules/demo/graph/)
* [Querying millions of points with cuSpatial](https://github.com/rapidsai/node/tree/main/modules/demo/spatial/)
* [Multi-GPU SQL queries on GBs of CSVs](https://github.com/rapidsai/node/tree/main/modules/demo/sql/sql-cluster-server/)
diff --git a/docs/images/demo-screenshots/Client-Server-ss.png b/docs/images/demo-screenshots/Client-Server-ss.png
new file mode 100644
index 000000000..84262faf8
--- /dev/null
+++ b/docs/images/demo-screenshots/Client-Server-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c61152f98827c2b60847fe2fee336c25b46318cb8d3b145e9fc4ca9cdc024d63
+size 613367
diff --git a/docs/images/demo-screenshots/client-server-demo-multi-sm.png b/docs/images/demo-screenshots/client-server-demo-multi-sm.png
new file mode 100644
index 000000000..af2b02a40
--- /dev/null
+++ b/docs/images/demo-screenshots/client-server-demo-multi-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f72ba52f1f8b90f3dc6236e2b0b6c017ef7c44a293bb6f8666c6f7d4441548ba
+size 106992
diff --git a/docs/images/demo-screenshots/client-server-demo-multi.png b/docs/images/demo-screenshots/client-server-demo-multi.png
new file mode 100644
index 000000000..6c19f2a45
--- /dev/null
+++ b/docs/images/demo-screenshots/client-server-demo-multi.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:09bfa0c88e72aa2cdaa8048226a2cf44919d26c4d2688b769c9ca312a90e5142
+size 1373300
diff --git a/docs/images/demo-screenshots/client-server-ss2-sm.png b/docs/images/demo-screenshots/client-server-ss2-sm.png
new file mode 100644
index 000000000..f3cff0fa4
--- /dev/null
+++ b/docs/images/demo-screenshots/client-server-ss2-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7138798ba0dc2220445fc845f4667166a3f5bcfbfc2d804d3074aaaa1270e707
+size 50048
diff --git a/docs/images/demo-screenshots/client-server-ss2.png b/docs/images/demo-screenshots/client-server-ss2.png
new file mode 100644
index 000000000..4ecd05a2f
--- /dev/null
+++ b/docs/images/demo-screenshots/client-server-ss2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f7279b501c6bd78c0d2ca3c30fe7ef2ea7310311edabd915e0a78a94b090661c
+size 251475
diff --git a/docs/images/demo-screenshots/deck-gl-rides-ss-sm.png b/docs/images/demo-screenshots/deck-gl-rides-ss-sm.png
new file mode 100644
index 000000000..cfdd851e5
--- /dev/null
+++ b/docs/images/demo-screenshots/deck-gl-rides-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0cb02b5cb2df9e8ff29acc1c76a6f8e102c7fc4ed89d56a7e95c9cda34e50c23
+size 89035
diff --git a/docs/images/demo-screenshots/deck-gl-rides-ss.png b/docs/images/demo-screenshots/deck-gl-rides-ss.png
new file mode 100644
index 000000000..ace2b21d4
--- /dev/null
+++ b/docs/images/demo-screenshots/deck-gl-rides-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e5be9aa321d93fc4720adeadee9670e6a0e36134414401c936c2849b0ff6734f
+size 159967
diff --git a/docs/images/demo-screenshots/deck-gl-roads-ss.png b/docs/images/demo-screenshots/deck-gl-roads-ss.png
new file mode 100644
index 000000000..f27e13dec
--- /dev/null
+++ b/docs/images/demo-screenshots/deck-gl-roads-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:46517dfa420d78499a6fb3b9ec5d2b26c09cc677f8f2cde72e88b28377032edd
+size 30591
diff --git a/docs/images/demo-screenshots/graph-demo-ss-sm.png b/docs/images/demo-screenshots/graph-demo-ss-sm.png
new file mode 100644
index 000000000..5677771bd
--- /dev/null
+++ b/docs/images/demo-screenshots/graph-demo-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:65d43d6ac8a8b8d621c09e12eade1ccb449fd0d8823bb62e286f3586feb4f15d
+size 49303
diff --git a/docs/images/demo-screenshots/graph-demo-ss.png b/docs/images/demo-screenshots/graph-demo-ss.png
new file mode 100644
index 000000000..7faa3092d
--- /dev/null
+++ b/docs/images/demo-screenshots/graph-demo-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:412760fca2d966d5babfefdcebf08f51b01027577e0de53d4487406dcb2dc94d
+size 100469
diff --git a/docs/images/demo-screenshots/jupyterlab-nodejs-ss-sm.png b/docs/images/demo-screenshots/jupyterlab-nodejs-ss-sm.png
new file mode 100644
index 000000000..1d2a0dc90
--- /dev/null
+++ b/docs/images/demo-screenshots/jupyterlab-nodejs-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8672ba8206d8cea27d74bd7c257dde749a3db9bf733790604b8b80590388aeb1
+size 54230
diff --git a/docs/images/demo-screenshots/jupyterlab-nodejs-ss.png b/docs/images/demo-screenshots/jupyterlab-nodejs-ss.png
new file mode 100644
index 000000000..8c66c3ecf
--- /dev/null
+++ b/docs/images/demo-screenshots/jupyterlab-nodejs-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:99122215ecae3be67299937f1b8b5f61dbd207b4437f87265e96fa76d8fe6fac
+size 342464
diff --git a/docs/images/demo-screenshots/luma-ss-sm.png b/docs/images/demo-screenshots/luma-ss-sm.png
new file mode 100644
index 000000000..03128ce08
--- /dev/null
+++ b/docs/images/demo-screenshots/luma-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:416ca2b78963edad63ec4684cab8b22b69b7fdd6ba9615aa954be67f6cf88a12
+size 11693
diff --git a/docs/images/demo-screenshots/luma-ss.png b/docs/images/demo-screenshots/luma-ss.png
new file mode 100644
index 000000000..2650b8700
--- /dev/null
+++ b/docs/images/demo-screenshots/luma-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:40df37baab37292630024696d88af77f36917560d4c6d018fd3485a1a93fa14d
+size 14954
diff --git a/docs/images/demo-screenshots/spatial-ss-sm.png b/docs/images/demo-screenshots/spatial-ss-sm.png
new file mode 100644
index 000000000..999158c25
--- /dev/null
+++ b/docs/images/demo-screenshots/spatial-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:213322fbba8fa214cfcccc8ae420dcdcaad4f801bf100e0f63b537aa762fd6a8
+size 111251
diff --git a/docs/images/demo-screenshots/spatial-ss.png b/docs/images/demo-screenshots/spatial-ss.png
new file mode 100644
index 000000000..71d6288ea
--- /dev/null
+++ b/docs/images/demo-screenshots/spatial-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1409302fee93efb36b073dc05f880e32b186f7ac6f10f31564b6213a8e60779d
+size 250539
diff --git a/docs/images/demo-screenshots/sql-ss-sm.png b/docs/images/demo-screenshots/sql-ss-sm.png
new file mode 100644
index 000000000..db2cfe5d0
--- /dev/null
+++ b/docs/images/demo-screenshots/sql-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1cc3e069adca10f02584baf934cd82c0ab3e416bb8e34bc9c5b0679c5b769073
+size 65437
diff --git a/docs/images/demo-screenshots/sql-ss.png b/docs/images/demo-screenshots/sql-ss.png
new file mode 100644
index 000000000..1964bceec
--- /dev/null
+++ b/docs/images/demo-screenshots/sql-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9f105f520ee84896e172afdac2b273d79179c9aff83be72a115e160b6cef1023
+size 323488
diff --git a/docs/images/demo-screenshots/streaming-graph-demo-ss.png b/docs/images/demo-screenshots/streaming-graph-demo-ss.png
new file mode 100644
index 000000000..9f9466235
--- /dev/null
+++ b/docs/images/demo-screenshots/streaming-graph-demo-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:216c85b02635cc570d06240a2eb642047d44aa87744a50c6156cdbae6ef4dec9
+size 1060168
diff --git a/docs/images/demo-screenshots/streaming-graph-demo-ss2-sm.png b/docs/images/demo-screenshots/streaming-graph-demo-ss2-sm.png
new file mode 100644
index 000000000..26f12b088
--- /dev/null
+++ b/docs/images/demo-screenshots/streaming-graph-demo-ss2-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c469217ecc44c2918f4a9ecc60746d30a0ee723ecf6beea25bd403908348ae39
+size 141978
diff --git a/docs/images/demo-screenshots/streaming-graph-demo-ss2.png b/docs/images/demo-screenshots/streaming-graph-demo-ss2.png
new file mode 100644
index 000000000..ee77164bd
--- /dev/null
+++ b/docs/images/demo-screenshots/streaming-graph-demo-ss2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0400211b252fcab1ea4c41817f83b1c4879a5358ec756b90ec8021398d807bda
+size 1407160
diff --git a/docs/images/demo-screenshots/streaming-pointcloud-ss-sm.png b/docs/images/demo-screenshots/streaming-pointcloud-ss-sm.png
new file mode 100644
index 000000000..d8eb8d576
--- /dev/null
+++ b/docs/images/demo-screenshots/streaming-pointcloud-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b3bd88b5387264f02901b79c123d28a9adf1293f8cd27af17242f37aa9715b1a
+size 44958
diff --git a/docs/images/demo-screenshots/streaming-pointcloud-ss.png b/docs/images/demo-screenshots/streaming-pointcloud-ss.png
new file mode 100644
index 000000000..4a87e4d83
--- /dev/null
+++ b/docs/images/demo-screenshots/streaming-pointcloud-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4ecfa5423960bf6c745f1927e5279ff0116abb0f960da71cac2e63fcd387a9d0
+size 467838
diff --git a/docs/images/demo-screenshots/umap-ss-sm.png b/docs/images/demo-screenshots/umap-ss-sm.png
new file mode 100644
index 000000000..d094a9d03
--- /dev/null
+++ b/docs/images/demo-screenshots/umap-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f625b8495c3cf13b6172566621afc6f7ac2748822f52b501e918ab551417dade
+size 38149
diff --git a/docs/images/demo-screenshots/umap-ss.png b/docs/images/demo-screenshots/umap-ss.png
new file mode 100644
index 000000000..64ccaff1d
--- /dev/null
+++ b/docs/images/demo-screenshots/umap-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f9cc263f8dc30a3a1f1a7989a1ee082a355e44acf61433bf45cf68a36cabc23f
+size 161291
diff --git a/docs/images/demo-screenshots/xterm-ss-sm.png b/docs/images/demo-screenshots/xterm-ss-sm.png
new file mode 100644
index 000000000..7ee52face
--- /dev/null
+++ b/docs/images/demo-screenshots/xterm-ss-sm.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:940d54fc5886336fefc949433186b00d5fbdcfd8dec18e4b75b6898cbeedfde4
+size 20069
diff --git a/docs/images/demo-screenshots/xterm-ss.png b/docs/images/demo-screenshots/xterm-ss.png
new file mode 100644
index 000000000..9681d0a45
--- /dev/null
+++ b/docs/images/demo-screenshots/xterm-ss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e7d89f0ee6a4358a874f03f13b8a596061479bb9629d0486d23aaa21a025b683
+size 18097
diff --git a/modules/cudf/notebooks/README.md b/modules/cudf/notebooks/README.md
new file mode 100644
index 000000000..b32309c37
--- /dev/null
+++ b/modules/cudf/notebooks/README.md
@@ -0,0 +1,5 @@
+# Node.js Notebook Examples
+A series of data science and ETL notebooks to demonstrate [RAPIDS Bindings](https://github.com/rapidsai/node/blob/main/BINDINGS.md) coverage and functionality. Start with `Basic Demo.ipynb`!
+
+## Data Requirements
+Most notebooks contain built-in data creation or download functions. Check [SOURCES.md](https://github.com/rapidsai/node/blob/main/modules/cudf/notebooks/SOURCES.md) for details.
diff --git a/modules/demo/README.md b/modules/demo/README.md
index f6ccb8845..d26c1fef2 100644
--- a/modules/demo/README.md
+++ b/modules/demo/README.md
@@ -1,40 +1,106 @@
# Node RAPIDS Demos
-A collection of demos, templates, and applications showcasing the features and uses for Node RAPIDS.
+### A collection of demos, templates, and applications showcasing the features and uses for Node RAPIDS.
-## Featured
-- Viz Streaming App (link, image and video...)
-- Graph Visualization
-- UMAP Visualization
+
-## Server Side Rendering
-- Luma.gl Streaming demo
-- Graph Streaming demo
+## Starting Demos
+In a properly configured env or docker container, most demos can be selected from a list and started with:
+```bash
+yarn demo
+```
-## Client Side Rendering App
-- Client-Server Dashboard
+Or directly with:
+```bash
+yarn demo modules/demo/graph
+```
-## Deck.gl and Luma.gl
-- Deck.GL examples
-- Luma lessons
+Or in most cases within each demo's folder with:
+```bash
+yarn start
+```
-## Spatial
-- Spatial compute demo
+## Data Requirements
+Some demos require downloading datasets to run, while others have defaults included. See each demo's README for details.
-## SQL
-- SQL engine and frontend demo
+
-## IPC
--
+# Demos List
-## Misc
-- Tensorflow-js weblGL tests
-- Tensorflow-js RNN addition
-- Xterm GL rendering
-## Data Requirements
-Some demos require datasets to run, see their individual readme for details.
+## [Viz App](https://github.com/rapidsai/node/tree/main/modules/demo/viz-app) + [SSR Graph](https://github.com/rapidsai/node/tree/main/modules/demo/ssr/graph) | [YouTube Demo](https://youtu.be/zzOCIJ-K1dE)
+### Streaming SSR graph visualization with nvENC webRTC to a browser app, using cuDF and cuGraph bindings *Note: future demo will have simplified startup*
+![streaming ssr graph app](../../docs/images/demo-screenshots/streaming-graph-demo-ss2-sm.png)
+
+
+
+## [Viz App](https://github.com/rapidsai/node/tree/main/modules/demo/viz-app) + [SSR Point Cloud](https://github.com/rapidsai/node/tree/main/modules/demo/ssr/graph) | [YouTube Demo](https://youtu.be/vCAiKIkCP3E)
+### Streaming SSR point cloud visualization with nvENC webRTC to a browser *Note: future demo will have simplified startup*
+![streaming ssr point cloud](../../docs/images/demo-screenshots/streaming-pointcloud-ss-sm.png)
+
+
+
+## [Client Server](https://github.com/rapidsai/node/tree/main/modules/demo/client-server) | [YouTube Demo](https://youtu.be/H8E0HLiL9YA)
+### Browser crossfilter visualization app with server side compute using cuDF
+![streaming ssr point cloud](../../docs/images/demo-screenshots/client-server-ss2-sm.png)
+
+
+
+## [SQL](https://github.com/rapidsai/node/tree/main/modules/demo/sql/sql-cluster-server) | [YouTube Demo](https://youtu.be/EmwcMM_mYKA)
+### Demo of multi-GPU SQL demo w/ a browser UI query builder
+![streaming ssr point cloud](../../docs/images/demo-screenshots/sql-ss-sm.png)
+
+
+
+## [Node.js Notebook](https://github.com/rapidsai/node/tree/main/modules/cudf/notebooks) | [YouTube Demo](https://youtu.be/LbHpK8M3cV4)
+### GPU accelerated data science in JupyterLab Notebook with Node.js
+![streaming ssr point cloud](../../docs/images/demo-screenshots/jupyterlab-nodejs-ss-sm.png)
+
+
+
+## [Spatial](https://github.com/rapidsai/node/tree/main/modules/demo/spatial)
+### Using cuSpatial bindings of Quadtree to segment geospatial data
+![Spatial](../../docs/images/demo-screenshots/spatial-ss-sm.png)
+
+
+
+## [Graph](https://github.com/rapidsai/node/tree/main/modules/demo/graph)
+### Using cuGraph bindings of FA2 to compute graph layout
+![Spatial](../../docs/images/demo-screenshots/graph-demo-ss-sm.png)
+
+
+
+## [UMAP](https://github.com/rapidsai/node/tree/main/modules/demo/umap)
+### Using cuML bindings of UMAP to compute clusters
+![UMAP](../../docs/images/demo-screenshots/umap-ss-sm.png)
+
+
+
+## [Deck.gl](https://github.com/rapidsai/node/tree/main/modules/demo/deck) | [Examples Page](https://deck.gl/examples)
+### Running Deck.gl examples with OpenGL Server Side
+![Deck.gl](../../docs/images/demo-screenshots/deck-gl-rides-ss-sm.png)
+
+
+
+## [Luma.gl](https://github.com/rapidsai/node/tree/main/modules/demo/luma) | [Examples Page](https://luma.gl/examples)
+### Running (older) Luma.gl examples with OpenGL Server Side
+![Luma.gl](../../docs/images/demo-screenshots/luma-ss-sm.png)
+
+
+
+## Misc Demos
+### [Xterm](https://github.com/rapidsai/node/tree/main/modules/demo/xterm) | Emulating GPU rendered xterminal
+### [tfjs weblGL](https://github.com/rapidsai/node/tree/main/modules/demo/tfjs/webgl-tests) | ( **Deprecated** ) bindings to tensorflow-js webGl test
+### [tfjs RNN addition](https://github.com/rapidsai/node/tree/main/modules/demo/tfjs/addition-rnn) | ( **Deprecated** ) bindings to tensorflow-js addition demo
+### [IPC](https://github.com/rapidsai/node/tree/main/modules/demo/ipc) | ( **Deprecated** ) Demo of Inter Process Communication between Python and Node.js
+
+
+
+
+# Troubleshooting
+## My GLFW window is blank:
+If you have more than one GPU, for windowed (no browser) demos you must specify a display GPU by setting: `NVIDIA_VISIBLE_DEVICES=1` in the `.env` file, or docker command. Sometimes it takes a few seconds for things to load too.
-## Start
-Most demos can be started anywhere with: `yarn demo`, then selected from a list.
-Or started directly with a directory, such as: `yarn demo modules/demo/graph`
-Or with `yarn start` in the demo's own directory.
\ No newline at end of file
+## Starting the demo produced an error:
+Make sure you have downloaded the required datasets, the data is not malformed, and it is in the correct location -usually `/data`.
+If that does not work and if you are running a locally built environment, try rebuilding the module.
+Some demo's may have stopped working - check our **[Issues](https://github.com/rapidsai/node/issues)** for details.
diff --git a/modules/demo/client-server/README.md b/modules/demo/client-server/README.md
index f6be9df8c..f42ee4062 100644
--- a/modules/demo/client-server/README.md
+++ b/modules/demo/client-server/README.md
@@ -15,7 +15,7 @@ This demo showcases how to use cudf as a backend compute engine for a client-sid
## Data Requirements
### Uber Movement Dataset
-The data needs to be downloaded from [Uber Movements P](https://movement.uber.com/explore/san_francisco/travel-times) with the following sequence of actions:
+The data needs to be downloaded from [Uber Movements](https://movement.uber.com/explore/san_francisco/travel-times) with the following sequence of actions:
- `Click 'Download data' > Click 'All data' > Slect '2020 Quarter' > Download 'Travel Times By Date By Hour Buckets (All Days).csv'`(1.7gb)
- Save the file as `san_fran_uber.csv` in the folder `/public/data`
- If not already included, also download the `san_francisco_censustracts.geojson`(3.8mb) file into `/public/data`. NOTE: you may have to rename from a .json to .geojson extension.
@@ -25,7 +25,7 @@ The data needs to be downloaded from [Uber Movements P](https://movement.uber.co
- Save the file as `mortgage.csv` in the folder `/public/data`
## Start
-Example of starting the demo, then open `http://localhost:3000`,
+Start with the command below, then open `http://localhost:3000`
```bash
yarn start
```
diff --git a/modules/demo/deck/heatmap/README.md b/modules/demo/deck/heatmap/README.md
new file mode 100644
index 000000000..a93031726
--- /dev/null
+++ b/modules/demo/deck/heatmap/README.md
@@ -0,0 +1,26 @@
+This is a minimal standalone version of the HeatmapLayer example
+on [deck.gl](http://deck.gl) website.
+
+### Usage
+
+Copy the content of this folder to your project.
+
+```bash
+# install dependencies
+npm install
+# or
+yarn
+# bundle and serve the app with webpack
+npm start
+```
+
+### Data format
+
+Sample data is stored in [deck.gl Example Data](https://github.com/visgl/deck.gl-data/tree/master/examples/screen-grid), showing Uber pickup locations in NYC. [Source](https://github.com/fivethirtyeight/uber-tlc-foil-response)
+
+To use your own data, check out
+the [documentation of HeatmapLayer](../../../docs/api-reference/aggregation-layers/heatmap-layer.md).
+
+### Basemap
+
+The basemap in this example is provided by [CARTO free basemap service](https://carto.com/basemaps). To use an alternative base map solution, visit [this guide](https://deck.gl/docs/get-started/using-with-map#using-other-basemap-services)
diff --git a/modules/demo/deck/interleaved-buffer/README.md b/modules/demo/deck/interleaved-buffer/README.md
index 533121edd..8bd34de2a 100644
--- a/modules/demo/deck/interleaved-buffer/README.md
+++ b/modules/demo/deck/interleaved-buffer/README.md
@@ -1,8 +1,8 @@
-