Inspiration

MindCare was born from a personal need for emotional clarity during stressful times. I realized that while many people regularly track fitness or productivity, few of us stop to check in with our own feelings. I wanted to build something that made emotional wellness just as approachable, something calming, empathetic, and easy to use. The goal wasn’t to replace therapy, but to create a small, daily space where people could reflect on how they feel and feel less alone doing it.

What it does

MindCare is a daily mental health companion where users log how they’re feeling by selecting an emoji-based mood. Based on their selection, sharing whether they’re happy, anxious, tired, or anything in between. The app responds with calming, thoughtful suggestions to help them reflect, reset, or embrace the moment. Every log is saved, and over time, users can see their moods visualized in a personalized chart, helping them understand patterns in their emotional life. The app also collects data for each person, and all of the data I find from these anonymous users will be graphed by me as well for a software/mental wellness project.
Another key feature is the Community Mood Wall, which is an anonymous feed where users can share how they're feeling and read others' moods in real-time. It’s simple but powerful. Users can leave short messages or just quietly scroll and support others’ posts. The intention was to create a space that felt safe, even in a digital format.

How we built it

I coded MindCare entirely in Python, using Streamlit to create a simple and intuitive interface. It’s lightweight by design, as moods and community posts are stored locally in JSON files, making it easy to run without a database. The chatbot runs on the OpenAI API, and getting that integrated took a bit of work.

Challenges we ran into

One of the toughest parts was integrating the OpenAI chatbot into the app. At first, Streamlit wouldn’t recognize the API key from the “secrets.toml” file, which led to frustrating errors and unexpected crashes. I had to dig into how Streamlit handles secrets locally vs. on the cloud, and restructure my folder layout to make it work. Debugging that taught me a lot about configuration and environment handling. Another challenge was designing the mood tracking chart. Mapping emoji moods to numerical values for plotting in Matplotlib wasn’t straightforward, and I had to experiment to make it both accurate and readable. Getting Streamlit to update in real time was hard especially for things like support counts on community posts, which also required some tricky use of session state and reruns.

Accomplishments that we're proud of

We are proud to have launched MindCare as a lightweight yet meaningful mental health companion app, entirely built with Python and Streamlit. Successfully integrating the OpenAI-powered chatbot to provide empathetic, personalized responses was a major milestone. The creation of the Community Mood Wall gave users a safe, anonymous space to share feelings and support each other, fostering connection in a digital environment. We also developed an intuitive emoji-based mood logging system with personalized charts that help users recognize emotional patterns. Overcoming significant technical challenges along the way strengthened the app’s reliability and user experience.

What we learned

Building MindCare taught us important lessons about both the technical and emotional aspects of mental health technology. Integrating external APIs like OpenAI required careful environment and configuration management to avoid deployment issues. We learned that representing moods simply yet meaningfully, through emojis mapped to numerical data and needs thoughtful design to ensure clarity and usability. Real-time updates in Streamlit demand innovative approaches with session state and reruns for smooth community interactions. Beyond technology, we understood that mental health tools must prioritize approachability, simplicity, and safety to encourage daily emotional check-ins and foster genuine human connection.

What's next for MindCare

Next up, we want to improve the Community Mood Wall so people can connect and support each other in more meaningful ways. We’re also planning to build better mood analytics that give users clearer insights into their emotional patterns over time. Expanding the chatbot to have more natural, context-aware conversations is another goal. On the technical side, we’ll move from storing data locally in JSON files to using a cloud database, which will help the app grow more smoothly. We’re aiming to reach 10,000 active users and hope to develop multiple pages in the app to add more features and make it easier to navigate, once we have more time to put into it. Finally, we’d like to work with mental health professionals to offer optional expert support within the app, so users can get more help if they want it.

Built With

Share this project:

Updates