We were inspired by the popular social media app BeReal. Instead of simply taking a picture at a random time everyday like BeReal, BeRealocated (as in Be Relocated) requires users to move around, fitting the exploration theme of UofT Hacks X.

BeRealocated follows the structure of a common social media app. Users log in using their Google account, entering the main page of the app. Once a day, at a random time the user will be prompted to take their picture at the randomly selected location. The location and time of each cycle is the same for all users. If the user has already taken their picture they will be able to see the posts of other users, if the user has not posted yet, all other posts will be blurred until the user takes their picture. This leads into the camera function of the app. The user will take a picture of themselves at the specified location using the front camera. If the user does not like their picture, they are free to retake it, and the user will not be able to submit their photo if they are not at the required location.

The majority of BeRealocated's framework was made using React JS, along with some HTML and CSS. BeRealocated is capable of saving user data and uploading it to the cloud through the use of Firebase. Firebase allows BeRealocated to upload and download the pictures that users take. These files are tied to the users account information, keeping the transfer of data clean and tidy. BeRealocated makes us of the Google Maps React API to assign users their daily location. This interactive API allows users to manipulate the GPS window, zooming and panning to familiarize themselves with the location.

Almost all of the biggest challenges faced involved the APIs and external plugins used in the project. Without a doubt the most time was spent troubleshooting Firebase. Firebase needed to the send and receive files flawlessly, anything less and the integrity of the project was severely compromised. Sending files from Firebase to the React environment was time consuming and was prolonged by the contradicting resources found online. Another challenge was the lack of developer resources. Many of the tools and resources that could have sped up the development of BeRealocated were either locked behind a paywall, or a wait list too long to commit to. Considering the resourcefulness of some of these tools, they cluttered search appearances with irrelevant information prolonging the time it took to research new info.

We as a team are incredibly proud of our achievement in BeRealocated, as of a team of 3, we accomplished so much more than we thought we could. We chose the concept of BeRealocated because it contained so many learning opportunities. Although our entire project was written in Java Script and HTML, before beginning, only 1 of us could call themselves comfortable using either language. Now I think we can that we are all much more comfortable with React and Java Script as a whole.

One of the biggest lessons we learned is to not spend too long stuck on one problem, too many times we were stuck on a problem that could've been solved if we took a quick break to refresh our minds. We also learned the importance of sleep. At the beginning we had the mindset of "8 hours of sleep is 8 hours lost", reflecting back now, that statement couldn't be any more wrong. Being able to get that 8 hours of sleep, or even 6, gives such a large boost to critical thinking and creativity that it more than makes up for the time lost sleeping.

The next steps for BeRealocated are to fully flesh it out into a social media app. This means adding a comment sections to posts, a friending and blocking feature, and other small features like profile pictures and notifications. One of the main things we would like to incorporate into BeRealocated is a more informational task screen. This could mean adding an API for directions, showing the street address if applicable, or tuning the algorithm to prevent the random location from appearing in areas such as lakes or schools.

Share this project:

Updates