Overview
During the Fall 2020 semester, which was my senior year at AU, I participated in a project for a capstone class. The goal for the class was to create a project that addresses a current real world problem. I teamed up with Nathan Kennedy and Anthony Baron to create an Android application called “pos.it”.
This app addresses the real world problem of mental health, especially in this quarantine climate and pandemic, and will hopefully help to destigmatize talks surrounding mental health between individuals. With negative stories in the news regarding the pandemic and other issues such as racial injustice and politics, this app provides a source of positive news for a more pleasant outlook on today’s society. This app also gives users a private outlet of expressing their mental health to themselves and keeping track of their progress.
Collaboration
The Fall 2020 semester was held online, so we kept in touch through a group chat and virtual meetups (Zoom) every week to discuss accomplishments and upcoming objectives. We used Github as our Version Control System.
Roles
Branding
I came up with the name, designed the logo by playing with the Wix Logo Maker tool, and chose the color scheme from Coolors.
UI Design
I designed the UI and built the prototype using Figma.
Frontend Development
Nathan and I implemented the prototype in Android Studio by coding in Dart. Whilst Anthony worked on the backend.
Deliverables
Key aspects to the app were the following:
- An inspirational quote, which changes every day or every time the user logs in.
- A calendar where the user can input a sentiment value in the form of a number and corresponding color, as well as a description to elaborate on their experiences and feelings for that day.
- A news section that takes the average mood of the month and will filter articles according to the value, narrowing the articles down to stories that will help boost the user’s sentiments.
Tools and Technologies
Design
- Wix Logo Maker - creating the logo
- Coolors - generating the color scheme
- Figma - prototyping the app
Frontend
- Dart - frontend language
- Flutter - SDK from Google that allows developers to develop for Android and IOS
- Android Studio - IDE
Backend
- Node.js - backend language
- AFINN-165 - Sentiment Analysis of Google News articles
- Google News - news source API
- Google Firebase - Database/Backend management
Roadmap
Branding
Sketches
Prototype
Code
Github Links
Final Product
Potential Add-Ons
A couple of features we could not develop due to the time constraint was a fully functioning iOS version of the application for the apple ecosystem. Using Flutter as our software development kit gave us the ability to program for both operating systems with very little editing for the application to run. With that said though a little bit of editing is needed and as this was our first time using Flutter we decided to save this for the end to make sure we had a fully functional application for at least one operating system.
Another feature we could get to were more tools for the user to record their mental health, a few ideas we had were: a journal view that allowed the user to write privately and more intimately with themselves.
We could also make use of Machine Learning using the user’s daily descriptions to predict their sentiment and trends based on descriptions. For example, if you claim you got a good paycheck, therefore your sentiment is high, then the application associates pay checks with high sentiments. We can add more resources for the user such as a list of hotlines and mental health resources, as well as advice to specify what users can do based on their sentiments.
Some more accessibility features we can add include light and dark modes and adjustable text and screen sizes. Few other small features to potentially add are saving articles, a search bar on the News section, notifications and a newsletter, location-based news, and allowing the user to follow particular news outlets and topics.
Conclusion: Key Learnings
This was my first experience with developing a mobile app. I had never used Android Studio, Flutter, or Dart before. After this project, I realized the importance of fonts. I did not take into account the fonts we were using, so if we were would do this project again, I would change the fonts to something more appealing and less plain. I also realized the importance of prototyping and planning the design, because it sets the roadmap and flow for the app. Knowing what you are building before you start building is essential to successfully implementing all the required features. Nonetheless, I feel I learned much from participating in this project, from new technologies to collaborating in a team through an online environment.