The world is going through a pandemic. We all know that COVID-19 virus spreads quickly when you come in human contact. Therefore, it is necessary to stay at home as much as possible, especially given the new stay-at-home order issued 4 days ago in response to cases doubling over the past 2 weeks. This works to help:
- To lower chance of infection as only a few people are at home.
- To stop the spread of transmission to others.
Sounds simple. Right? However, it is difficult for people to stay in their homes. American Society of Training and Development (ASTD) did a study on accountability and found that you have 65% of completing a goal if you commit to someone. And if you have a specific accountability appointment with a person you’ve committed, you will increase your chance of success by up to 95%. So, we made an application that holds people accountable to their friends in fighting this pandemic.
What it does
Homies is an app to hold social accountability of staying at home through accountability "squads". At the beginning of the week, users send in a piece of collateral in the form of an embarrassing photo.
Users accumulate demerit points when the app detects that they have left their home, and the point value for a certain activity is determined based on its associated risk level. The app analyzes locations for popularity and peak times and will place a larger demerit point value on locations that are more crowded. The app can also detect if a user purposefully turns off their location setting, and will penalize them with demerit points for that.
At the end of the week, the user with the most demerit points in their squad will be subject to having their embarrassing photo posted automatically to their social media page for everyone to see.
The gamification of the stay at home order encourages friends to hold each other accountable in keeping our communities safe.
How we built it
We made a full design and prototype of the application in Figma. We used Android Studio with Flutter SDK to work with the Google Maps and geolocation API and popularity data from the BestTimes API. The user selects a timeframe in which they are able to go for a trip, and the API aggregates the popularity data of the nearest stores, assigning points accordingly. The Facebook API was then used to automatically post the embarrassing photo for the loser of the week.
Challenges we ran into
Because none of us had prior experience with Flutter, we ran into a lot of challenges like making the application within a given timeframe and copying over the components from Figma into Flutter without alignment issues, missing elements, and distortion. We also ran into troubles with integrating the many different APIs we used since none of us have had experienced with this before.
Accomplishments that we're proud of
We are proud to have been able to learn app development from scratch and build the application along with design and prototyping. We're also proud to have gotten some of the APIs we experimented with to work. We accomplished making the Minimum Viable Product and were successful in adding many of the features.
What I learned
We have learned how the software development lifecycle works, and how to best optimize your time for maximum results in the short span of a hackathon. We learned to build an app and design prototype. We learned to integrate multiple APIs in our project as well. Apart from technical knowledge, we learned to ask for help from mentors when we need it and how to optimize for time and efficiency when working with a team operating in different time zones.
What's next for Homies
In the future, we hope to streamline the app and its features, including adding notifications for announcing the loser of the week, and implementing the storage of the different collateral material using Dropbase API. We also hope to potentially increase the different methods of collateral, including more than just embarrassing photos but perhaps embarrassing tweets (using the Twitter API) or others.