Inspiration
With the COVID-19 pandemic coming to an end, many around the world are just beginning to reconnect with the social norms of society. Between missing time with loved ones and friends to establishing new relationships, we as a team decided it was time to make up for lost time. One major activity negatively impacted by COVID-19 was travel. Confined by the white walls of our homes and apartments, we lost our ability to tame our innate desire of exploring the unknown. We have hoped to lay the groundwork for an app that enables people to make new friends along the path of lifetime experiences.
Another inspiration for the app was how much our team enjoys working together. We all like to spend time together and code, and with most of us going off to graduate this May, we figured the Hackathon would be a great experience to show off the skills we have accumulated over the last 4 years at this university can accomplish.
What it does
This app helps users form travel groups by matching people based on their interests. It then acts as a central itinerary for a person’s scheduled trip, making it easy to plan out the entirety of the trip all within the app by providing a group chat, suggesting places the group should go, and keeping things very organized.
How we built it
We created the frontend of the app with the Flutter SDK using the Dart programming language. This provided us an effective way to reach all mobile platforms with one repository. Our backend was written in Python using the Flask framework, and provided us with helpful endpoints for our mobile application to receive data. We connected this server to a MongoDB database using the pymongo ORM library. We eventually deployed our server to AWS EC2, making our data highly accessible. We also used the Google Maps Places API to suggest travel activities to users based on certain inputs.
Challenges we ran into
Most of us come from a background of web development and backend development, so mobile app development was challenging.
Accomplishments that we're proud of
Putting what we are learning in the classroom into practice is always an accomplishment. Three of us are in a Cloud Computing course this semester, and we were able to apply a lot of what we are covering to optimize this project. After facing some issues with storing images for our users, we decided to use an AWS S3 instance, which we recently discussed in class, to resolve the issue. We are looking forward to sharing this with our professor!
We were able to start building the UI very quickly after doing some tutorials and reading through the documentation. We see this as a very big accomplishment as well as an important skill, because it is important to be able to learn about new technologies quickly as a software developer.
What we learned
We learned how to create cross-platform user interfaces with Flutter. We are primarily experienced with website development rather than cross-platform development, so making the adjustment was a fun challenge and we learned a lot of new skills along the way. We also learned how to work together to organize the development of a full stack application. Most importantly, we learned just how fun it is to work together and build an app over the weekend with your friends.
What's next for Flock Travel App
We currently emphasize the importance of safety on the app by providing our users with guidelines for safe travel, however, we would like to take that one step further in our future development of Flock by providing an interface within the app for people to verify their identities and complete a background check before joining a travel group. This is in addition to the safety features currently implemented on Flock such as a central organized trip itinerary and many other helpful safety guidelines.
Additionally, we would like to optimize many features of our app to make it a smoother experience for our users. For example, we could optimize our ability to cache images to limit calls that slow down our program or even improve on the cloud services our app runs on.
Lastly, we would like to improve upon our matchmaking algorithm over time to make it more accurate at matching people who would like to travel together. In order to accomplish this, we plan on making use of our user interest data along with data from matched connections. This paired along with our plan of using Google Maps for location will significantly increase the chances the planned trips actually happen.
All of us want to continue working together on this project throughout the year and make these goals a possibility. We have grown a lot from working together on Flock this weekend, and we would like to continue to improve on our technical and project skills and become closer as friends.

Log in or sign up for Devpost to join the conversation.