Architecture Drivers¶
1. Design purpose¶
The first version is a validation instrument, not the finished platform: it must prove consumers use it and come back. Brand monetization follows from that signal.
| Validation target | Evidence |
|---|---|
| Consumer traction | At least 50 accounts and the scan latency defined by QAS-1. |
| Brand interest | One LOI or pilot. |
| Data access | Open Food Facts plus one producer-managed source. |
2. Primary functionality¶
The original validation scope concentrated on four flows (Stories). Shopping, history, recipes and account-management stories were added later and are tracked in that backlog.
- Scan, resolve, decide: anonymous scan needs no login; an account and consent-gated profile unlock the personal verdict.
- Fridge and expiry tracking: save scanned products, sort by freshness, mark used or discarded.
- Multi-source product data: labels and sections arrive through source adapters, not hard-coded sources.
- Engagement to brand view: raw consumer facts are aggregated before Brand Analytics sees them.
Cut, not deferred: points, rewards, lottery, and dormant gamification hooks.
The prioritized quality attributes and the scenarios that make them testable live in ASRs.
3. Constraints¶
- GDPR: health profiles need explicit, recorded consent; brands receive only privacy-thresholded aggregates; erasure must be verifiable.
- Regulatory context: the EU's Digital Product Passport is introduced progressively through product-specific legislation and delegated acts. PackyTrace does not claim that ESPR currently mandates a passport for food. See the European Commission DPP overview.
- Delivery baseline: Startup Day on June 24, 2026 closed the original MVP phase.
- Integration: support Open Food Facts and independent producer sources through replaceable adapters; no source provider may become a domain dependency.
- Capacity: the MVP validates tens of consumers and a few brands. Load assumptions must state concurrency and traffic shape before they are used for sizing.
4. Architectural concerns¶
- Source adapters: map provider-specific schemas and behavior behind Product Passport ports; do not expose those schemas to the application core.
- Service structure: keep services independently deployable and enforce the layout assigned to each service's language.
- Privacy wall: raw per-visitor facts remain on the consumer side; Brand Analytics receives only minimum-group-size aggregate batches without consumer identifiers.
- Tenancy: brand-owned records carry a brand reference, and service queries require tenant scope.
- Consumer identity: anonymous scans must be supported.