Inspiration

We were inspired by two forgotten yet charming technologies from the early 2000s:

  • Kodak Photo CD: An innovative way to digitally preserve personal photo albums on a CD, complete with metadata and captions. It promised to immortalize memories, but got lost in the rise of smartphones and cloud storage.
  • Microsoft Photo Story (2002–2006): A storytelling tool that let users create digital slideshows with captions, emotion-based transitions, and audio narration. Though beloved, it faded away with evolving OS platforms.

Both were beautiful ideas that didn’t survive — and we wanted to reimagine them for the modern web, using today’s tech and visual storytelling tools. That's how MemoryMosaic was born: a digital scrapbook where you can upload photos, add Polaroid-style captions, and build a personal memory gallery.

What it does

MemoryMosaic is a web app that lets users upload photos with custom captions and instantly transforms them into digital Polaroid-style memories. Each upload becomes a part of a growing personal scrapbook, beautifully displayed in a retro-styled mosaic gallery. Users can revisit their collection through a visually nostalgic interface inspired by physical photo albums. The app captures the magic of preserving everyday moments — digitally, aesthetically, and forever.

How we built it

We built MemoryMosaic using:

  • HTML, CSS, JavaScript for the frontend
  • Firebase to store metadata and captions
  • Cloudinary to handle media uploads
  • Custom upload.js and viewgallery.js scripts for seamless memory curation
  • Google Fonts + custom CSS for retro, scrapbook-style aesthetics

Challenges we ran into

  • Initially tried using FaceAPI.js to auto-detect mood, but realized it didn't align with our scrapbook theme.
  • Faced some CORS errors and Cloudinary API misconfigurations.
  • Designing a layout that feels scrapbook-y without being cluttered was a real visual challenge.
  • Aligning all our modules (Firebase + Cloudinary + JS frontend) was tricky under time pressure.

Accomplishments that we're proud of

  • We successfully blended vintage visual aesthetics with modern tech like Firebase and Cloudinary.
  • Designed a fully functional gallery that displays user-uploaded memories in real time.
  • Created a scrapbook-inspired UI/UX that feels warm, retro, and personal.
  • Integrated smooth uploads, real-time memory rendering, and custom styling within a short hackathon window.
  • Overcame initial tech pivots — like removing FaceAPI when it didn’t fit — and realigned our vision.
  • Worked collaboratively through GitHub with clear role distribution and version control.

This was our team’s first hackathon, and seeing a working nostalgic memory wall come alive was a HUGE win for us. 💚

What we learned

  • How to integrate Firebase Firestore for real-time database operations
  • Using Cloudinary for seamless media storage and fast delivery
  • Implementing user-friendly layouts with CSS, and scrollable galleries
  • Working with FaceAPI.js and later deciding it didn't serve our core user experience

We also learned a lot about managing version control on GitHub and communicating ideas across a team.

What's next for MemoryMosaic

We see MemoryMosaic growing into a full-fledged personal memory journaling platform. Here's what's coming next:

  • User authentication so users can have private, personal memory spaces.
  • Ability to tag moods, locations, or events for smarter filtering and searching.
  • Interactive scrapbook templates with stickers, tapes, and handwritten doodles.
  • Option to add voice notes or background music to memories for deeper storytelling.
  • A toggle to switch between timeline view and freeform scrapbook mode.
  • Mobile responsiveness + PWA support for saving to home screens like a diary app.
  • Export options to PDF or zine-style printable albums (IRL scrapbook vibes).

Our goal is to turn MemoryMosaic into a digital journal that doesn't just store images — it stores emotion, time, and atmosphere. From retro filters to soulful layouts, the journey’s just getting started

Built With

Share this project:

Updates