MVP:
Avatar upload – Verify S3/CloudFront (or local dev store) already enforces file‑type & size limits.
Pronouns field – Accept free‑text and offer common options so users aren’t boxed in.
Streak logic – Calculate on backend (more secure) and just pass an integer + last‑updated date.
Assessment history – Paginate; show latest 3, “See all” → dedicated screen later.
Consent objects – Store a consent_version so future policy changes don’t overwrite the past.
Delete account – Make it asynchronous (background job) and send confirmation email.
MVP:
Avatar upload – Verify S3/CloudFront (or local dev store) already enforces file‑type & size limits.
Pronouns field – Accept free‑text and offer common options so users aren’t boxed in.
Streak logic – Calculate on backend (more secure) and just pass an integer + last‑updated date.
Assessment history – Paginate; show latest 3, “See all” → dedicated screen later.
Consent objects – Store a consent_version so future policy changes don’t overwrite the past.
Delete account – Make it asynchronous (background job) and send confirmation email.