Wednesday, May 5, 2023
We won one of the biggest hackathons in Toronto!
I love hackathons. I love the intense sleepless nights working on a project that I deeply care about. Winning hackathons also opened doors to work opportunities for me in ways unimaginable.
On May 6th, 2023, I took part in the Thinking North Smart Cities Hackathon, organized by Seneca College. 713 people registered as participants for the event from all over Canada and beyond. There were six challenge sets and participants were free to choose one and create an innovative service or product in that space.
My team, Foam on Latte, won first prize in the hackathon.
Team Foam on Latte creates Mood Vault in 48 hours
My team was a dream team of three full-stack developers who worked with mind-blowing efficiency to bring the product from ideation to prototype within just 48-50 hours. The team members along with me were Batuhan Ipci and Hien Nguyen.
Inspired by my mental health battles and then watching a loved one suffer from OCD to the point that it was interfering with her daily life, I knew I had to go with the mental health challenge set. So, I came up with a list of ideas and pitched them to my team, convincing them to pursue the mental health category.
The brainstorming process
We asked ourselves a few important questions for the brainstorming process.
- What is the current communication process like between doctors and patients?
- What are the areas of inefficiencies?
- How do therapists collect insights about their patients?
- What is the review process like for therapists?
- How do therapists make decisions?
Through all these questions, we recognized the lack of a system that allowed therapists to monitor their patients' mood changes and emotions in real time between counselling sessions or therapy appointments. To fill in this gap, we created MoodVault—a platform enabling daily mood tracking and journaling, powered by AI summarization for therapists to review between appointments.
Mood Vault proficiently detects and analyzes sentiments expressed within journal entries by leveraging the power of Natural Language Processing (NLP). It goes beyond mere sentiment analysis by identifying signs of suicidal ideation and promptly alerting therapists if such indicators are present in the logs.
The current system supports translation services encompassing a staggering 75 languages, effectively eliminating language barriers that may impede effective communication between patients and therapists.
It gets even better, an integrated transcription functionality allows patients to articulate their thoughts and feelings using the device's built-in microphone, thus removing the need for manual typing. This feature extends accessibility to a diverse range of individuals, including the elderly, the visually impaired, and others who may encounter difficulties with traditional text-based input methods.
Many mentors and judges expressed how this product could be adapted to other use cases such as case managers collecting stories from the field which could be easily summarized for faster processing and gaining better insights. The elderly could use it to log in their daily health conditions or thoughts and be especially helpful if they have memory loss issues.
The system architecture 💻
Our front end was created with React using Vite and Tailwind CSS. The backend was done using several AWS services. We created a cost-effective and efficient backend system that utilizes serverless architecture to handle over 10,000 requests per second.
The system is highly available, secure, and reliable to handle long-waiting tasks asynchronously while also implementing error handling, retrying mechanisms, and logging mechanisms for debugging. We implemented a flawless authentication system to safeguard user identity and their data. This system can be extended to integrate with existing clients' business authentication systems using AWS Cognito and custom authorizers for fine-grained access control.
- Summarization was done using AWS Sage maker
- Text Sentiment analysis was done using AWS Comprehend
- Translation for 75 languages was done using AWS Translate
Transcription was done through AWS Transcribe
Keeping user information secure
Given the nature of our system where therapists and patients share their private information and details, security and confidentiality were crucial to address. We used AWS Cognito which provides security by offering user authentication and authorization services, including features like multi-factor authentication, encryption, identity federation, and fine-grained access control, ensuring secure access to applications and protecting user data.
In the frontend we used Content Delivery Network (CDN) that protects through various mechanisms.
CDNs provide protection through:
- Distributed infrastructure for improved availability and resilience.
- DDoS mitigation to detect and block large-scale attacks.
- Caching to reduce the load on origin servers and deliver content faster.
SSL/TLS encryption for secure data transmission.
Benefits of using Lambda functions
If you look through our system architecture diagram, you will see that we have used a lot of lambda functions. Lambda functions have many benefits.
- Scalability: Automatically scale to handle high traffic without manual server management.
- Cost-efficiency: Operated on a pay-as-you-go model, eliminating the need to provision and maintain idle servers and resulting in potential cost savings.
- Reduced operational burden: Focus on coding while infrastructure management is handled.
- Faster time to market: Swift development and deployment without a server setup.
- Increased scalability and availability: Highly available and fault-tolerant for reliable performance.
- Seamless integration: Easily integrate with AWS and third-party services.
- Flexibility and extensibility: Support multiple languages for diverse use cases.
Cost comparison
Every pitch deck requires a cost or pricing model. Our serverless architecture helped us prove to the judges how this leads to cost-saving benefits compared to a monolithic architecture.
- Cost efficiency: Operated on a pay-as-you-go model, eliminating the need to provision and maintain idle servers and resulting in potential cost savings.
- Automatic scaling: Dynamically allocates resources based on workload, scaling up or down as needed, avoiding over-provisioning and reducing costs.
- Reduced operational overhead: Serverless architectures relieve developers from tasks like server provisioning and maintenance, reducing operational costs and efforts.
- Development efficiency: Serverless architecture promotes modularity, allowing independent development and deployment of functions, leading to faster development cycles and potential cost savings.
Optimized resource utilization: Serverless platforms allocate resources on-demand, ensuring efficient resource utilization and minimizing costs associated with underutilization.
From hackathon to startup? 🚀
We received a lot of interest in our project as judges were blown away by our presentation, innovation and the way Mood Vault would change the way patients and therapists communicate.
We are currently making our minimal viable product (MVP) even better and more secure. We are fixing the UI/UX and preparing a better pitch deck along with it!
After this phase of development, we hope to partner with mental health organizations or a university/college for piloting Mood Vault.
Foam on Latte as your mentor!
After our hackathon win, a lot of students and recent grads approached us for advice and mentorship. We received questions about cloud computing, working under pressure, career development and strategies to win hackathons. We thought, why not brand ourselves under 'foam on latte' and start offering mentorship in a more professional and organized way?
Foam on Latte has become more than just a team name; it is now an identity—a symbol of our journey from hackathon success to mentors and consultants. You can message us anytime on Foam on Latte and ask for mentorship.
P.S. We became kind of famous on LinkedIn before the hackathon final round when I shared the behind-the-scenes of our hackathon work. Watch it here!
I guess that was good (accidental) marketing on our end! :)