---
estimated_steps: 28
estimated_files: 4
skills_used: []
---

# T02: Render dates on creators browse page and homepage cards

Add the `last_technique_at` field to the frontend TS interface, render it on the creators browse page, render `created_at` on homepage recently-added cards, and rebuild+deploy the web container.

## Steps

1. In `frontend/src/api/public-client.ts`, add `last_technique_at: string | null;` to the `CreatorBrowseItem` interface.
2. In `frontend/src/pages/CreatorsBrowse.tsx`:
   - After the existing stats (technique count · video count · view count), add a separator and "Last updated: Mon D" when `creator.last_technique_at` is non-null.
   - Format: `new Date(creator.last_technique_at).toLocaleDateString('en-US', { month: 'short', day: 'numeric' })`
   - Skip rendering entirely when null (no "No articles" text — just omit).
3. In `frontend/src/pages/Home.tsx`:
   - Inside each `.recent-card`, after the creator name span, add a small date element showing `created_at`.
   - Use the same short date format (Mon D).
   - Style with a muted color and small font to keep it subtle.
4. In `frontend/src/App.css`:
   - Add `.creator-row__updated` style: muted color (`var(--text-muted)` or similar), small font-size.
   - Add `.recent-card__date` style: muted, small, positioned after creator name.
5. SSH to ub01, rebuild and restart the web container:
   ```
   ssh ub01 'cd /vmPool/r/repos/xpltdco/chrysopedia && git pull && docker compose build chrysopedia-web-8096 && docker compose up -d chrysopedia-web-8096'
   ```
6. Visually verify both pages in the browser.

## Must-Haves

- [ ] Creators browse page shows "Last updated: Mon D" per creator (when non-null)
- [ ] Creators with null `last_technique_at` show no date element
- [ ] Homepage recently-added cards show a subtle date
- [ ] Date styling is muted and consistent with existing secondary text

## Verification

- Browse http://ub01:8096/creators — each creator row with techniques shows a last-updated date
- Browse http://ub01:8096 — each recently-added card shows a small date
- Dates use short format (e.g., "Apr 3" not "April 3, 2026" or "2026-04-03")

## Inputs

- `frontend/src/api/public-client.ts`
- `frontend/src/pages/CreatorsBrowse.tsx`
- `frontend/src/pages/Home.tsx`
- `frontend/src/App.css`
- `backend/schemas.py`

## Expected Output

- `frontend/src/api/public-client.ts`
- `frontend/src/pages/CreatorsBrowse.tsx`
- `frontend/src/pages/Home.tsx`
- `frontend/src/App.css`

## Verification

ssh ub01 'curl -s http://ub01:8096/creators' | grep -o 'Last updated' | head -3
