Client Portal
The approval gate in the middle of the pipeline. One screen, three tabs.
1 screen - 5 API routes - no user table
Read the full specSign in
One env-provided credential for the whole portal. No self-registration.
- /login
- Rate limit10 per minute per IP
- CLIENT_* envconstant-time compare
- customers rowupserted on first login
- Tenant gateno tenant, no entry
Review today's stories
One card at a time, keyboard-driven. Y approves, N skips.
- content_news_itemsscored, by day
- Three queuesBlogs - News - Competitors
- Y / Noptimistic, reversible
- Script queuerows added or deleted
- Joborigin: "client"
- Poll 5 minwriting... -> ready
Review the script
Production notes are stripped at the data layer, not hidden in the UI.
- content_scripts30s / 60s / 120s
- toClientVersionsdrops b-roll, notes, scores
- Four sectionshook - script - caption - keywords
- Approve / send back
- Copy or WhatsAppclient-side only