During this pandemic, job losses, additional childcare, caregiving, and schooling duties as well as mental distress from prolonged isolation, and loss of routine has affected everyone.
However, self-care and doing what we love are important for staying grounded and resilient during these trying times.
Our chosen track is Health, in accordance with the suggestion of "Making an app that provides mental wellness tips and guidelines".
What it does
Beautifly is a self-care mobile app, built with accessibility, convenience, and security in mind.
- By allowing different ways to interact with the app, a parent can enable the voice-journaling feature and jot down feelings for the day while walking her baby to sleep.
- Similarly, for someone who experienced loss of speech or simply prefers to journal the traditional way, they can handwrite their thoughts to upload as text through OCR in their journal.
- While the app performs sentiment analysis on journal check-in’s to figure out how they are feeling that day and prompts users to reach out to their circle if they are feeling down, that data is discarded after the session closes or when the next day arrives, unless users set in their profile preferences that they want to store and view their data later.
- Being a mobile app, we make it easy for women on the go to check in with themselves and others in their circle.
Our app offers motivation to keep up with goals and develop healthy habits for self-care, using themes of growing your own sanctuary.
Circles: First, we introduce the idea of circles where you are connected with five of your closest people in your life. Each user has their own circle, for instance consisting of their closely people. What you see is specific to you and who’s in your circle and will vary by user. There's a stigma that people should publicly disclose if they're depressed or feeling unwell. Our anonymous feature allows everyone in your circle to check in anonymously daily(or desired frequency) about your mental health. If someone is feeling unwell, you can anonymously support them.
Calendar: Find empty blocks of time in your schedule and fill it with activities that you enjoy. Automatically, nudges you to go do something and take care of yourself instead of idling on your phone or being bored. Like Paint Night on Friday at 7PM.
Goals: Second, we make it fun to work towards your goals of wellness, fitness, spirituality and more. Every time you achieve a goal such as practicing yoga five times a week, you’ll earn a badge in the form of an object like a holly plant. You can then work on creating a personalized space where you might venture beyond what you normally do and explore different avenues of self-care to earn a cozy room to place your holly plant in. Try dragging the holly plant around here as an example personal space (aka repository of earned badges) you'd see on the app.
Shared Goals, we let you reach out to someone in your circle to agree on goals, like 3 days of meditation for you and 3 days of running for your friend. When you both successfully achieve your respective goals, you both become proud parents of a unique baby plant, a virtual badge that can only be earned together. If not there is a stake involved. For Olivia in our demo, she needs to owe Emma a Movie and Dinner night if she doesn't accomplish her goal of reading 3 pages of a book every day. Social accountability is extremely powerful!
How we built it
The app was coded in Swift and a combination of node, express, python, and Google cloud platform’s vision and speech APIs to enable users to interact with this mobile app via voice activation and uploaded images.
OCR: The OCR functionality allows users who prefer to handwrite their journal entry rather than type it out to easily express themselves by taking a picture of their journal entry. Using the Google Cloud Vision API, the OCR model detects the handwritten words and transcribes it into machine encoded text. This is coded using Node.js, Express.js and Multer to allow users to easily capture and upload new images for the model to analyze.
Speech Recognition: This functionality enables users who prefer to speak rather than type out their thoughts for the day to easily express themselves. This was done using the node-record-lpcm16 library to record the user's microphone input with linear encoding and a sampling rate of 16000 Hertz. The recording is then passed to the Google Cloud Speech API for real-time transcription.
Sentiment Analysis: The sentiment analysis model automatically analyzes the user's feelings based on their journal entry to figure out how they are feeling that day and prompt users to reach out to their circle if they are feeling down. The journal entry first undergoes preprocessing by handling the negation of words, followed by tokenization, correcting for spelling errors using Levenshtein distance, removing stopwords and finally stemming the corpus before being fed to the machine learning model. This was coded using Node.js.
Challenges we ran into
24 hours was a very short time-span for us to implement so many features, so we faced a lot of time pressure. But we learned to work well under pressure!
Accomplishments that we're proud of
Sai: This was a deeply impactful idea about creating a community and bringing people together. I designed and developed the Swift iOS application. There were lot of components that needed to be integrated and I'm proud we successfully implemented our vision into reality.
What we learned
We learned the importance of ideating and coming up with a good idea to solve a pressing problem. We also learned the importance of communication and reaching out to wonderful mentors! We learned that simple ideas can have the greatest impact.
What's next for Beautifly
Integrated Fitness routines with existing apps people use.