Gig Up
In winter of 2020, I worked with a group of three other MISM students to create a mobile app for Brigham Young University's Mobile App Competition.
Background
Every year, BYU's Rollins Center puts on a Mobile App Competition. The rules are pretty wide open and lots of cool apps are submitted to the contest. I formed a group with some fellow students a little less than a month before the deadline. We started working on a project called "Gig Up", an app for freelance workers to bid on projects posted by users in their communities. Similar applications exist, like Thumbtack or Upwork, but our business model was different by putting more control in the hands of the users who could approve a contractor based on multiple received bids.
Process
All of my group had taken a mobile application development class together, where we learned Swift. However, we wanted to try something new and used Flutter for the project. One of my group members had made a simple app with Flutter before, but the rest of us had no experience. It was a bit difficult learning this new tool for developing in a short amount of time, especially since Flutter is relatively new. But Flutter's docs are great, and it is a pretty intuitive programming tool. In addition to Flutter, we used Firebase for our backend services, which integrates easily with Flutter – for obvious reasons! This served as our database, and provided user authentication and location service tools. We mocked up the application and divided out the parts of the app in the 2 and a half weeks until the deadline. I was in charge of user authentication primarily. In our finished product, users would create an account or log in to an existing account to be able to post or bid on freelance projects. With Firebase and some helpful tutorials, I was able to get this functionality working before the deadline and help out my team on a few other aspects of the app as well.
Finished Product
At the deadline of the App Competition, our app allowed users to authentice, post and bid on projects, and accept a winning bid for their project. We also had base functionality to view locations of posted projects on map view, similar to viewing AirBnb rentals in a given area. We certainly could have added more to the project, given more time, but overall we achieved the functionality we wanted to present about the app for the App Competiton. Since the competition, we have not worked more on project, we have not put the app on any app stores, and don't have plans to... which is fine with us! It was still a fun experience to work on for a couple of weeks.
Takeaway
While we did not place high in the App Competition, my team was still happy with our results for the amount of time we put into the project. It was stressful working with a short deadline, but we put in the work necessary to be able to present at the App Competition final and share the functionality of the app. Learning the basics of Flutter for this project was a good experience too. If I were to work on another mobile app, I would highly consider Flutter due to cross-platform capabilities, UI-based development, and compatability with Firebase. Here are the slides we used to present this project, including screen captures of the app.