Inspiration

Pacify was kicked off from an idea, that I've always had of improving mental health support by providing a safe space for users to track their moods and communicate openly with their therapists. Seeing the need for better mental health resources, I thought of creating platform that allows users to express themselves freely and receive personalized care.

What it does

The app that allows users to log their daily moods, track their emotional patterns, and communicate these details directly with their therapists. Through a clean, user-friendly interface, and a powerful system, users can share mood updates, set goals, and engage in self-reflection (Coming soon features). The app also includes a feature for creating mood reports, offering valuable insights to therapists for better treatment planning.

How we built it

The app was built in .NET Aspire 9.0 with a clean frontend and backend managed by the Pacify.WebApiService and Azure Functions. The project is deployed against as separate container apps for frontend and backend and Azure Functions completely running serverless. I've also made use of Azure Redis to cache certain data from Cosmos DB for a faster loads and saving cost of running expensive queries. It goes without saying, but the database used here is Cosmos DB and Azure B2C for Authentication functionality. The usual helpers such as Storage Accounts, and Application Insights are also used to monitoring and storing data files. I'm also making the use of Azure OpenAI Service for generating LLM based requests for texts and even generating the webapi background image using Dall E in Azure OpenAI with the help of again Azure Functions. Within the community forum too, I've made use of Redis to avoid expensive queries on Cosmos and also use of OpenAI to detect any negative posts or comments made including profanity.

I've also built Github Actions pipeline which is responsible for deploying the code seamlessly to Azure. Github Copilot was extremely handy during the development, I made use of the code completion feature, was able to easily debug any broken issues, and even generate some sample data for my CosmosDb instance. It also incredibly helped me with the Github Actions pipeline that I built for deployer the Aspire app and the Azure Functions itself.

Challenges we ran into

The app time! There were ideas pouring out of me as I went by designing the app, but unfortunately didn't have all the time to implement everything, but hey - here's a fully working MVP prototype. Another thing would be the shabby code and responsiveness on mobile phones - this is something that I intend to work on in a new branch namely - clean-up-on-aisle-6.

Accomplishments that we're proud of

Pacify is here! The MVP is ready and I got to learn sooo much!

What we learned

.NET Aspire! This was the first time building a web app with Aspire and it seemed very easy and handing especially the dashboard manager which is really cool and is such a hand when it comes to debugging any errors. Other than that I learnt how to deploy and keep everything under one stack and Azure itself.

What's next for Pacify

Implementation of the remaining functionality and working on my branch - clean-up-on-aisle-6 to make the code more streamlined and responsiveness support.

Built With

Share this project:

Updates