Inspiration
In our fast-paced world, we often lose touch with past memories and, as a result, gradually drift away from people who were once an integral part of those moments. Reminisce is designed to change that, turning nostalgia into an opportunity to reconnect and create new, shared moments. When revisiting locations shared with friends, our app brings those shared moments back to life, fostering new connections and rekindling old ones. Recreate and reinvent old memories with Reminisce!
What it does
Reminisce is an innovative hangout app utilized to reconnect yourself with old friends. It collects old photos from years ago along with the ones you shared the memories with, then notifies the user and friends in those photos when their locations are in the same proximity for a spontaneous, sentimental meet up. Visit the same restaurants, carnivals, bowling alleys, and museums together like you did years ago and recreate those nostalgic moments in a modern setting!
How we built it
The frontend consists of Expo for React Native and CSS while the backend was built using Express.js. Instead of Javascript, the team opted for Typescript for an easier debugging experience. The registration and login page acted as our “tutorial” to learn Expo and we eventually became more comfortable to take advantage of Expo features. We created a camera interface within the app for photos and selfies using Expo Camera in order to capture present moments. Then, using React Hooks, and HTTPS requests, and the Prisma database, we created a following page to keep track of the user’s friends.
Challenges we ran into
- Most members were inexperienced with most technologies used, as none of us knew how to develop mobile applications prior.
- A lot of learning on the fly was involved along with frequent scans of documentation
- The notification api was down for 2 hours on the second day, with no warning
- A few of the api documentations were not descriptive/detailed enough (e.g. notifications, page routing). Resources on Expo are much less extensive than on other React frameworks
Accomplishments that we're proud of
Despite none of us being familiar with developing mobile applications nor many of the technologies involved, we managed to successfully create a functional, user-centric app by leveraging understanding of similar languages and technologies in order to adapt and learn on the fly. This hackathon has been an incredible learning opportunity for each one of us, allowing us to grow as both developers and as a team.
What we learned
As beginners in app development, Expo became our first mobile framework. It was a newer framework as it was based off of React Native and therefore had less documentation. In addition, we learned to narrow down which APIs were the most compatible with our goals, thus saving development time. The noteable APIs used in the project includes: Expo’s Camera, Expo’s Map, and Native-Notify for system notifications.
What's next for Reminisce
Although we managed to accomplish most of our goals and established many of our core functionalities, there were a few extra functions we wanted to expand and implement further if time permitted. One idea was not only to notify all parties when everyone was within range of the original location, but to keep track of the event / activities that members participated in so that if they were within range of similar events hosted at a different location, they would be notified as well. In the future, we plan to implement a more flexible system of notification that is not as strictly reliant on original location / members.
Log in or sign up for Devpost to join the conversation.