# Specification: 006-user-avatar-camera

## Status

| Field | Value |
|-------|-------|
| **Created** | 2025-12-30 |
| **Current Phase** | Implementation Ready |
| **Last Updated** | 2025-12-30 |

## Documents

| Document | Status | Notes |
|----------|--------|-------|
| product-requirements.md | completed | PRD finalized, proceeding to SDD |
| solution-design.md | completed | All ADRs confirmed |
| implementation-plan.md | completed | 6 phases, 130+ tasks, TDD structure, Codex-reviewed |

**Status values**: `pending` | `in_progress` | `completed` | `skipped`

## Decisions Log

| Date | Decision | Rationale |
|------|----------|-----------|
| 2025-12-30 | Start with PRD | User chose recommended path for thorough requirements |
| 2025-12-30 | Client-side compression | Keep uploads fast and storage costs low |
| 2025-12-30 | Avatars visible to all team members | Build team connection and recognition |
| 2025-12-30 | No content moderation | Trust team members, managers address issues if needed |
| 2025-12-30 | Square (1:1) photos only | Consistent circular display throughout app |
| 2025-12-30 | PRD approved, proceeding to SDD | User confirmed requirements complete |
| 2025-12-30 | ADR-1: image_picker + image_cropper | User confirmed recommended approach |
| 2025-12-30 | ADR-2: Client-side compression | User confirmed recommended approach |
| 2025-12-30 | ADR-3: Optimistic UI updates | User confirmed recommended approach |
| 2025-12-30 | ADR-5: Separate AvatarProvider | User confirmed recommended approach |
| 2025-12-30 | SDD approved, ready for PLAN | All architecture decisions confirmed |
| 2025-12-30 | PLAN created with 6 phases | TDD structure with parallel opportunities identified |
| 2025-12-30 | Dual entry points: Dashboard + Settings | User requested both avatar locations trigger capture flow |
| 2025-12-30 | Server sync via /me call | Call /api/mobile/me after login/restore to fetch photoUrl |
| 2025-12-30 | Codex CLI review applied | Fixed: optimistic updates, progress tracking, permission flow, compression ownership, analytics coverage |

## Context

**Feature Request:** Create user avatar functionality with camera capture support. Users should be able to:
- Take a photo using their device's camera
- Use the photo as their profile avatar
- Upload the avatar to the backend server
- Store and display the avatar across the app

This integrates with the existing user/auth system and enhances the team member experience.

---
*This file is managed by the specification-management skill.*
