Black Lives Matter. Please consider donating to Black Girls Code today.
https://www.blackgirlscode.com

Show and Tell - Community Thread 🎉

Hi Dash Community,
Hello, first of all, I’d like to thank Plotly and Dash development team for these highly useful technologies. I found many useful tips from the community especially those posted by @chriddyp .
Here is a link to my Dash application which is a based on my PhD research. It provides an interactive visualization tool for rock physics studies. It helps geoscientists and specifically geophysicists to understand how rock properties vary due to the changes in the fluid content.
I have deployed the app on Amazon Web Services (AWS).
Rock Physics of Oil Sands
Thank you all

4 Likes

Hi Dash Community,

I used Dash to explore the trade space of a Lunar Lander using CasADi for optimal control. You can check out the Dash app here, or the blog post I wrote about the project here

3 Likes

We have an exciting prototype for push (WebSocket) support and are looking for a partner to help us take it to the finish line:

Please reach out if your company is interested in a realtime streaming capability for Dash:

(cross-posted on GitHub:https://github.com/plotly/dash/issues/1110 )

1 Like

I’m happy to share my first Dash project.
It’s not a sophisticated project, but this was my first web development project in all life.

https://trich-churncustomer.herokuapp.com/

I’m working in another one, and I intend to implement a predictive system in this Churn Customer project.

Thank you all the community, I’m learning a lot in the last weeks and I want to start to develop “real-life” projects very soon.

Feel free to suggest improvements, feedback or contact me on Linkedin/Kaggle

5 Likes

Wow that design is really good! Great work.

2 Likes

Hi Dash Community,

Here I want share with you my first dash app: coronavirus global case monitor. Here is a screenshot of the dashboard

I learned a lot from plotly community and thanks very much for the dash team.

Please feel free to comment.

Jun

10 Likes

Hi guys!

I’m happy to share with you my new Dash Web App Development.

It’s one where I have applied some NLP techniques like tfIdf, reviews clustering, information extraction with spaCy and with a system to recommend wines using a collaborative filtering system!

https://wine-app-recommender.herokuapp.com/

All the code is on my Github.

Feel free to give your feedback if you want or to add me on Linkedin!

3 Likes

I am excited to show an earthquake tracking system dashboard built by our team as a part of our project. I know it’s a basic stuff but an interesting one. It displays the real time results earthquakes across the world. Regions like Alaska, Canada, Indonesia, Japan etc are very prone to earthquakes. Almost 200-300 earthquakes happen on a daily basis in which most of them are not felt. Earthquake can be caused not just by the rupture of tectonic plates, there are also various other reasons.

In the part two of our project we sort of collected 50 years of earthquake data and visualized it on yearly and area based.

The real time app can be seen here
https://earthquake-tracking-system.herokuapp.com/

The blog for the model development can be found here

Thanks Dash community.

1 Like

Hey everyone,

I’ve just redesigned the dash-bootstrap-components documentation app, which is itself a Dash app, and I thought people might be interested in some of the details. Read on if so, check it out here, or take a look at the source code on GitHub.

Structure: The app is actually 27 different Dash apps stitched together with Flask (:face_with_raised_eyebrow:). Each example and each of the component pages in the docs is its own Dash app. This is to let me control navigation without having to write callbacks, and to make it easier to avoid component id clashes within each app. I use DispatcherMiddleware to route requests to the relevant apps, as recommended by the Dash docs. These apps are of course generated rather than all instantiated manually.

The HTML pages are generated from jinja2 templates, which I also use to generate custom index_strings for each of the apps so that they match the style and structure of the rest of the app.

Components pages: As mentioned above, each of these is a Dash app with a custom index_string to add the navbar and sidebar etc. Each component page is mostly text content with interspersed code snippets + live examples running those code snippets. To help make this more maintainable they are written as markdown templates. Here’s the template for the Button docs for example. A custom markdown parser reads this, and when it sees something like {{example:components/button/simple.py:buttons}} it loads the Python object buttons from the specified file and drops it into the layout.

Examples: These are running apps from the examples folder in our repo. Code from the examples folder gets copied into the docs folder at deploy time (to make sure the example apps on the site are running the same code that is present in the repo). Rather than just running the app though, we make a new app so we can ensure we have the correct URL prefixes set etc., copy the layout and callbacks across from the original app, and set a custom index_string using jinja2 templates, so that the example app appears to be embedded in the documentation (like this). In actual fact the Dash app that is running is also responsible for the navbar at the top and the source code below the example, but the example code would generate only what’s visible in the window.

Style: All of the styling is done with Bootstrap (would be weird to make a different choice for this particular app :upside_down_face:) and is responsive, almost all of it looks pretty good on mobile and smaller screens! The app also includes some CSS to replace the Loading... in each of the Dash apps with a Bootstrap style loading spinner.

Anyway, hope that was interesting if you read this far. There were definitely some interesting technical challenges to solve making it.

8 Likes

Thanks a lot for sharing!
I was wondering how to include jinja2 templates in index_string and following what you did helped me greatly!

Do you know if there is a large performance difference between registering each app to the flask server and using DispatcherMiddleware?

2 Likes

I haven’t actually benchmarked it, but I wouldn’t have thought it is going to make a massive difference. Each app is a collection of functions for processing requests, and rules for which function is used based on the route. In the multiple app case you just have an additional rule controlling which app is used to handle the request.

One thing I did do to help performance was set serve_locally=False on all the apps. If I didn’t do this, then the JavaScript bundles would be served by the underlying Flask server for each app and fetched from something like

/app1_prefix/_dash-component-suites/dash_renderer/dash_renderer.vXXX.js

I.e. the location of the bundle changes for each app. By fetching them from a CDN the location doesn’t change between apps and the browser can do some caching between pages.

1 Like

I contribute a Python Interactive Dataviz Covid-19 Dashboard - it’s open source, has very little code (focus on the .py), included plotly express animating timeline, simple plot interaction - brushing/linking of barplot. See 'about this dashboard, updates John Hopkins data daily, I’m open for contribution and ideas, or thinking about doing a demo/tutorial article or webinar if there’s any interest.

2 Likes

Very nice NBA app by @kief3r in Show and Tell - NBA Prop Market P&L Tracker

2 Likes

Hey guys,

after almost a week of headaches to deploy this project, I finally did it.

I’m happy to show to you all my new project using Dash/Plotly, and this time, it’s a system where I can collect and analyze the data in the fly.

https://bbb-twitter-monitor.herokuapp.com/

I intend to keep improving the layout and also implementing new features that can make it more robust and useful to commercial solutions.

I hope it can inspire some of the other users to create new solutions based on it.

2 Likes

Hi Fellows!

I have deployed a new WebApp using Dash.

Now, it’s an application to query projects and also, add new ones that will be queried by Spark or other tool on the DB.

It has a system using Dash Bootstrap Component where it opens a modal component to register new projects and add automatically on the DB.

Also, we have upload and download options (only the upload task is implemented so far)

I hope that it can inspire other creators to build something using this amazing library!

Link to the application:
https://crud-sparksql.herokuapp.com/

1 Like

Hi there. Today I have deployed a new Dash WebAPP.

This time it’s a COVID-19 dashboard with a forecasting system.

https://trich-coronavirus.herokuapp.com/

It keeps demanding some improvements and corrections, but it’s OK to the be a initial version of the app;

4 Likes

Very nice. Is there any epidemiological theory behind the parametric curve fitting? Or is it a purely mathematical exercise?

I have made my own Covid 19 Dash with extremely simple forecasting. I chose to forecast using the latest rate of change. My theory was that, given the complexity of the system and the changes in population behaviour, the best approximation of R_0 in the short term came from the current rate of change. Obviously, this results in exponential growth, so it is no good for long term forecasting.

https://covid-dash-ds.herokuapp.com/

2 Likes

Hey guys,

I have created and deployed a Dash app that predicts whether or not there will be precipitation tomorrow for weather stations in Canada.

https://canada-precip.herokuapp.com/

The idea is based off of Rain in Australia on Kaggle.

More information and code can be found on GitHub.

First time I have done anything with web app development or machine learning, let me know if you have any suggestions or ideas for improvements!

Cheers

1 Like

Really great idea! Cool to see Decision trees used here:

Decision Tree Classifier trained on 10 years of daily station data (2010-2019) for 83 stations (670000 samples). Accuracy of 85%.

If it’s time series data, have you tried Facebook’s prophet? it’s very simple to use.