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.