The pandemic isolated everyone. It was hard to keep up with friends and family when every day felt the same and you couldn't do in-person activities. Conversations also began to stagnate, and many people lost contact with their friends. We decided to create a mobile app that would help people keep in touch with whoever they want. This can also be very useful post-pandemic as we are not always in the same geographical location as our friends and family.
Once a user goes into the mobile app, they will be able to navigate to their contact list or calendar. The idea is to grow a tree between friends that you are good at keeping in touch with. The app will also send out reminders depending on your preferences on when you should interact with your friends. There will be a calendar set up so you can set up those reminders with the people you care about. The app will also contain conversation prompts to promote communication so conversations will never get boring.
First, we designed the app using Marvel and Photoshop. For the actual coding, we used Flutter and Android Studio, which allowed us to emulate an Android app. After designing, we first started with making the contacts page and the calendar. Then, we moved on to connecting these pages together in the app. We also created one on one pages, which represent the user's relationship with each contact as a tree, and a way to set up the desired frequency of contacting their friends.
Most of the challenges we ran into came from using an unfamiliar language and tools. As beginner app developers, we first had to spend some time researching what we could use to create an app. We decided to use Android Studio (partly because it was similar to IntelliJ, which we already knew how to use) and Flutter. This is when many of our problems started. Half of us could not install Flutter and Android Studio properly, which made it hard for us to write and test code. In addition, none of us had any previous experience in Dart (the language Flutter apps are written in). Scheduling notifications was more difficult than we anticipated, and we were ultimately unable to do it in the time we had.
The greatest accomplishment we achieved during this hackathon was learning how to code a mobile app. Although at the start we did not know anything about coding an app for a phone, we have managed to make a simple app that would work on an Android. It needs a lot more work, but we are very happy that we at least managed to create the basis of it.
Throughout this hackathon, we learned many new things about mobile app development. We learned how to use Android Studios, Flutter, and Dart to create pages you can navigate between with features such as a calendar. Even though we didn't implement notifications, we learned how to set up the flutter_local_notifications plugin.
The next steps for FriendForest would be fleshing out the basics of the app and adding notifications. To make the app fully usable, we would need to have an account for each user and set up the logic for depicting the tree's state based on the number of missed communications. Hopefully, one day, we would also be able to create more activities and advice in the app to further assist people in keeping in touch with each other. We would also like to implement group chats and group trees.
Tree Image Attribution: christmas tree clipart PNG Designed By 千图网 from Pngtree.com