# Stipple: Reactive data dashboards with Julia \[WIP\]

**URL:** <https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291>\
**Category:** Package Announcements\
**Tags:** web, reactiveprogramming, genie, dashboard\
**Created:** [April 9, 2020, 5:21pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291 "2020-04-09T17:21:13Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Ratingulate](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ratingulate/32/9242_2.png) [@Ratingulate](https://discourse.julialang.org/u/Ratingulate)\
**Post date:** [May 1, 2020, 12:26pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/21 "2020-05-01T12:26:37Z")

</div>

> [@essenciary](#):
>
> We’re currently discussing with some startup incubators to help us realise this vision

That’s exciting, but how are you going to get passed the inevitable conception that this is just another web framework in another hipster language? What would be the value prop to them?

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 6, 2020, 7:17pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/22 "2020-05-06T19:17:56Z")

</div>

Support for plots, checked! 🤩

 ![Screenshot_2020-05-06 Screenshot](https://global.discourse-cdn.com/julialang/original/3X/3/7/37c9cb48f5c1f42fa39f98f933e0edddb97b550e.png)

 ![code](https://global.discourse-cdn.com/julialang/original/3X/7/5/753512b074ba6dfa53ce998ea9a10b06cde248ba.png)

---

<div class="post-metadata">

**Author:** ![Tomas\_Pevny](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomas_pevny/32/25466_2.png) [@Tomas\_Pevny](https://discourse.julialang.org/u/Tomas_Pevny)\
**Post date:** [May 6, 2020, 8:22pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/23 "2020-05-06T20:22:03Z")

</div>

Impressed.

---

<div class="post-metadata">

**Author:** ![TA-TX](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ta-tx/32/13962_2.png) [@TA-TX](https://discourse.julialang.org/u/TA-TX)\
**Post date:** [May 6, 2020, 9:34pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/24 "2020-05-06T21:34:17Z")

</div>

Love it! Excited to try it out!

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 9, 2020, 6:04pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/25 "2020-05-09T18:04:19Z")

</div>

More plots, more options, and big numbers 🥰

 ![Screenshot_2020-05-09 Screenshot](https://global.discourse-cdn.com/julialang/original/3X/d/a/da4e6d12dee750ed304f1876a14211466da68962.png)

---

<div class="post-metadata">

**Author:** ![Carlos\_Werner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carlos_werner/32/4040_2.png) [@Carlos\_Werner](https://discourse.julialang.org/u/Carlos_Werner)\
**Post date:** [May 10, 2020, 4:40am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/26 "2020-05-10T04:40:48Z")

</div>

Excellent result. Congratulations 👏👏👏

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 15, 2020, 10:01pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/27 "2020-05-15T22:01:53Z")

</div>

Support for stacked bar plots and big numbers formatting 🥳

 ![Screenshot_2020-05-16 Screenshot](https://global.discourse-cdn.com/julialang/original/3X/0/1/010e720dcd2a4bb880b24330e13e2e6eba6bce1d.png)

---

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [May 16, 2020, 11:52am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/28 "2020-05-16T11:52:26Z")

</div>

This library looks really interesting!  
Does it support some kind of interaction between plots and tables? E.g. when a time range is selected in a plot, a table is automatically filtered to that range only.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 16, 2020, 1:45pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/29 "2020-05-16T13:45:46Z")

</div>

Everything is fully reactive. I’m currently extending this demo by adding a form to filter the dataset which will update the whole dashboard.

Changing UI elements automatically updates a corresponding Julia value, for example a Julia range. If this range is Reactive/Observable then it triggers changes in its dependents: it updates the dataset, and the updated dataset is then propagated, updating all the UI components which display it.

In your example, the plot would need to trigger an event and update an underlying value in the model (for example a range), which would filter the dataset on the server, which would then propagate the new data onto the UI. I’m not sure if the plotting library I use here does it, but if not, the great part is that it’s relatively simple to integrate a different plotting library which exposes this behaviour.

One of the top goals was to allow using any Vue.js library, exposing all its features. And this part seems to work well already. The next part would be to create a rich ecosystem of packages and libraries which support a wide range of features.

---

<div class="post-metadata">

**Author:** ![Carlos\_Werner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carlos_werner/32/4040_2.png) [@Carlos\_Werner](https://discourse.julialang.org/u/Carlos_Werner)\
**Post date:** [May 16, 2020, 1:55pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/30 "2020-05-16T13:55:10Z")

</div>

I’m very excited to see this package.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 21, 2020, 8:09pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/31 "2020-05-21T20:09:03Z")

</div>

It’s aaaaliveeee! 🤖 ❤

[https://dl.dropboxusercontent.com/s/nhcz16mai5ibcys/2020-05-21\_220141.mp4?dl=0](https://dl.dropboxusercontent.com/s/nhcz16mai5ibcys/2020-05-21_220141.mp4?dl=0)

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 22, 2020, 3:20pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/33 "2020-05-22T15:20:55Z")

</div>

Moving on with forms support: reactive check boxes! 🤩 🥳

[https://dl.dropboxusercontent.com/s/d7kteb2jmnpe34v/2020-05-22\_171558.mp4?dl=0](https://dl.dropboxusercontent.com/s/d7kteb2jmnpe34v/2020-05-22_171558.mp4?dl=0)

---

<div class="post-metadata">

**Author:** ![anon67531922](https://avatars.discourse-cdn.com/v4/letter/a/48db29/32.png) [@anon67531922](https://discourse.julialang.org/u/anon67531922)\
**Post date:** [May 22, 2020, 7:53pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/34 "2020-05-22T19:53:08Z")

</div>

This is looking great @essenciary! Keep the updates coming 😍

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 25, 2020, 7:33pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/35 "2020-05-25T19:33:28Z")

</div>

Custom select with multiple options 🥰

[https://dl.dropboxusercontent.com/s/8delg41qfg0xle7/2020-05-25\_212443.mp4?dl=0](https://dl.dropboxusercontent.com/s/8delg41qfg0xle7/2020-05-25_212443.mp4?dl=0)

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 26, 2020, 11:09am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/36 "2020-05-26T11:09:40Z")

</div>

Server-side loading state for data tables (the stripe under the header 🎉)

[https://dl.dropboxusercontent.com/s/v7i22z1kz2v6vql/Loading%20state.mp4?dl=0](https://dl.dropboxusercontent.com/s/v7i22z1kz2v6vql/Loading%20state.mp4?dl=0)

---

<div class="post-metadata">

**Author:** ![dustyirwin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dustyirwin/32/14996_2.png) [@dustyirwin](https://discourse.julialang.org/u/dustyirwin)\
**Post date:** [May 28, 2020, 11:12pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/37 "2020-05-28T23:12:46Z")

</div>

As an Interact.jl user, I’m glad to hear you’ll be supporting Observables! Along with the excellent plotting and dataframe elements posted here, I’m super excited to try Stipple.jl. 😄

---

<div class="post-metadata">

**Author:** ![braamvandyk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/braamvandyk/32/5086_2.png) [@braamvandyk](https://discourse.julialang.org/u/braamvandyk)\
**Post date:** [May 29, 2020, 6:45am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/38 "2020-05-29T06:45:57Z")

</div>

I would like to echo the sentiments others have expressed here. I find myself looking for updates on the progress almost daily. It looks fantastic.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [June 6, 2020, 2:20pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/39 "2020-06-06T14:20:56Z")

</div>

New demo time! 🥳

k-means clustering exploratory data visualisation using the iris data set! Featuring the newly added slider component and the new scatter plots. 🤩

[https://dl.dropboxusercontent.com/s/cl2rifw05jywgjb/Iris%20kmeans%20clustering\_1.mp4?dl=0](https://dl.dropboxusercontent.com/s/cl2rifw05jywgjb/Iris%20kmeans%20clustering_1.mp4?dl=0)

The _full_ code:

> <https://gist.github.com/essenciary/e0d15bfc37d66e74789d4efa4e2bdad2>

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [June 6, 2020, 5:04pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/40 "2020-06-06T17:04:07Z")

</div>

Thank you, that’s very inspiring and motivating! 🙂

---

<div class="post-metadata">

**Author:** ![TA-TX](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ta-tx/32/13962_2.png) [@TA-TX](https://discourse.julialang.org/u/TA-TX)\
**Post date:** [June 6, 2020, 6:51pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/41 "2020-06-06T18:51:10Z")

</div>

Agree! Really excited about the capabilities in this package. When do you expect to release it?

[Previous page](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291.md?page=1)

[Next page](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291.md?page=3)
