Mental health app for female-identifying and non-binary individuals that enables users to attend audio-only support groups led by peers and offers a platform to post thoughtsand experiences.
A solution that helps female-identifying and non-binary individuals to come together and discuss various topics relating to their lives. There are many social audio room apps available on app stores, however, they are overcrowded, unsafe, and not exclusively for the community. The idea was to create a safe and exclusive platform for participants.
The backend services were built on the AWS platform. We used a serverless solution using AWS Amplify and Cloud Functions. AWS Amplify was used to connect the mobile app with AWS services such as Cognito and DynamoDB via GraphQL queries. This gives the mobile client more control to dynamically decide on the set of data to request from the backend. Cognito is used to manage user information. Cognito has in-built support for user authentication, user verification via OTPs, and user management features. We used AWS Lambda to build cloud functions for custom tasks such as updating the database or scheduling jobs. Lambdas were preferred as they use resources only when required, compared to EC2 instances that use resources all the time.
The use of Cognito negated the need to build a separate solution for user management. Cognito takes care of authentication and verification of users and is secure by design.
GraphQL proved to be beneficial from a frontend perspective where the frontend decides what data to retrieve for each query.
Lambdas are auto-scaled, so scalability was not a concern.
Lambda functions are billed only when used. This proved to be a better option than EC2 which is billed round the clock.