# 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:** 4

<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:** [July 30, 2020, 8:17pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/62 "2020-07-30T20:17:08Z")

</div>

Fantastic! 😍

---

<div class="post-metadata">

**Author:** ![nahuel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nahuel/32/16983_2.png) [@nahuel](https://discourse.julialang.org/u/nahuel)\
**Post date:** [August 8, 2020, 12:15am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/63 "2020-08-08T00:15:05Z")

</div>

Hi, @essenciary, great work! I’m curious, in older posts you say you were investigating predix-ui (WebComponents based). What was the rationale for using Vue/Quasar instead?

---

<div class="post-metadata">

**Author:** ![JulesA](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/julesa/32/10082_2.png) [@JulesA](https://discourse.julialang.org/u/JulesA)\
**Post date:** [August 10, 2020, 3:37pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/64 "2020-08-10T15:37:35Z")

</div>

Hi,

Looks like a very promising alternative to the RStudio Shiny application. Thanks for all of the hard work to put this together!

I’ve successfully tested the “Hello” example as well as the two Stipple examples provided within a LAN that connects via a local IP address. The “Hello” example also works when accessed from a public IP address. HOWEVER, the two Stipple examples do not properly render the plots when accessed from a public IP address. To clarify: the main page is loaded, controls can be accessed and modified, but the plots do not render. I’ve tried it on two different public IP servers—same thing.

Thanks!

---

<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:** [December 15, 2020, 7:25pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/65 "2020-12-15T19:25:37Z")

</div>

Hi everybody! I’m bringing some very cool Stipple updates! We have assembled a small team to build a greater, better and more powerful Stipple 🤩 We’re working on a pretty crazy feature set including the reactive Julia library/API, a visual UI builder (the drag-and-drop kind), code editing and notebook (Pluto) integrations, and one click publishing/deployment on the web (starting with free hosting and with straightforward options for scaling up).

We’ll soon be opening for beta access and we’ll be progressively inviting users to the platform. If you want to try out the new features, please check the website and sign up for the beta! 🎉

[https://stipple.app/?utm\_source=discourse&utm\_medium=post&utm\_campaign=signup&](https://stipple.app/?utm_source=discourse&utm_medium=post&utm_campaign=signup&)

---

<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:** [December 16, 2020, 7:31pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/66 "2020-12-16T19:31:25Z")

</div>

You beat me to it! 😃

I think this is a great idea and if I could clone myself, I would have tried to do this ages ago. It’s great to see this coming alive. Best of luck! 🚀💪

---

<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:** [December 16, 2020, 8:18pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/67 "2020-12-16T20:18:25Z")

</div>

PS: It looks like the “Sign up for Beta” button isn’t working.

![image](https://global.discourse-cdn.com/julialang/original/3X/9/c/9c175253c1442e07cbb8871773f4e0be66f49f6c.png)

---

<div class="post-metadata">

**Author:** ![phelipe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/phelipe/32/14643_2.png) [@phelipe](https://discourse.julialang.org/u/phelipe)\
**Post date:** [December 17, 2020, 1:26am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/68 "2020-12-17T01:26:59Z")

</div>

There is a problem with jquery and “sign up for beta” button. I think replace “[https://code.jquery.com/jquery-3.1.1.min.js](https://code.jquery.com/jquery-3.1.1.min.js)” for “[https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js](https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js)” maybe solve the problem.

---

<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:** [December 17, 2020, 8:51am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/69 "2020-12-17T08:51:54Z")

</div>

Thanks @anon67531922 and @phelipe ! Looks like the jQuery CDN might’ve been down. All seems to be working atm.

---

<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:** [December 21, 2020, 10:47am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/70 "2020-12-21T10:47:44Z")

</div>

We’re still looking for a founder with business background in the team 😉

---

<div class="post-metadata">

**Author:** ![anon92994695](https://avatars.discourse-cdn.com/v4/letter/a/ce7236/32.png) [@anon92994695](https://discourse.julialang.org/u/anon92994695)\
**Post date:** [January 3, 2021, 12:11pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/71 "2021-01-03T12:11:14Z")

</div>

Looks awesome Essenciary! I’ll probably try the Beta out at some point. This is a long sought after toolset for the Julia ecosystem.

Could Stipple also run locally, IE for desktop apps? I’d be very interested in deploying to simple local dockers that kick up pretty UI’s to do useful stuff.

---

<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:** [January 4, 2021, 9:07am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/72 "2021-01-04T09:07:45Z")

</div>

Yes, it will definitely run locally, the core package is already open sourced at [https://github.com/GenieFramework/Stipple.jl](https://github.com/GenieFramework/Stipple.jl) (although more work is needed re documentation). Also on the roadmap (though further away) would be native UI building via some form of Vue native (eg [https://github.com/mimecorg/vuido](https://github.com/mimecorg/vuido), [https://vue-native.io/](https://vue-native.io/), [NativeScript](https://nativescript.org/vue/) etc)

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [March 27, 2021, 7:26am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/73 "2021-03-27T07:26:44Z")

</div>

What is your take on [svelte](https://svelte.dev/)?

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [March 27, 2021, 2:03pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/74 "2021-03-27T14:03:48Z")

</div>

@essenciary, would you have a layman’s example of how Stipple can run locally? Thank you.

---

<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:** [March 27, 2021, 6:22pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/75 "2021-03-27T18:22:56Z")

</div>

I love it! However, it uses compilation which would’ve complicated matters in terms of dev environment and Julia integration.

---

<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:** [March 27, 2021, 6:25pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/76 "2021-03-27T18:25:30Z")

</div>

Try some of these [GitHub - GenieFramework/StippleDemos: Demo apps for Stipple](https://github.com/GenieFramework/StippleDemos) (the German Credits one is broken atm, but the others shold be fine).

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [March 27, 2021, 9:18pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/77 "2021-03-27T21:18:49Z")

</div>

@essenciary, gave it a try and tried the “IrisClustering.jl” demo, using Julia 1.6.0 on Win 10, and within the comfort of VS Code.

Stumbled first on an error message:

```julia
Web Server running at http://127.0.0.1:8120 
Genie.AppServer.ServersCollection(Task (runnable) @0x0000000019fd4330WARNING: both Stipple and DataFrames export "select"; uses of it in module Main must be qualified

```

Which was fixed by writing: `Stipple.select`

Then ran the demo again and suddenly the beautiful web GUI showed up:

 ![Stipple_Iris_k-mean_web_GUI_demo](https://global.discourse-cdn.com/julialang/original/3X/d/9/d9f3d5464a1b64d650db7b79ceaf8ab28ef1a9f5.png)

_[PS: edited question here below]_

Not clear how one can exit the interaction of the Julia program with the web GUI and continue with the program execution?  
Would it make sense to add a button menu to the GUI for allowing “exiting” ?

Thank you.

---

<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:** [March 28, 2021, 11:44am UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/78 "2021-03-28T11:44:03Z")

</div>

Assuming you started this per the README, in the REPL, you can just continue working in the REPL - the web GUI (web server) is run async. As you work, you can reload the web GUI and see the changes. You can stop the server back at the REPL using `down()`.

Exit button in the GUI - wouldn’t that allow any random user to kill the web app for everybody?

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [March 28, 2021, 5:51pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/79 "2021-03-28T17:51:02Z")

</div>

@essenciary, it worked perfectly from the Julia REPL and it looks great, thank you. No need for an exit button.  
If using VS Code terminal, the plots are not showing up now. Will try again when will have more time.

Would this type of web GUI be appropriate for the following sort of application:

- A Julia program with a while loop and terminal menus and which keeps running until an “Exit program” option is selected. Then from this program, at different points the web GUI could be called to display plots and chose parameters for subsequent computations.

- Btw, is anyone aware of examples of such Julia programs that are run using (terminal) menus? I had something working like this in Scilab very conveniently, but not sure if this makes sense in Julia

---

<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:** [January 16, 2022, 5:43pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/80 "2022-01-16T17:43:08Z")

</div>

Genie and Stipple have come a long way since we started this thread. Here’s a cool project that we’ve built, as an example of what can currently be done with the packages.

Website: [https://pkgs.genieframework.com](https://pkgs.genieframework.com)  
Github repo: [https://github.com/GenieFramework/PkgVizBoard](https://github.com/GenieFramework/PkgVizBoard)

Enjoy!

---

<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:** [April 29, 2022, 1:29pm UTC](https://discourse.julialang.org/t/stipple-reactive-data-dashboards-with-julia-wip/37291/81 "2022-04-29T13:29:17Z")

</div>

Quick update, we’ve recently released the documentation for Stipple. We hope it’ll help you build data apps and reactive dashboards quickly and efficiently, with low-code Julia.

Docs: [Documentation - Genie Framework](https://genieframework.com/docs/)

We’ll keep improving our documentation in the coming weeks - ping me if you’d like to contribute and help us make it better! 😊

 ![Stipple Docs_Twitter_KV](https://global.discourse-cdn.com/julialang/original/3X/f/a/fa5328a26c37d81ec92944c612557ee52600722d.jpeg)

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

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