Week 3 · Lesson 09
React truth UI
Product surface for queue and approvals. Never owns business rules. Kill demoPosts.
Learn
- UI vs harness responsibilities
- Loading / error / empty states
- Vite proxy or
VITE_API_URL
Build
- Replace demo data in
client/src/components/Dashboard.tsx - Wire New post, Approve, Request changes to the API
- Accounts tab lists real Instagram connections — not posts
Checkpoint
Refresh the browser; queue state is still there (SQLite).
Four notes
- What problem does this layer solve?
- What is allowed to call it?
- What must it never do?
- How do I observe and test it?