| Item | ✔︎ Completed | |------|--------------| | GDPR “right to be forgotten” UI | ✔︎ | | CCPA opt‑out for data sharing | ✔︎ | | End‑to‑end encryption of profile data | ✔︎ | | Minimal data collection (only preferences & location) | ✔︎ | | Transparent privacy policy link on settings page | ✔︎ | | Data retention policy (delete after 30 days of inactivity) | ✔︎ |
| Component | Tech | Responsibility |
|-----------|------|----------------|
| Scheduler | AWS EventBridge / Cloud Scheduler | Trigger nightly job at 02:00 UTC. |
| Data Pipeline | Python (FastAPI) + Pandas | Pull activities from activities-db, filter by profile, compute scores. |
| API Endpoint | /v1/users/userId/fixed‑picks (GET) | Returns an array of up to 5 activity objects. |
| Cache | Redis (TTL = 24 h) | Store pre‑computed picks per user to serve on‑demand quickly. |
| Security | OAuth 2.0 + JWT; all payloads encrypted. | Authentication & authorization. | my hot girlfriend danika mori lifeselector 20 fixed
As Danika Mori,
I want a single, fixed‑profile view that instantly shows me the top 5 lifestyle & entertainment activities that match my pre‑set preferences (e.g., indie‑film nights, sushi‑making workshops, weekend hikes, live‑jazz, and VR‑art exhibitions),
so that I can pick something to do without spending time scrolling through endless options. | Item | ✔︎ Completed | |------|--------------| |
| ID | Description |
|----|-------------|
| FR‑1 | Profile Setup – Danika can lock in a “Fixed Lifestyle” profile with: preferred activity categories, price ceiling, travel radius, preferred time‑of‑day, and a “no‑repeat” flag (max 2 repeats per week). |
| FR‑2 | Recommendation Engine – Runs nightly batch job (or on‑demand) that queries the Activities API, filters by Danika’s profile, ranks by a weighted score (popularity × rating × personal relevance). |
| FR‑3 | UI Card – Horizontal carousel of 5 cards; each card shows thumbnail, title, short tagline, and two CTA buttons (Quick‑Pick, Save). |
| FR‑4 | Quick‑Pick Action – Creates an Agenda entry with default reminder (15 min before) and adds to Danika’s calendar (optionally sync with Google/Apple). |
| FR‑5 | Save‑for‑Later – Persists item in a “Saved for Danika” collection, searchable and removable. |
| FR‑6 | Manual Refresh – Pull‑to‑refresh gesture triggers a real‑time query (max 1 per 5 min to avoid throttling). |
| FR‑7 | Fallback UI – Shows a friendly animation + “Explore More” button that navigates to the full Activity Marketplace. |
| FR‑8 | Analytics – Emit anonymized events: card_viewed, quick_pick, save_clicked, fallback_shown. |
| FR‑9 | Privacy – Store Danika’s profile in encrypted local storage (or server‑side with end‑to‑end encryption). Provide an easy “Delete All Data” toggle. | As Danika Mori, I want a single, fixed‑profile