-
Notifications
You must be signed in to change notification settings - Fork 1
Requirements and Specifications
| Date | Version | Details |
|---|---|---|
| 2025/10/05 | v1.0 | Initial documentation |
| 2025/10/19 | v2.0 | Add user acceptance criteria, update wireframe |
| 2025/11/03 | v2.1 | Update story UI wireframe |
| 2025/11/16 | v3.0 | Update UI requirements (UI revision & new features) |
| 2025/11/26 | v4.0 | Update non-functional requirements |
| 2025/11/26 | v4.1 | Update competitive landscape |
| 2025/12/07 | v4.2 | Apply minor changes(story -> moment) |
We live in an era where recent developments of smartphones make capturing countless moments effortless but finding them later increasingly difficult. Existing AI photo search tools provide simple filters such as date, location, or object recognition but often fail when users search with personalized contextual queries like “escape room photos.” To bridge this gap, we propose MomenTag, an intelligent photo search system that combines natural language processing with personalized tag-based learning. Users can attach tags to selected photos, and the system leverages these examples to recognize and group similar images, effectively adapting to each individual’s unique contexts. This tag-driven few-shot learning enables the AI to continuously improve, while natural language queries provide an intuitive way to retrieve memories such as “trip with friends” or “birthday dinner.” To reduce the effort of manual labeling, the system also suggests relevant tags, helping users organize collections more efficiently. By combining computer vision, NLP, and personalized recommendations, our application goes beyond a simple image recognition to deliver context-aware photo retrieval that fits personal needs.
In general, the target customer of MomenTag includes people who take a lot of photos and want an easier way to organize them easliy or find specific moments quickly. More specifically, we target frequent camera users who wants to organize their photos in a more personalized way and search more efficiently. (persona)
| Criteria | Google Photo | Samsung Gallery | PicFind | Ours(MomenTag) |
|---|---|---|---|---|
| Photo Tagging | ❌ | ✅ | ❌ | ✅ |
| NL Search | ✅ | ✅ | ✅ | |
| NL-Tag Mixed Search | ❌ | ❌ | ❌ | ✅ |
| Tag Recommendation | ❌ | ❌ | ❌ | ✅ |
| Image Recommendation | ❌ | ❌ | ❌ | ✅ |
- Google photo provides basic metadata filtering, photo tagging via short description, and natural language search on images. However, its date filter only work on explicit form (e.g., Sep-2024), and its search terms tend to be too broad.
- Samsung gallery supports numerous features, including natural language search and automatic tag recommendations. However, it suggests the most recently used tags rather than the most contextually appropriate ones, meaning it falls short on few-shot personalization.
- PicFind offers local image search using on-device AI. Nevetheless, it lacks metadata filter or tagging features, which means it fulfills only one criterion of our research.
-
User story
As a first-time user,
I can sign up and sign in using username and password,
so that I can use MomenTag's features. -
User acceptance criteria
Given MomenTag's sign up screen,
when the user touches "sign up" with valid username and password,
then new account is registered and the user is signed in with the account.
-
User story
As an authorized user,
I can upload my images to the service,
so that I can search uploaded images later. -
User acceptance criteria
Given pop-up for image permission request,
when the user selects images to allow access,
then selected images are uploaded, and appear on later search.
-
User story
As an user with a large photo collection,
I can search photos using natural language,
so that I can quickly find the images I want. -
User acceptance criteria
Given search bar for text query,
when the user enters natural language query and touches "search" button,
then uploaded images are shown, in decreasing order of relevance.
-
User story
As an user enjoying room escape,
I can mark my photos taken after each room escape with tag "room escape",
so that I can group my photos, and search later with "room escape". -
User acceptance criteria
Given a detailed screen of an image,
when I touch "+" on tag and enter personal keyword,
then I can add tag to the image, and the image can be searched using the tag.
-
User story
As an user enjoying room escape,
I can accept automatically generated tag "room escape" for my new escape room photos,
so that I can add tag to images effortlessly. -
User acceptance criteria
Given a detailed screen of an image,
when I touch "+" on recommended tag,
then the tag is added to the image.
-
User story
As an user who wants to add new tag for selected images,
I can also select recommended images which are similar to images already selected,
so that I can add tag to similar images easily. -
User acceptance criteria
Given a screen of adding new tag,
when I touch one of the recommended images in suggestion panel,
then I can add such image to selection.
-
User story
As a photo-heavy user,
I can skim through recommended images,
so that I can find forgotten photos and add tags to them. -
User acceptance criteria
Given A recommended photo and four tags,
when the user taps the tags to add to the photo.,
then the tags are added to the photo and see the next recommended photo.
| Aspect | Requirement | Description / Metric |
|---|---|---|
| Response Latency | Search & Tagging | Natural language search queries and tag recommendations should complete in a few seconds; under normal conditions, results should start showing within ≤ 3 seconds. Specifically, P50 (median response time): 1.0-1.5 seconds, P95 (95th percentile): ≤ 3 seconds. |
| Scalability | Photos per User | MomenTag must handle at least 50K photos per user without breaking search or tag recommendation features. |
| Reliability | Core Features | Core flows (sign in, image upload, search, tag/Moment feature) should work reliably during demos and evaluations, with graceful error messages instead of crashes on failure. |
| Security & Privacy | User Data Access | Each user can only access their own photos, tags, and search results; no cross-user data leakage must be possible through API or UI. |
Users can sign up to service with username and password. Signing in requires username and password, users should allow permission to access images in their devices and users should upload their photos.
Users can create a first tag album by naming it, selecting photos from their uploaded photos or 'Suggestions', and finalizing the process.
Users can sort their tag albums on the main screen, and then entering an album to long-press photos, which enables a selection mode for sharing or creating a new tag.
Users can search with a natural language query (e.g., 'Happy SWPP'), selecting photos from the results, and then proceeding to create a new tag album with those selected images.
Users can search either filter tags in real-time (e.g., '#ho') or execute a scoped query (e.g., '#hobby is SWPP') to find photos matching a natural language description within a specific tag.
users can tap the top-left menu icon to 'Sort' their tag albums by criteria like name or date. Users can also 'Long-Press' an individual tag (e.g., 'Photolsm') to bring up a modal and 'Edit its name'. The UI also shows that tapping multiple tags enables a selection mode for batch operations.
Users can view an existing tag album ('JJang9'), activating 'AI recommend' to get suggestions, and then selecting and adding those new photos to the album.
When creating a new tag, users can select photos to add new tag. MomenTag also recommends images similar with selected photos.
MomenTag's Moment feature lets you easily organize your forgotten memories. You can scroll down to conveniently select recommended tags, or create and add your own custom tags by tapping the '+' button. This feature helps you find and manage your old photos effortlessly