MaskIt
Project introduction
MaskIt acts as your mask usage guide by keeping track of the masks you’re using and giving you the ability to choose from a database of multiple masks, the one which will be the most suitable for your activity.
Issue/Inspiration
During the hackathon, we saw that the pandemic would be far from over, while seeing the cases surging again. So, we thought that by using our knowledge to provide the society with an app which will make their life easier in those times, would be probably the best direction to take and hence, we began brainstorming ideas in that area through discussion. We eventually came up and agreed to create an app which would keep track of mask usage and reporting to the user, how much impact it caused in the environment as well as, allowing the user to choose from a range of masks that he would use as well as add new ones if they don’t exist via a barcode scanner. The app would also remind the user when to remove the mask if he was wearing the mask longer than the recommendation time.
What it does
The main purpose of MaskIt, is to get the user to pick from a range of masks from the database according to his activity. For example, if the user’s main outdoor activities are running and walking, MaskIt will provide the best masks suited for those activities together with a link to purchase the mask. The user will need to tell the app when he/she is about to wear the mask and when to remove it. The app has a standard, recommended constant wear period of 6 hours, based on our research. Same from our original idea, the app will keep a rough track of your weekly and total impact on the environment based on mask material consumption, weight and average cost. Finally, the app “reads” the calendar and the app will automatically remind the user before the meeting, to wear a mask.
On top of that, the app contains an optional authentication system with the purpose of storing the user App data on the “cloud” (Firebase and Firestore). This will be very useful for the user in case they want to switch phones, to not lose their data. That way, if they choose to register, they will enable their data to be stored on the “cloud” automatically once they enable the WiFi connection on their phone. Of course, once WiFi connection is on, the app will retrieve automatically the database with all the masks so they can make their mask choice.
How did your project evolve with the support of the COVID-19 hackathon fund by Google Cloud?
Through the help from our mentor, Shyam, we evolved the idea to what it is now, based on prioritisation features, which we decided were the most important features to focus throughout the program. Shyam guided us through the use of the Google Services, Firebase and Firestore, and answering all of the questions we had. Through his help we were motivated enough to better understand the situation and come up with better ideas and features to add to our app to make it more useful and user friendly.
How you built it
During the Hackathon in August, we used Xcode to build a draft version of the app, but we realised that we would end up doing “double job” if we stayed with Xcode, so that we would also have to create an Android version with Java.
So we switched technologies and learnt the React Naive framework, as it supports both iOS and Android platforms to develop our app from the ground up. That way, once the app is finished, we can compile it onto both Swift (for iOS) and Java (for Android). Of course, we needed to come up with the design of the app to which we used Figma to create the scenes. The design of the app is inspired by the Google Material design. For the sketch designs, we used Procreate.
Due to the average to small scale of the complexity of the application, we decided that using Agile development would be the most suitable methodology. We also considered the waterfall method, but while we were a team of 3, the waterfall would prove to be very unsuitable.
Challenges you ran into
Our main biggest challenge was time management. As we are currently in our 2nd and 3rd year of studies, we had to work hard to balance our heavy university workload with working on MaskIt. Due to the high intensity from our degree, we had to learn to prioritise our tasks in general and work with very small steps at a time as well as divide our tasks based on time availability by each team member to ensure that each task would be done at the highest possible quality.
Another notable challenge was to think of features to add to our app in order to make it more useful for the user, as we’re progressing fast into the pandemic. Thanks to the help from our mentor, we came up with more features and ideas to put in our agenda.
Accomplishments you are proud of
We are certainly very proud that we were recognized by Google Cloud and were accepted to this program. We would certainly not have gotten all the important lessons we did now if we wouldn’t have joined the COVID-19 Hackathon Fund program. We believe it helped us a lot with developing our overall skills which we would use in our future endeavours.
Another achievement, is that we got the chance to get connected with Google engineers who on their side, were super supportive when we needed any help.
What you learned
While none of us had any experience with React Native, we had to follow some React Native courses in order to gain the experience and build the app. Some of us had no prior experience with JavaScript, which proved to be a higher step up, but with determination, we managed to go through this barrier. Furthermore, we got more experience and familiarity with the Google Services, primarily Firestore and Firebase which were the core Google products we used.
On top of technical experience, we certainly became more familiar working together as a small team and at times, under pressure. We got a taste on the methodology we would need to follow, if we were to come up with an idea in the future, on what steps to follow.
What’s next for your project
We certainly want to continue working on MaskIt by adding more features such as being notified whether an area is on high alert of covid and of course, adding more masks into the database.
We have the ambition to finalize the app within the next week and upload it on both Google Play and App Store and promote it to get users using our app. This will be extremely helpful to further improve the app and make it more useful for the society, based on customer feedback by following the “lean startup” method.
What Google Cloud products did you use to build your project?
We used Google Firestore and Firebase for the authentication system as well as for data storage if the user chooses to authenticate with the app. The app will initially ask for the user to enable their WiFi connection in order to fetch the list of masks so they can choose their masks. The mask data will be all stored on Firestore, while authentication will be handled with Firebase.
Eve Bogomil
University of Edinburgh
George Karabassis
University of Edinburgh
Adrien Zier
University of Edinburgh