Memoir #
By Nostalgia: Andrew Willms, Arni Nalawade, Brianna Gonzalez, Carter Demars, Nathan Xie, Ryan Gosal
Memoir is an Android photo journaling app that helps you remember and share the photo-worthy moments of your life. The app enables the user to review moments, write short reflections, attach structured tags, organize and share photos with albums, and later re-discover them through search. The resulting product sits between a photo gallery, a private journal, and a lightweight social memory archive: it preserves not only what was captured, but also who was there, where it happened, and why the moment mattered.
Modifications from the original proposal #
Features implemented #
- Users are shown photos taken that day and guided through a daily review workflow for reflection.
- Users can write and persist journal entries associated with individual photos.
- Users can tag photos with structured metadata including people, locations, and keywords.
- Users can create albums and share selected memories with specific users through a shared album model.
- Users can organize photos into albums with full create, rename, delete, and membership functionality.
- Users can search for photos using tags, journal content, and album names through an integrated search system.
- The app is implemented as a native Android application, supporting portability and accessibility requirements.
- The system supports offline-first operation with local persistence and robust data handling.
Additional features, not in proposal #
- A full-text search index for journal content, enabling photo discovery through reflection text rather than metadata alone.
- Session-based review indicators that highlight photos that still lack tags, a journal entry, or album membership.
- Smart tag suggestions mined from journal text, which reduce manual entry effort and improve metadata consistency.
- Smart album suggestions that use prior album contents, journal keywords, and tag overlap to recommend likely destinations for a photo.
- Dark mode support is included to improve usability and accessibility in different lighting conditions.
- The app integrates deeply with Android MediaStore to provide seamless photo ingestion.
Conclusion #
In summary, Memoir is a photo journaling app that helps users remember the meaningful moments in their lives by combining photos with journal entries, tags, albums, and search functionality. It meets numerous functional and non-functional requirements, including supporting structured tagging, suggested albums, search, and offline-first operation. Memoir is built with a layered and repository-based architecture that separates UI, domain logic, and data storage for scalability and flexibility. Finally, Memoir uses the Adapter and Observer design patterns to bridge the UI and backend layers and to enable reactive, real-time updates across the app.