Inspiration
We were inspired after looking at the stigmas that exist in the construction industry and seeing how challenging it can be to open up to not only your friends or family but also to your manager and co-workers about mental health issues someone might be having. This leads to many sad outcomes for their loved ones. Fortunately, there are many warning signs that we can use to help reduce those outcomes and help improve the lives of everyone on the job site.
What it does
Mental Foundation works through 2 main primary workflows. The first workflow is based on the worker. We found many statistics that Procore already tracks as part of their tools. These include stats like number of sick days, how often someone is late for work, and many more. Using these stats we trained an anomalistic model that runs once a week and helps Managers better take care of their site. For the manager workflow, we built out a dashboard app with several statistics such as team health, individual worker views, and sentiment analysis daily check-ins that help take some of that load off the manager's daily duties.
How we built it
That app was built using Streamlit for the manager Dashboard, Svelte for the daily form, and Flask to act as an intermediary between the two sources. Flask then makes further connections to services such as ChatGPT for text generation, a TensorFlow classification model that consumes employee data to find workers who need manager attention and firm resources. Two more connected services included SQLite which was consumed by both the dashboard and the frontend, and Twilio to send daily text messages as reminders for employees to do their daily check-ins. Finally, the entirety of our services are deployed through ngrok for total transparency, and so that everyone can try out this application.
Challenges we ran into
We had a couple of major challenges we ran into. The first of which was our deployed dashboard service had a denial of service attack executed upon it twice during the night that forced us to spend a lot of time securing our application to protect our API tokens from would-be attackers. The second challenge was with Streamlit, a pythonic web application that was entirely new to our team. We slowly overcame this hurdle through the night with incremental progress and the support of the Streamlit community.
Accomplishments that we're proud of
We are most proud of our workflow through this project. We spent significant time trying to come up with an idea that not only improves mental health but has a measurable impact on the company in many different areas. From breaking down stigmas by normalizing the ability to express emotion through a small but constant daily change for these sites. We are also proud of our newest member Joshua who came into this weekend incredibly nervous but proved just how capable he is through his quick wits and constant curiosity.
What we learned
The biggest takeaways from the weekend is how powerful scikit-learn is when training powerful classification models as we managed to get a success rate in the mid-90s. Also, we learned a lot about Hypertext Transfer Protocols and Cross-Origin Scripting. Finally, we had a lot of fun developing with multiple frontend frameworks and being able to compare their benefits and detriments actively.
What's next for Mental Foundation
Next, we want to lean into a higher number of statistics and be able to more actively serve the model at a daily cadence. We also want to switch our backend tool from Flask to something more production-ready.
Built With
- flask
- machine-learning
- openai
- python
- sqlite
- streamlit
- svelte
- tensorflow
- twilio


Log in or sign up for Devpost to join the conversation.