Git Product home page Git Product logo

dsci_532_group26's Introduction

An App to report Survey on Mental Health in the Tech Workplace

Contributors Github
Bruhat Musunuru @bruhatM
Siqi Zhou @roycezhou
Chun Chieh(Jason) Chang @jachang0628

Dashboard link

https://mental-health-dashboard-ubc.herokuapp.com

About

Our app aims to present the statistics of people who worked in the tech sector and their mental illness history versus employers' attitudes towards mental illness across different states in the USA. We hope that by presenting these statistics, employers around the world can stop overlooking the issue of mental illness and create a less stress-inducing work environment.

Description

This APP has a dashboard that summarizes the information given by the participants who took the mental health survey. In the right panel, there are multiple tabs that contain different graphs. In the Mental Illness History tab, we have plots to represent whether an individual's mental illness interferes with work, how often that an individual talk to his/her supervisors, and whether an individual seeks treatment for mental illness or not. In the Company Culture tab, we have plots to represent whether the employer takes mental illness seriously, the easiness to leave work due to mental reason, and the workplace benefits between states. In addition, we can further filter the above graphs using state, gender, and the ability to work remotely. Finally, the third tab has the demographic information regarding all the participants. Note that the graphs in the third tab are static so they won't be affected by the global widget.

In the left panel, the users can filter the states they are interested in. All filters will directly affect the 6 plots produced on the right. By choosing a state, the plot will only show the data that is restricted to that particular state. By selecting the gender, all 6 plots will only include the specific gender (male, female, all) with the corresponding mental health data. Hence, users can fix a certain gender that they are extremely interested in. Similarly, users can use the remote work button to filter data for all 6 plots as well. They can also choose to show or hide the bars of the plots by clicking on the corresponding legends.

With these information, we hope to answer the research questions such as how do the number of people who sought treatment compare between states, how easy is it to leave work due to mental health issue, and how does the frequency of mental illness that interfered with work vary across states etc.

Initial app sketch

Alt text

Dashboard in action

Alt text Alt text Alt text

Usage

Access dashboard at https://mental-health-dashboard-ubc.herokuapp.com

To build a local dashboard

Step 1:

Clone this repository to your local PC.

Step 2:

Create a conda environment using environment.yaml at the root of this project.

conda env create --file environment.yaml

Step 3:

Activate a conda environment by running the following command at the root directory of the project.

conda activate dash_env

Step 4:

Go to the root folder of the repo and execute python src/app.py.

Reference

Mental Health in Tech Survey dataset

dsci_532_group26's People

Contributors

roycezhou avatar jachang0628 avatar bruhatmusunuru avatar

Watchers

James Cloos avatar

dsci_532_group26's Issues

To-do Tasks for Milestone 1

  • proposal.md

Section 1: Motivation and Purpose

Section 2: Description of the data

Section 3: Research questions and usage scenarios

  • README.md

Description of your app

Draw a sketch

  • Team work contract and collaborative documentation

team-contract.md

CODE_OF_CONDUCT.md

CONTRIBUTING.md

  • Start developing your app (Optional)

Milestone 1 Feedback

Hi Group 26,

This is a very interesting data set choice! I really applaud your aspirations for making a dashboard that would help employers and employees improve working conditions for tech workers.

  • I am having some trouble aligning your dashboard with your scenario and data. The data set is not very big so I’m wondering if all of your data is from one year. In which case you don’t need the year selection. I do not see where the year selection ties into the plots you have proposed.
  • I am also not sure you can generalize your data to a proportion of population, and using counts might be a better choice. Also, do you have more data points in different countries than others, certain countries definitely have bigger tech industries than others. So I am not sure if a user could make conclusions on which country has the best working conditions based on this data. The more I think about your data the more I question what can be done with it without knowing more about how the data was collected, by who, and why.
  • I am not sure you can answer most of your research questions with your data and dashboard. Come talk with me to brainstorm a re-frame of your approach.

Peer feedback from Julie, Group 25

Hello Group 26!

This is Julie from group 25 and I'm super excited for the information you gave me! You are working on such a meaningful and philanthropic topic, that I am very concerned as a veteran in tech industry.

I like how abundant the effects are in your layouts, the filters ,drop down menus and the selection of data. As a peer student, I know how much work you put into this. Thumb up for all of you!

Here are what I think could improve my user experience and understanding: having a more intuitive interface would facilitate me as a mobile user, and I want to know more about the details of the data.

  1. The selection of time line would be better if you use a slider on month other than selection of a specific date.
  2. It not clear how you derive the proportion of population: it seems there is always many more female than male in all your 3 charts evolves gender.
  3. Some basic knowledge provide first, like EDA of the data poll would be helpful in understanding the data.
  4. From the plot in your report.ipynb file, I can tell that the data is much concentrated on US, would you consider doing a layout specifically on US other than the selection of multiple country?
  5. I would like to see time trends in one feature on one specific country.

Please let me know if you have any questions or clarifications!

Meeting minutes 01/21/2021

Breakdown:

The TAs will check that you have some issues and PRs in your repo for this milestone

  • Interactive Dash app in Python and Altair

  • 1. Altair + .ipynb under /reports (Siqi by tonight (sg time))

  • 2. Dash (app.py) (Jason)

  • 3. Deployment on Heroku (Bruhat)

Deploy your app on Heroku and include the link to your deployed dashboard clearly visible near the top of your README.

Procfile

requirements.txt

  • 4. Reflection (Siqi)
  • 5. folder structure (Siqi)
  • 6. Improve the README

TODO - Milestone 4

  • implement TA's feedback under app.py - Jason
  • write reflection file - Siqi
  • trivia (Modify repo description, reply to peer's feedback) - Siqi
  • deploy - Bruhat
  • optional: doctoring - Siqi and Jason
  • optional: Setup app reviews with Heroku - Bruhat
  • Lastly revise README before submission

TODO list - Milestone 2

The TAs will check that you have some issues and PRs in your repo for this milestone

  • Deployment on Heroku

Deploy your app on Heroku and include the link to your deployed dashboard clearly visible near the top of your README.

Procfile

requirements.txt

  • Interactive Dash app in Python and Altair

Dash

Altair + .ipynb under /reports

  • Reflection
  • folder structure
  • Improve the README

Milestone 2 Feedback

Hi Team 26,

I know this is long, but since I don't get the opportunity to speak with you in person I wanted to give you more feedback and suggestions.

Well done putting together your proposed dashboard!! I like the direction you are going in.
All the elements are connected and respond to the selections. I did find using the calendar a little hard. I’m not sure this level of granular control of date range is adding value. Either a drop down menu to allow a user to select the year they want to see data for, or a slider to allow the user to pick the range of years would be functionally a better choice.
With your specific variables of interest, it would be nice to see a summary line graph of the trends over time. This could also be interactive and be connected to the country drop-down.
I am still not clear what proportion of population is referring to or if counts would be better.
I’m really looking forward to seeing what you decide to do with the work_interfere variable. I think this will add some helpful information. I hesitate to assume that the categories ‘Rarely’ and ‘Often’ means they have a mental illness. They may have encountered excessive stress, but don’t have a mental illness. Again, check with the data source to see what you can or cannot say about this new variable.

I did manage to find the organization that collected the data, and I would highly suggest browsing their website to understand the motivations behind this survey to help you decide what would be helpful to display in the graph. There is also 2016-2020 data that you could add to your data if you think it would help. You can also look at some basic reports they have for each of the years they collected data for. https://osmi.typeform.com/report/A7mlxC/itVHRYbNRnPqDI9C
(main site) https://osmihelp.org

I think an approach that highlights the basic demographics of the ppl who completed the survey, then followed by some information broken into groups by country or other variables like what you have now would be a nice way to allow the user to best understand the data. In a way I think you are doing that right now with your first graph.I would then put all three of your gender split graphs in one line, and add a line graph to show trends over time using proportion of survey respondents as the y-axsis. With survey data there are always so many ways to subset and compare the data, which sadly you don’t have time to do to help you narrow down on key points. That’s why understanding the goals of this organization is helpful so that you know what they think is most important and you can start there.
This also means I would suggest making this organization and their followers your target audience for your app. You are providing them a more in-depth and interactive dashboard to complement their basic survey reports. And the questions you ask be framed as ‘of survey respondents (total, or of a certain country), what gender differences did we see in _______’

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.