User Stories¶
This page states the product backlog in the normal user-story form:
As a role,
I want a function or feature,
so that I receive a clear benefit.
The acceptance scenarios are specified separately in Behavior-Driven Development.
MoSCoW labels express backlog priority, not implementation status. A Must story can still be unimplemented. In particular, whole-account deletion remains an accepted contract without a publisher or erasure consumers; see the implementation-status section in Domain. This backlog is the requirement source and must not be used alone as evidence that a release contains a capability.
1. Personas¶
- Anonymous Shopper: anyone in a supermarket who scans a product. No account and no friction. The platform knows this person only through a pseudonymous Visitor ID.
- Sara, Account Holder: 24, goes to the gym, follows a high-protein diet and is lactose intolerant. She wants to know at the shelf whether a product is right for her and to stop throwing food away.
- Marco, Brand Manager: works at a mid-sized food brand. He needs evidence that consumers engage with its product codes, but sees only anonymous aggregates.
2. User stories¶
Epic 1: Scan a product¶
1.1: Scan a product code (Must)
As an Anonymous Shopper,
I want to scan the code on a package with my phone,
so that I instantly see what the product is.
1.2: See the digital label (Must)
As an Anonymous Shopper,
I want to see the ingredients, allergens and nutrition values,
so that I do not have to read tiny print on the package.
1.3: See where the product comes from (Should)
As an Anonymous Shopper,
I want to see the product journey from origin to distribution,
so that I can trust what I am buying.
1.4: See the sustainability score (Should)
As an Anonymous Shopper,
I want a simple sustainability score with a short explanation,
so that I can compare products at a glance.
1.5: Handle unknown products gracefully (Must)
As an Anonymous Shopper,
I want a clear message when a product is not known,
so that I am not confused by a technical error.
1.6: Handle partial data gracefully (Must)
As an Anonymous Shopper,
I want to see all available product information when one source fails,
so that a partial failure does not make the whole scan useless.
Epic 2: My profile and goals¶
2.1: Create an optional account (Must)
As an Anonymous Shopper,
I want to create an account quickly and only when I choose,
so that I can unlock personalization without blocking anonymous scanning.
2.2: Give explicit consent for health data (Must)
As Sara,
I want to give explicit consent before entering health information,
so that I stay in control of my sensitive data.
2.3: Set allergies and conditions (Must)
As Sara,
I want to record my allergies and health conditions,
so that scans can warn me about products that may be risky for me.
2.4: Set dietary preferences and a goal (Must)
As Sara,
I want to set my diet and current health goal,
so that the app can judge products against what I am trying to achieve.
2.5: Delete my profile or account (Must)
As Sara,
I want to delete my health profile or my whole account,
so that my right to erase personal data is respected.
Epic 3: Does this fit me?¶
3.1: Get a personal verdict on scan (Must)
As Sara,
I want each scan to show a simple personal verdict,
so that I receive an answer without reading the whole label.
3.2: See a prominent safety warning (Must)
As Sara,
I want the Verdict to show a prominent warning when a product conflicts with my profile,
so that I do not buy something unsafe for me.
3.3: See how a product fits my goal (Must)
As Sara,
I want to see how a product supports or conflicts with my current goal,
so that following my plan becomes easier.
3.4: Understand the value of a profile (Should)
As an Anonymous Shopper,
I want to see that personal verdicts are available with a profile,
so that I understand the benefit of creating an account.
Epic 4: My Fridge¶
4.1: Add a scanned product to my Fridge (Must)
As Sara,
I want to save a scanned item to my Fridge with one action,
so that the app knows what I have at home.
4.2: See my Fridge by freshness (Must)
As Sara,
I want to see my Fridge ordered by expiry,
so that I use food before it goes bad.
4.3: Be warned before food expires (Should)
As Sara,
I want a reminder when an item is about to expire,
so that I can use it instead of throwing it away.
4.4: Mark how an item left my Fridge (Must)
As Sara,
I want to mark an item as used or discarded,
so that my Fridge stays accurate and discarded items are included in waste totals.
4.5: See my waste at a glance (Could)
As Sara,
I want a simple monthly usage and waste summary,
so that I can see whether I am wasting less over time.
Epic 5: Trust and privacy¶
5.1: Understand what data goes where (Must)
As Sara,
I want a short and clear privacy explanation,
so that I understand what brands can and cannot see.
5.2: Keep my health data personal (Must)
As Sara,
I want my health information to remain invisible to brands and other users,
so that my profile reflects my current choices.
5.3: Keep my activity when I sign up (Must)
As an Anonymous Shopper,
I want my earlier activity to remain available after registration,
so that creating an account does not make me start again.
Epic 6: Brand dashboard¶
6.1: Log in and see my products (Must)
As Marco,
I want to see only my brand's products after signing in,
so that I know which products are live without exposing another brand's data.
6.2: See scan counts (Must)
As Marco,
I want to see scan totals and trends for each product,
so that I can measure consumer engagement with the product codes.
6.3: See anonymous engagement (Should)
As Marco,
I want to see aggregate engagement signals,
so that I can understand depth of interest without identifying consumers.
6.4: Onboard a product (Should)
As Marco,
I want to provide my product label, origin and sustainability data,
so that the product appears correctly when consumers scan it.
Epic 7: My Shopping List¶
7.1: Add a product to my Shopping List (Must)
As Sara,
I want to add a catalog product from search or a scan result,
so that I remember to buy it.
7.2: Manage my Shopping List (Must)
As Sara,
I want to adjust quantities and mark items as bought or removed,
so that the list reflects what I still need.
7.3: Re-buy what left my Fridge (Should)
As Sara,
I want to add a used or discarded Fridge item to my Shopping List,
so that re-buying a regular product takes one action.
7.4: Re-stock my Fridge after a purchase (Should)
As Sara,
I want to add a purchased Shopping List item to my Fridge,
so that my Fridge stays synchronized with what I bought.
Epic 8: Revisit and compare products¶
8.1: Revisit my scan history (Should)
As an Anonymous Shopper,
I want a searchable device-local history of up to the supported limit,
so that I can find a product again without rescanning it.
8.2: Compare recent scans (Could)
As an Anonymous Shopper,
I want to compare recently scanned products side by side,
so that I can choose between them.
8.3: Use the app in my language (Should)
As an Anonymous Shopper,
I want to use the interface in my language,
so that product information and verdicts are easy to understand.