Skip to main content

RFC & Design Review Process

Date: April 28, 2026
Phase: B (Standardize)
Initiative: T6.2 — Create Lightweight RFC + Design Review Process
Reference: VideoKing Phase B initiatives + system design decisions

Mission

Establish one clear process for:
  • RFC (Request for Comments): Proposal → team review → decision → implementation
  • Design Review: UX/visual → feedback → iteration → approval → handoff to dev
  • Approval Gates: Who approves? When can work start? What’s the SLA?
Goal: Prevent surprises, wasted effort, and rework by aligning before coding starts.

Part 1: RFC Process

When to Write an RFC

Required for (always):
  • Any system design change (schema, architecture, new service)
  • New user/operator journey or flow
  • Monetization changes (pricing, payout logic, tier structure)
  • Any breaking change (API, database migration, auth)
  • New package or major feature that other apps might use
Optional for (consider):
  • Bug fixes (unless architectural impact)
  • UI tweaks (unless they affect a journey)
  • Technical debt (unless it blocks other work)

RFC Template

Filename: rfcs/YYYY-MM-DD-{feature-name}.md

Part 2: Design Review Process

When to Design-Review

Required for:
  • New user journeys (from T1.2)
  • UI changes to critical paths (checkout, payout, moderation)
  • Accessibility changes (colors, buttons, forms)
  • Responsive redesigns (major layout shifts)
Optional for:
  • Copy tweaks
  • Icon changes
  • Color adjustments (if not accessibility-related)

Design Review Workflow

Stage 1: Design Proposal (Designer → Team)

Designer prepares:
  • Figma file with 2–3 design options (exploration)
  • For each option: rationale (why this approach?)
  • Responsive considerations (320px, 1280px)
  • Accessibility checklist from T1.1 (color contrast, focus states, etc.)
  • Are we using existing design system components, or new patterns?
Checklist (from T1.1):
  • User clarity: Can anyone understand the action within 2 seconds?
  • Accessibility: Axe scan would pass (high contrast, focus visible?)
  • Consistency: Are we using design system tokens?
  • Performance: Images optimized? Animations < 500ms?
  • Trust: Destructive actions require confirmation?
  • Mobile: Touch targets ≥ 48px? No horizontal scroll?
Async Review Window (24–48 hours):
  • Designers + stakeholders review Figma link
  • Async comments on Figma (by role):
    • Design Lead: Consistency with design system, visual hierarchy
    • Frontend Lead: Implementation feasibility, component reusability
    • Product Lead: User goal alignment, business impact
    • Accessibility Lead: WCAG 2.2 AA compliance
  • Designer reads comments; notes patterns (if 3+ people mention same issue, it’s a concern)

Stage 2: Refinement (Designer → Revised Figma)

Designer iterates (48–72 hours):
  • Incorporate high-confidence feedback (3+ comments on same issue)
  • Decide to defer low-priority items (mark as “v2” or “tech debt”)
  • Update accessibility checklist (recalculate contrast ratios, test focus states)
  • Post revised version in Figma thread: “Updated per feedback. See updated file at [link]. Deferred items: [list].”

Stage 3: Sign-off (Design Lead → Approval)

Design Lead approves when:
  • All major feedback resolved (accessibility, consistency, clarity)
  • Responsive checks passed (no horizontal scroll on 375px, touch targets ≥ 48px)
  • Design system alignment confirmed
  • Designer has written implementation notes (colors, spacing, component boundaries)
Comment in Figma: ”✅ Approved for development. Handoff specs: [link to handoff doc]“

Stage 4: Handoff to Engineering

Designer creates handoff doc (Notion or markdown):

Part 3: Approval Gates

Who Approves What

Escalation Path

If no approver responds by SLA:
  1. Send Slack reminder (tag approver)
  2. If still no response after 24h, escalate to Engineering Manager
  3. Engineering Manager can approve or reassign
If approver rejects:
  1. Author + approver meet (Slack or 15-min call)
  2. Reach agreement: adjust proposal, defer to Phase C, or override with written rationale
  3. Document decision + rationale

Part 4: RFC + Design Review Workflow (Combined)

Typical Timeline for Major Feature:

Part 5: RFC Repository Structure

Location: rfcs/ directory in repo root
Naming: YYYY-MM-DD-{feature-name}.md (sortable by date)

Part 6: Design Review Meeting (If Needed)

When: If async feedback contradicts (multiple competing proposals) or RFC/design is complex Duration: 30–45 minutes (max; keep focused) Attendees:
  • Designer (presenting)
  • Design Lead (moderating)
  • Product Lead (representing user need)
  • Tech Lead (feasibility check)
  • Optional: Accessibility lead, frontend lead
Agenda:
  1. Designer presents (10 min): “Here’s why I chose this approach”
  2. Questions (5 min): Clarification only; save critique for next round
  3. Feedback round (15 min): Each person 2–3 minutes (what works + concerns)
  4. Decision (5 min): Approve, defer, or request revision
Output: Designer notes action items; sends recap Slack thread

Part 7: RFC Examples (for Reference)

Example 1: Approved RFC

Title: Stripe Batch Transfers Migration
Status: ✅ Approved May 1
Impact: Core payout system; enables 5-min SLA target
Timeline: May 22 deployment

Example 2: In-Review RFC

Title: Creator Onboarding Redesign
Status: 🔄 In Review (awaiting security lead feedback)
Impact: New user journey; monetization funnel
Timeline: Feedback due May 5; deploy May 22

Example 3: Deferred RFC

Title: Season 2 Content Strategy
Status: ⏸️ Deferred to Phase D (July+)
Reason: Depends on T1.2 (journey maps) + Phase C UX work first
Timeline: Revisit June 15

Part 8: Anti-Patterns (What NOT to Do)

❌ “Let’s just build it and see” (skip RFC entirely) → Risk: Weeks of work, wrong direction, rework ❌ “RFC approved! Ship immediately” (skip design review) → Risk: Technical solution doesn’t match user needs; UX debt ❌ “Designer decided; engineering implements as-is” (no engineering input in design phase) → Risk: Design not feasible; or infeasible component introduces regressions ❌ “Approver says no comment = approval” (silent consensus) → Risk: Approver didn’t actually review; surprise objection at merge time ❌ “We’ll do a design review meeting every time” (over-process) → Risk: Meetings take 30 min × 2 people × 40 RFCs/year = 1,200 hours/year of overhead

Part 9: New Team Member Onboarding

When: Every new engineer, designer, or product manager
Duration: 30 min (walkthrough of one real RFC)
Deliverable: Team member can articulate:
  • When to write an RFC (required vs optional)
  • What goes in an RFC (sections)
  • How design review works (stages)
  • Who approves what + SLAs
  • How to escalate if stuck
Example Walkthrough: Walk through an approved RFC (Stripe batch transfers) and live Figma file (creator onboarding redesign) to show the process in action.

T6.2 Exit Criteria (by May 29, 2026)

  • RFC template published (sections + examples)
  • Design review checklist created (from T1.1 rubric)
  • Approval gates defined (who approves, SLA per change type)
  • Escalation path documented (if approver unresponsive or rejects)
  • RFC repository structure created (rfcs/ directory)
  • First RFC under new process (starts May 5; due May 15)
  • First design review using new process (starts May 5; due May 15)
  • Approved RFC implemented + deployed (demonstrates full cycle)
  • Team trained on process (1 walkthrough + Q&A)

Version History


Status: ✅ T6.2 READY FOR TEAM ADOPTION
Next: T1.3 (Accessibility Audit) + T2.2 (Test Coverage) — starts May 15–22