Inspiration

We wanted to create an application that would help people create moments and have the opportunity to re-experience them afterwards instead of just remembering them. With COVID-19 recovery on the horizon it is definitely excited - however, it has become apparent that many people have not fully appreciated aspects of their life that became nearly mundane.

What it does

MemMap allows you to go about your day as usual while keeping a detailed summary of the locations that you visit and the pictures that you share with those that are closest to you or things that make you curious/extremely interested. The application encourages individuals to not only live in the moment but to capture those moments that mean the most to them. The application allows the user to review their grand expeditions on a case by case basis and also allows the user to commemorate their best journeys with a sharable video.

How we built it

This application is largely built on top of Google based infrastructure which we found to be extremely awesome seeing as we wanted to create an Android application that would give more freedom to our users to carry on their everyday life and use our functionality. The application makes use of firebase for authentication and elements from both firestore and realtime database in order to store event based and more static data used for various transactions. We make use of google cloud storage in order to store blob data which includes user photos and videos that they have created via our platform. We took our time planning out the structure of our tables as well as our blob storage and while we began developing a little later than planned it definitely helped us stay on course and coordinate better as we worked. In order to power an experience for users to have a commemorative take away that was a bit more than pictures we incorporated radar.io and google maps in order to capture location data and geo-tag users favorite places in order to give them a running summary of their day as they used the app during their session and out of it. In addition to this we wanted to provide a sharable experience for users - to do this we used a google pub sub which communicated through a backend hosted on google virtual machines to another backend service we stood up which was subscribed to our topic to create an async experience for video creation given only raw images and a users favorite song! This was overall an amazing experience for everyone involved especially since this was our first time having an opportunity to really dive deep into mobile development and first time diving deep into google services!

Challenges we ran into

Android development is interesting! It's definitely different from what any of us were used to! When building our double ended queue like system for pub-sub we pondered various approaches including long-polling for videos but opted to have the user briefly wait to receive their video! Halfway through the hackathon we lost access to our GCP resources as we were experimenting and prototyping so much we blew thru the free tier just learning! We were really relieved to hear that the weird glitch with expiring tickets being handed out was resolved when it was!

Accomplishments that we're proud of

Honestly we're proud to have finished! This is awesome to build a workable project in such a short amount of time. We're proud to have had the opportunity to finally get time on our calendars to put other things aside and learn the things that we are passionate about!

What we learned

GCP Android Python Networking FFMPEG

What's next for MemMap

We'd love to continue a tighter integration of Radar.io and Google Maps in order to alert people when they are near areas that are commonly known as excited/great picture places whether that be historically or off of recent trends from other users that share a similar taste/style! We're really excited to refine this idea and continue working on it more indepth! We'd also love to get an opportunity to improve some of our video encoding!

Built With

Share this project:

Updates