Summary
ViewsBase 2.0 is a full re-imagining of the product. The cyberpunk dashboard is replaced by two purpose-built design languages — Studio for the agency control room and Night Bloom for the creator portal — on top of a new UX architecture: one hero number per screen, one action per row, focused review queues instead of button walls. Around that shell, the release automates the three most repetitive human jobs: sending analytics requests, reading creator demographics from screen recordings, and triaging quality warnings. Every automation is per-campaign opt-in and off by default — campaigns that don't enable it keep the exact pre-2.0 workflow.
Added
Review, in queues
- Review Queue (pricing) — a full-screen, one-post-at-a-time flow for setting CPM/cap: video on the left, price on the right, Enter approves, arrows skip, Esc closes. Replaces the three overlapping "Review CPM" mechanisms.
- Quality Queue — every post the bad-post detector flags lands here with the post, a one-sentence warning, and 1–5 AI-generated issue tags ("No CTA", "No logo", …). Skip or Reject (reject prefills the warning as the reason). Keyboard: S/→ skip, R reject.
- Inline video playback — a play button on posts in the queues and detail panel downloads the video once (on click, never automatically), stores it, and plays it right in the dashboard. No more opening TikTok to watch a post.
The analytics pipeline (per-campaign opt-in, off by default)
- Automated analytics requests — when a post's counting window ends, the Discord request is sent automatically (hourly), once per post. Manual sending still works everywhere, toggle or not.
- Creator proof upload page — the request message carries an "Upload your analytics" button opening a no-login, mobile-first page scoped to that one post (thumbnail shown, zero ambiguity). Creators never have to reply correctly in Discord again.
- AI demographics reading — uploads (screenshots and screen recordings) are read instantly: audience geography extracted, T1 % computed (US/UK tracked separately), the matching CPM tier suggested, and the result posted back into the Discord ticket so tickets stay the audit trail. The Review Queue prefills the matched tier; a human always confirms — the AI never sets a price. A fallback listener also reads screenshots dropped directly in the ticket.
- Submission period — a per-campaign window (default 7 days) for providing analytics after a request; the upload link and ticket scan both close after it.
- "View request in Discord" — one-click deep link from a post straight to the request message in the creator's ticket.
- Fixed-rate awareness — posts on fixed-rate deals (single tier or flat amount) are excluded from all of the above automatically; there is nothing to decide for them.
Navigation & shell
- Sidebar navigation with campaign sections and org tools, plus breadcrumbs — the nav no longer shape-shifts based on context.
- ⌘K command palette — jump to any campaign or page, and run frequent actions: Start review queue, Add creator, Add posts, Payments history.
- Payout pacing hero on the campaign screen: committed / paid / ready to pay with a progress track — "am I on budget?" at a glance.
Creator experience
- Night Bloom creator portal — opens on the answer: a large animated earnings number with the payout line ("$612.40 lands with Friday's payout"), stat chips, and video cards with earnings pills and cap progress bars.
- Redesigned login — the creator door (access code) and the team door (email code) each in their own language, with human copy throughout.
- Redesigned public pages — creator leaderboard, post submission form, and shared campaign reports.
Design system & brand
- DESIGN.md — the written design system: both themes, tokens, rules, a DO NOT list, and the decision log.
- Brand asset set — social share card, marketing hero backdrop, and illustrated empty states, generated in the exact brand palettes.
- Plain-language statuses — Live · Needs price · Awaiting creator · Ready to pay · Paid, each a color and a dot, everywhere.
Removed
- Discord notifications from the quality detector — findings now live in the dashboard (Quality Queue + in-app notification) instead of scrolling away in a channel.
- Per-row "···" kebab menus — up to 9 hidden, status-dependent actions per row are gone; every row shows exactly one primary action, and everything else lives in the detail panel.
- The triple "Review CPM" UI — toolbar button, filter preset, and inline bulk card are all replaced by the single Review Queue.
- The top navigation bar — replaced by the sidebar + breadcrumbs.
- The cyberpunk/HUD design system — corner brackets, glow effects, scanline styling, shimmer buttons, uppercase-mono body text, and the cyan accent are fully retired.
- Jargon status filters —
pending_cpm_not_pinged and friends no longer appear anywhere in the UI. - Most modal dialogs — details, editing, and summaries moved to context-preserving side panels; modals remain only for destructive confirmations.
Reworked
- Every surface restyled into the new system: campaign overview, posts, creators, payments, reports, settings, members, org home, account, onboarding, login, marketing site, emails, and error pages.
- Posts table — fewer, better columns; status dots with plain words; mono numbers; quality flags shown inline; the detail panel absorbs copy/retry/ finalize/pay/reject actions.
- Payments — a financial-print treatment: serif money heroes, hairline ledger tables, "Ready to pay" leading the page, quiet Pay actions.
- Creators — one action per row (Pay $X when money is owed, View otherwise); the old eight-button stack folded into the row's expand panel; creator scorecards lead with the money number.
- Campaign settings — new Analytics Requests card (system toggle + submission period) alongside restyled detector, auto-reject, inactivity, and leaderboard controls.
- Marketing site — Studio landing with a faithful miniature of the real product (pacing bar, one-action rows, live dot) and a Night Bloom earnings card telling the two-audience story.
Compatibility
- No breaking changes for campaigns that leave the analytics toggle off: no buttons on Discord messages, no upload pages, no scanning — the pre-2.0 manual flow, unchanged.
- All statuses, APIs, and data models are unchanged at the database level; plain-language statuses are display-only.
- Deployment notes: Trigger.dev deploy (with
DISCORD_TOKEN in its env), Discord Message Content intent enabled, bot redeploy.