Inspiration
PittMemos is inspired by the transience of memories. Storing your thoughts and memories in the form of even the smallest note can help preserve them forevermore! (I do intend on making them fade away in the future, though, just to keep things interesting).
What it does
PittMemos is an interactive map where people can make their mark on Pittsburgh by sharing their thoughts, ideas, secrets, or memories. Just double click on the map, write what's on your mind, and share. Click on other markers to read other people's memos!
How I built it
The project is primarily based on pure JavaScript and the use of APIs, namely those of Google Maps and Firebase. Memos and their coordinates are stored into a Firestore database as a document. Memos / markers are then loaded onto the map by feeding their corresponding coordinates into the Google Maps API.
Challenges I ran into
Using Firebase 9 with pure JS is an exercise in pain. On a slightly related note, some of my hair fell out.
Accomplishments that I'm proud of
Personal projects are something that I've been putting off for far too long due to sheer laziness. I'm glad I finally had a chance to put my skills to the test and learn some new ones along the way.
What I learned
Having rarely worked on the front-end side of things, I would say that the bulk of the learning went towards JavaScript. Unfortunately, in the interest of saving time, I wasn't able to learn React as I'd hoped.
When it came to the APIs, there was a major issue in getting the Firebase and Google Map APIs to play nice with each other. Long story short, I ended up having to revert to an older version of Firebase and rewrite a good chunk of my code. As cliche as it sounds, my main takeaway was that perseverance is key. What's more is that documentations are your best friend. Seriously.
Also: JavaScript is fun!
What's next for PittMemos
Some ideas for the future:
- PROPER MOBILE IMPLEMENTATION! I didn't have enough time to do this :(
- Memos begin to "fade away" over time
- People's memos can be rated / reacted to (based on whether they're funny, sad, etc.)
- "Hot spots": Areas saturated with memos can be classified as "hot spots". These can be represented as one big icon, which, when clicked on, reveals all of the memos present in that area.
- Customization, for his / her / their pleasure; custom icons, colors, and fonts for each memo.
- Allow users to attach little drawings to their memo, à la the now-defunct Miiverse platform.
- Filters to prevent curse words, slurs, and all-round unsavory content.

Log in or sign up for Devpost to join the conversation.