RestartCrew

RestartCrew — Main Development Plan

Document Purpose

This document is the single source of truth for RestartCrew — combining product specification, technical decisions, design system, and execution plan.


0) Product North Star

Build the best online community for people affected by AI-driven job disruption.

The product should help people:

MVP1 Success Condition

A new visitor should be able to:

  1. Land on RestartCrew and feel emotionally understood
  2. Sign up in under 2 minutes
  3. Choose anonymous or public identity mode
  4. Get routed into relevant communities
  5. Read or create a post
  6. Receive meaningful engagement quickly

1) Scope Hierarchy

MVP1: Community Core (In Scope)

MVP2: Growth Layer (Deferred)


2) Product Principles

  1. Emotional design first: calm, warm, hopeful, credible
  2. Mobile-first with intentional tablet/desktop UX
  3. Safety before virality
  4. Custom forum, not off-the-shelf forum software

3) Technical Architecture

Stack

High-Level Flow

User
  ↓
Next.js frontend
  ↓
Supabase Auth
  ↓
Supabase Postgres + RLS
  ↓
Supabase Realtime / Storage / Edge Functions

4) Information Architecture

Public Routes

Authenticated Routes

Admin / Moderation Routes


5) Forum Structure (MVP1)

Core Categories

Profession Subforums

Rule: profession communities are filters within one unified forum model.


6) Landing Page Plan

Purpose Sequence

  1. Emotional validation
  2. Problem normalization with credible stats
  3. Explain RestartCrew value
  4. Move user into onboarding

Required Sections

Design Notes


7) Responsive Design System

Breakpoints

Behavior by Device

Accessibility Baseline


8) Identity Model

Identity Modes

MVP1 Recommendation

Core Profile Fields

Required: id, handle, display_name, anonymity_mode, profession_id, status_type, created_at

Optional: bio, country, affected_by_ai_reason, current_goal, avatar_url

Next-level profile fields:

Skills model (three-category portfolio):

Suggested status_type values (evolving journey badges):


8.1) Next-Level Profile Vision

Principle: Profiles are not just info pages — they are journey documents. When someone visits a RestartCrew profile, they should see a person’s story of navigating AI-driven change.

Profile Sections (Launch — Tier 1)

  1. Identity & Context — Name/anonymous, profession, status badge, country, bio, avatar
  2. AI Impact Story — Structured narrative with prompts (what happened, how it felt, what I’m doing)
  3. Skills Portfolio — Three categories: “have”, “building”, “want” — showing growth trajectory
  4. Community Contributions — Thread count, helpfulness score, community role badges

Profile Sections (Post-Launch — Tier 2)

  1. Journey Timeline — Visual timeline of self-reported milestones
  2. Personal Goals — 1–3 current goals with progress tracking
  3. Wins & Celebrations — Personal milestones to celebrate with the community
  4. Connection & Availability — “Open to connect”, “Open to helping”, shared experience matching

Design Reference: Teamblind.com Profiles

Study how Teamblind displays professional identity (company verification badge, role). RestartCrew’s equivalent:


9) Smart Onboarding Flow

  1. Validation prompt (“How has AI affected your work?”) — selects status_type
  2. Profession selection
  3. Identity mode selection (anonymous / public) with clear explanation
  4. Display name / handle creation
  5. Skills quick-start: “What are your top skills?” + “What do you want to learn?”
  6. AI Impact Story prompt (optional — can complete later): “Tell your story”
  7. First-action prompt (read / write / browse)

Tone: “Let’s help you find your people.”


10) Database & RLS Baseline

MVP1 tables:

RLS principles:


11) Search, Discovery, Notifications

Search/Discovery (MVP1)

Discovery widgets

Notification events (MVP1)


12) Moderation & Trust/Safety

MVP1 Moderation Tools

UX Requirements

Each moderation action includes:

Community Guardrails


13) Metrics & Early-Stage Strategy

Internal Metrics (tracked from day one, admin-only)

North-star operational metric:

Early-Stage UI Metrics (what users see on posts/threads)

Problem: Metrics like “X views” are counterproductive when the community is small. “2 views” signals emptiness.

Use these at launch (work at any scale):

Avoid until scale: view counts, trending/hot indicators, upvote/downvote counts, “X people reading”, follower counts

Scale thresholds for switching: Enable richer metrics when community reaches ~200+ active users. Build the data collection from day one, expose in UI when numbers are meaningful.


14) Execution Phases

Detailed phase acceptance criteria and checklists are preserved from the approved plan and should be used as gates before phase completion.


15) Device-Specific QA Checklist

Mobile

iPad

Desktop


16) Launch Checklist


17) Explicitly Deferred to MVP2


18) AI-Agent Execution Format (Required)

When implementing this plan, update docs every step:

docs/DEVLOG.md

For each step include:

docs/DECISIONS.md

For each non-trivial decision include:

docs/ROADMAP.md

Continuously maintain:


19) Final Product Recommendation

The goal is not merely to build a forum. The goal is to build a humane, privacy-aware, emotionally supportive community product where the forum is the first expression of belonging.

MVP1 should prioritize:


20) Design Deep Dive (Sleek, Interactive, Professional)

This section turns the high-level design direction into implementation-ready UI standards.

Primary design reference: Teamblind.com — study their forum UX patterns closely during the design phase. Much of the same design approach can be adopted for RestartCrew’s thread cards, thread detail, category navigation, and anonymous identity display. Adapt their corporate tone to RestartCrew’s warmer, more supportive emotional feel.

20.1 Visual System (Foundations)

Color system

Use semantic tokens (not raw colors in components), with dark mode support planned but optional for MVP1.

Design constraints:

Typography system

Type behavior:

Spacing and radius

Elevation and borders

20.2 Motion & Interaction System

Motion should feel calm and intentional.

Rules:

20.3 Component-Level UX Specs

Primary navigation

Thread cards

Composer (new thread/reply)

Notifications center

Moderation controls

20.4 Page Blueprints (MVP1)

Landing page blueprint

  1. Hero with emotional validation and single dominant CTA
  2. Credible stats band with source-ready content slots
  3. Story preview strip (loss, support, reinvention)
  4. Value proposition grid (privacy, profession peers, practical support)
  5. Hope statement section
  6. Final CTA and lightweight footer/legal links

Feed page blueprint

Thread detail blueprint

20.5 Interaction Quality Bar (What “10/10” Means)

Every user-facing flow should satisfy:

20.6 Accessibility & Inclusive UX Enhancements

In addition to baseline accessibility requirements:

20.7 Implementation Notes for Engineering

Suggested UI token files

Definition of done for design-heavy tickets

20.8 Design QA Scorecard (Per Screen)

Score each screen 0–2 (max 10):

  1. Visual polish and hierarchy
  2. Responsiveness and layout integrity
  3. Interaction feedback quality
  4. Accessibility compliance
  5. Emotional tone alignment

Release target: no core MVP1 screen below 8/10.


21) New User Experience: First Impressions & Onboarding

This section captures ideation and design direction for making the first-time user experience emotionally resonant, practically useful, and delightfully memorable. These ideas inform implementation across multiple milestones.

21.1 Top 3 Priorities for New User Experience

Priority 1: Personalised Onboarding Quiz → Smart Content Routing

Priority 2: “You Are Not Alone” Banner + Intro Thread Prompt

Priority 3: Industry-Specific “Restart Guide”

21.2 Community Tone & Positivity

Humor & Lightness

Positivity Built Into UI

21.3 Surprise & Delight

Micro-Celebrations

Buddy System

Discovery Easter Eggs

21.4 Implementation Notes

These ideas map to milestones as follows:

Idea Milestone Notes
Onboarding quiz with warm copy 5 (Auth & Onboarding) Enhance task 5.3
“Your starter pack” cards 5 (Auth & Onboarding) New post-onboarding screen
Welcome banner + live counter 5 (Auth & Onboarding) Task 5.5
Intro thread prompt 5 (Auth & Onboarding) Task 5.5
Industry Restart Guide 5 (Auth & Onboarding) Task 5.6
Warm empty states 2 (Design System) EmptyState component variants
Creative loading messages 2 (Design System) Skeleton/loading component
Composer encouragement 6 (Forum Core) Composer micro-copy
Restart Level titles 7 (Profiles) Maps to status_type
Bright Spots widget 8 (Search & Discovery) Discovery widget
Friday Win cron thread 9 (Notifications) Supabase Edge Function
Helpful mark celebration 6 (Forum Core) Task 6.9 enhancement
Buddy system 7 (Profiles) Post-launch enhancement
Seasonal themes 2 (Design System) Post-launch enhancement
Confetti on first post 6 (Forum Core) Post-submit celebration
Discovery Easter eggs 6 (Forum Core) Post-launch enhancement

Milestone Overview

This table shows every milestone and task. Check items off as they are completed.

# Milestone Task Status
1 Technical Foundation   ✅ COMPLETE
    1.1 Initialize Next.js project with TypeScript strict mode
    1.2 Install and configure Tailwind CSS
    1.3 Configure ESLint + Prettier
    1.4 Configure Vitest + testing infrastructure
    1.5 Set up GitHub Actions CI pipeline
    1.6 Configure build and deployment basics for GitHub Pages
    1.7 Verify Supabase local development setup
2 Design System & UI Components   ✅ COMPLETE
    2.1 Define concrete design tokens (colors, typography, spacing)
    2.2 Build core UI primitives (Button, Card, Input, etc.)
    2.3 Build layout components (AppLayout, PublicLayout, nav)
    2.4 Create component showcase / style guide page
3 Database & Backend   ✅ COMPLETE
    3.1 Create core database migrations (all tables)
    3.2 Implement RLS policies for all tables
    3.3 Create seed data (categories, professions, welcome content)
    3.4 Configure Supabase Auth + profile creation trigger
    3.5 Build TypeScript service layer
    3.6 Generate and integrate database types
4 Landing Page & Public Pages   ✅ Complete
    4.1 Write all landing page content (copy, stats, stories)
    4.2 Build landing page (hero, stats, stories, CTA)
    4.3 Build community guidelines page
    4.4 Build about / how-it-works page
    4.5 Build privacy policy and terms pages
5 Auth & Onboarding   ✅ Complete (6/6)
    5.1 Build sign-up page (email + Google OAuth)
    5.2 Build sign-in page
    5.3 Build onboarding flow (profession, identity, status)
    5.4 Implement auth guards and route protection
    5.5 Build welcome banner and intro prompt
    5.6 Build industry restart guide
6 Forum Core   ✅ Complete
    6.1 Build category list / forum home page
    6.2 Build thread list view (early-stage metrics, no view counts)
    6.3 Build thread detail view with replies and helpful marking
    6.4 Build thread composer (new thread creation)
    6.5 Build reply composer
    6.6 Implement profession-based filtering
    6.7 Implement thread sorting (latest, most active, pinned)
    6.8 Implement pagination / infinite scroll
    6.9 Implement “Helpful” marking on replies
7 Profiles & User Experience   ☐ Not started
    7.1 Build public profile page (Tier 1: identity, AI story, skills, contributions)
    7.2 Build profile edit page (with AI Impact Story editor)
    7.3 Build user settings page
    7.4 Implement anonymous identity display logic
    7.5 Implement community badges system
    7.6 Implement status evolution tracking
8 Search & Discovery   ✅ Complete
    8.1 Implement thread keyword search
    8.2 Build discovery widgets (recent, profession-active, unanswered)
    8.3 Build explore / browse page
9 Notifications   ☐ Not started
    9.1 Create notifications table and service
    9.2 Build notifications center UI
    9.3 Implement reply and mention notification triggers
    9.4 Add unread badge to navigation
10 Moderation & Trust/Safety   ☐ Not started
    10.1 Build report button and report modal
    10.2 Build moderator queue page
    10.3 Implement hide/lock/pin thread actions
    10.4 Implement mute user action
    10.5 Build moderation audit log
    10.6 Implement community guardrail enforcement
11 Admin Tools & Analytics   ☐ Not started
    11.1 Build admin dashboard (metrics overview)
    11.2 Build admin category/profession management
    11.3 Build admin content management
    11.4 Integrate analytics baseline
12 QA, Performance & Launch Prep   ☐ Not started
    12.1 Full responsive QA (mobile, tablet, desktop)
    12.2 Accessibility audit and fixes (WCAG 2.2 AA)
    12.3 Performance optimization (Core Web Vitals)
    12.4 Security audit (RLS, auth, input validation)
    12.5 E2E test suite with Playwright
    12.6 Seed production data
13 Production Deployment & Launch   ☐ Not started
    13.1 Configure GitHub Pages deployment
    13.2 Configure Supabase environment for production
    13.3 Configure custom domain and DNS
    13.4 Set up GitHub Actions deploy pipeline
    13.5 Production smoke test and launch

Part 1 — Resolved Technical Decisions

All blocking decisions are resolved. No open questions remain.

1.1 Frontend Framework: Next.js App Router

Decision: Next.js 14+ with App Router, TypeScript strict mode, React Server Components where beneficial.

Rationale:

Environment variable pattern: process.env.NEXT_PUBLIC_* for client-side variables.

1.2 Hosting: GitHub Pages (Static Export)

Decision: Next.js static export deployed to GitHub Pages via GitHub Actions. No VPS. No Vercel. No Netlify.

Architecture:

Rationale:

Production topology:

GitHub Actions (CI/CD)
    ↓ builds static site (next build + next export)
GitHub Pages
└── restartcrew.com (custom domain, automatic HTTPS)
    └── Static HTML/CSS/JS (Next.js export)

Supabase Nano (existing)
├── PostgreSQL database
├── Auth service
├── Edge Functions
└── Storage

1.3 CSS Framework: Tailwind CSS

Decision: Tailwind CSS v4 with custom theme configuration matching the project’s design tokens.

Rationale:

1.4 Test Framework: Vitest + Playwright

Decision:

1.5 Auth Providers: Email + Google OAuth

Decision: Supabase Auth with email/password sign-up AND Google OAuth.

Rationale:

1.6 CI/CD: GitHub Actions

Decision: GitHub Actions for all CI/CD:

1.7 Content Strategy

Decision: All user-facing text is stored in structured content files (src/content/*.ts), not hardcoded in components. The AI agent drafts professional content; the project owner reviews and adjusts.

1.8 Admin/Moderator Roles

Decision: For initial launch, admin/moderator roles are assigned manually via a database column on the profiles table (role: 'user' | 'moderator' | 'admin'). An admin invite system is a post-launch enhancement.

1.9 Design Reference: Teamblind.com

Decision: Use Teamblind.com as the primary design reference for forum UX patterns. Much of the same design approach can be adopted and adapted for our niche.

Specific patterns to adopt from Teamblind:

How RestartCrew adapts and differs:

1.10 Early-Stage Metrics Strategy

Problem: Metrics like “X views” or “X people saw this” are counterproductive when the community is small. Showing “2 views” or “0 reactions” signals emptiness and discourages engagement.

Decision: Design all post/thread metadata for early-stage viability. Every metric shown must feel meaningful even with single-digit numbers.

Metrics to USE (work at any scale):

Metric Why it works early Display format
Reply count Even 1 reply is a conversation “3 replies” or “Be the first to reply”
Time since activity Always meaningful “2h ago”, “Yesterday”
Unique participants 2-3 people talking is meaningful “3 in conversation” (only show when ≥ 2)
Category/profession chips Visual context without numbers Colored badge
Author status badge Context without scale “Just arrived”, “Finding my path”
Pinned/Featured label Curated quality signal Badge or subtle highlight
“Helpful” marks Peer-validated value “Marked helpful by 2 people” (only show when ≥ 1)

Metrics to AVOID until sufficient scale:

Metric Why it fails early When to add
View count “2 views” looks dead After ~500 active users
Trending/hot indicators No trending with 10 users After ~200 posts/day
Upvote/downvote counts Low counts feel discouraging After ~100 active users
“X people are reading this” “1 person reading” is sad After real-time traffic exists
Follower counts on profiles “0 followers” is demotivating After community has network effects

Early-stage engagement patterns instead:

Implementation: Thread cards and post metadata must use the “early-stage” metric set. A feature flag or config threshold can switch to scale-appropriate metrics (view counts, trending) when the community reaches sufficient size. Build the data collection (view tracking, etc.) from day one, but only expose these numbers in the UI when they become meaningful.

1.11 Next-Level User Profiles

Decision: User profiles in RestartCrew are not just information pages — they are journey documents that tell the story of someone navigating AI-driven career change. This is the core differentiator from generic forums.

Profile vision: When someone visits a RestartCrew profile, they should see a person’s professional story — where they were, how AI affected them, what they’re doing about it, and what they’ve learned. The profile should inspire, build credibility, and create connection.

Profile Sections (Tier 1 — Launch)

1. Identity & Context

2. AI Impact Story (optional, structured)

3. Skills Portfolio (growth-oriented)

4. Community Contributions

Profile Sections (Tier 2 — Post-Launch Enhancement)

5. Journey Timeline

6. Personal Goals (optional)

7. Wins & Celebrations

8. Connection & Availability

Database Impact

New/extended profile fields for Tier 1:

profiles table additions:
  - ai_impact_story    TEXT         -- structured narrative (nullable)
  - personal_motto     VARCHAR(200) -- short statement (nullable)
  - status_evolution   JSONB        -- history of status changes with timestamps
  - helpfulness_count  INTEGER      -- cached count, updated via trigger
  - community_badges   TEXT[]       -- array of badge slugs
  - mentor_available   BOOLEAN      -- open to helping others

profile_skills table additions:
  - skill_category  VARCHAR(20)  -- 'have', 'building', 'want'

Tier 2 additions (post-launch):

profile_goals table:
  - id, profile_id, title, description, status ('not_started'|'in_progress'|'completed'), created_at, completed_at

profile_milestones table:
  - id, profile_id, title, description, milestone_date, milestone_type, created_at

profile_wins table:
  - id, profile_id, title, description, created_at

Impact on Milestone 7

Milestone 7 is expanded to implement these profile features. See the updated milestone below.


Part 2 — Design System Specification

Concrete values for the design system. These are starting-point recommendations — the project owner adjusts during Milestone 2 review.

2.1 Color Palette

Semantic tokens with hex values:

Token Light Mode Purpose
bg.canvas #FAFAF8 Base app background (warm off-white)
bg.surface #FFFFFF Cards, elevated panels
bg.surfaceMuted #F3F1EE Secondary panels, stat bands
bg.surfaceHover #EDEBE7 Hover state for surfaces
text.primary #1A1A1A Headlines, body text
text.secondary #6B6B6B Supporting text, metadata
text.tertiary #9B9B9B Placeholders, disabled
text.inverse #FFFFFF Text on dark/accent surfaces
accent.primary #2563EB Primary CTA, links, key highlights (calm blue)
accent.primaryHover #1D4ED8 Hover state for primary accent
accent.secondary #F59E0B Secondary accent, warm amber (hope, warmth)
accent.secondaryHover #D97706 Hover for secondary accent
state.success #16A34A Success states
state.warning #EAB308 Warning states
state.error #DC2626 Error states, destructive actions
state.info #0EA5E9 Informational states
border.subtle #E5E3DF Light dividers
border.strong #D1CFC9 Stronger boundaries
border.focus #2563EB Focus rings (matches accent.primary)

Design intent: Warm neutrals (not cold gray) as the foundation. Calm blue as the primary action color — trustworthy, not aggressive. Warm amber as the secondary accent — hope, warmth. The palette should feel like a safe, professional space — not a startup landing page and not a social media feed.

2.2 Typography

Element Font Size Weight Line Height
Display/Hero Inter 48px / 3rem 700 1.1
H1 Inter 36px / 2.25rem 700 1.2
H2 Inter 28px / 1.75rem 600 1.3
H3 Inter 22px / 1.375rem 600 1.4
H4 Inter 18px / 1.125rem 600 1.4
Body (md) Inter 16px / 1rem 400 1.6
Body (sm/caption) Inter 14px / 0.875rem 400 1.5
Body (lg/intro) Inter 18px / 1.125rem 400 1.7
Monospace JetBrains Mono 14px / 0.875rem 400 1.5

Font choice: Inter — clean, professional, excellent readability at all sizes, open-source, great language support. Available via next/font for optimal loading.

2.3 Spacing Scale

4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96 (px)

Mapped to Tailwind: 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 20, 24 (Tailwind units)

2.4 Border Radius Scale

Token Value Use
radius.sm 6px Small elements (badges, chips)
radius.md 8px Default (inputs, buttons)
radius.lg 12px Cards, containers
radius.xl 16px Feature cards, modals
radius.full 9999px Pills, avatars

2.5 Shadows

Token Value Use
shadow.sm 0 1px 2px rgba(0,0,0,0.05) Subtle lift
shadow.md 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05) Cards
shadow.lg 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04) Modals, dropdowns

2.6 Breakpoints

Name Min Width Tailwind Prefix
Mobile 0px (default)
Tablet 768px md:
Desktop 1280px lg:
Wide 1536px xl:

2.7 Motion

Category Duration Easing
Micro (buttons, toggles) 150ms ease-out
Surface (cards, drawers) 200ms ease-in-out
Route transitions 250ms ease-in-out

Rule: Always respect prefers-reduced-motion. Reduce to 0ms or minimal for users who prefer it.


Part 3 — Execution Plan

How This Plan Works

Each Task is an atomic unit of work. Tasks are grouped into Milestones. After each Milestone, there is a ⏸️ VERIFICATION CHECKPOINT — work stops, the result is reviewed, and the next milestone only starts after the checkpoint passes.

Each task includes:


Milestone 1: Technical Foundation

Goal: A working dev environment where code can be written, built, tested, and containerized. No product features — just the tooling skeleton.

1.1 — Initialize Next.js Project

1.2 — Install and Configure Tailwind CSS

1.3 — Configure Linting

1.4 — Configure Testing Infrastructure

1.5 — Set Up GitHub Actions CI Pipeline

1.6 — Configure Build and Deployment Basics

1.7 — Verify Supabase Local Setup

⏸️ CHECKPOINT 1 — Foundation Verification ✅


Milestone 2: Design System & UI Components

Goal: A reusable component library with the project’s visual identity. Study Teamblind.com for forum UX patterns. No pages yet — just building blocks.

2.1 — Define Design Tokens

Review point: Project owner reviews the color palette, typography, and overall visual tone before component work begins.

2.2 — Build Core UI Primitives

2.3 — Build Layout Components

2.4 — Create Component Showcase Page

⏸️ CHECKPOINT 2 — Design System Verification ✅


Milestone 3: Database & Backend

Goal: Complete, RLS-protected database schema. Seed data. Auth configured. Typed service layer.

3.1 — Create Core Database Migrations

3.2 — Implement RLS Policies

3.3 — Create Seed Data

3.4 — Configure Auth

3.5 — Build Service Layer

3.6 — Generate Database Types

⏸️ CHECKPOINT 3 — Backend Verification


Milestone 4: Landing Page & Public Pages

Goal: Polished, responsive landing page and all public/legal pages.

4.1 — Write Landing Page Content

4.2 — Build Landing Page

4.3 — Build Community Guidelines Page

4.4 — Build About / How-It-Works Page

4.5 — Build Privacy and Terms Pages

✅ CHECKPOINT 4 — Public Pages Verification


Milestone 5: Auth & Onboarding

Goal: Users can sign up, choose identity mode, select profession, and land in the forum.

5.1 — Build Sign-Up Page

5.2 — Build Sign-In Page

5.3 — Build Onboarding Flow

5.4 — Implement Auth Guards

5.5 — Build Welcome Banner & Intro Prompt

5.6 — Build Industry Restart Guide

⏸️ CHECKPOINT 5 — Auth & Onboarding Verification


Milestone 6: Forum Core

Goal: Browse categories, read threads, create threads, reply. The core product, informed by Teamblind.com patterns.

6.1 — Build Forum Home / Category List

6.2 — Build Thread List View

6.3 — Build Thread Detail View

6.4 — Build Thread Composer

6.5 — Build Reply Composer

6.6 — Implement Profession-Based Filtering

6.7 — Implement Thread Sorting

6.8 — Implement Pagination

6.9 — Implement “Helpful” Marking on Replies

⏸️ CHECKPOINT 6 — Forum Core Verification


Milestone 7: Profiles & User Experience

Goal: Next-level user profiles that tell a career transition story. Settings, identity management, and community features that make profiles a core differentiator. See Section 1.11 for the full profile vision.

7.1 — Build Public Profile Page (Tier 1)

7.2 — Build Profile Edit Page

7.3 — Build User Settings Page

7.4 — Implement Anonymous Identity Display

7.5 — Implement Community Badges System

7.6 — Implement Status Evolution Tracking

⏸️ CHECKPOINT 7 — Profiles Verification


Milestone 8: Search & Discovery

Goal: Users can find content through search and discovery widgets.

8.2 — Build Discovery Widgets

8.3 — Build Explore Page

⏸️ CHECKPOINT 8 — Search & Discovery Verification


Milestone 9: Notifications

Goal: Users are notified of replies, mentions, and moderation updates.

9.1 — Create Notifications Infrastructure

9.2 — Build Notifications Center

9.3 — Implement Notification Triggers

9.4 — Add Unread Badge to Navigation

⏸️ CHECKPOINT 9 — Notifications Verification


Milestone 10: Moderation & Trust/Safety

Goal: Report flow, moderator tools, audit log, community safety.

10.1 — Build Report Flow

10.2 — Build Moderator Queue

10.3 — Implement Moderation Actions

10.4 — Implement Mute User

10.5 — Build Moderation Audit Log

10.6 — Community Guardrail Enforcement

⏸️ CHECKPOINT 10 — Moderation Verification


Milestone 11: Admin Tools & Analytics

Goal: Admin dashboard for platform management and basic analytics.

11.1 — Build Admin Dashboard

11.2 — Build Category/Profession Management

11.3 — Build Content Management

11.4 — Integrate Analytics

⏸️ CHECKPOINT 11 — Admin Verification


Milestone 12: QA, Performance & Launch Prep

Goal: Production-quality polish across all surfaces.

12.1 — Full Responsive QA

12.2 — Accessibility Audit

12.3 — Performance Optimization

12.4 — Security Audit

12.5 — E2E Test Suite

12.6 — Seed Production Data

⏸️ CHECKPOINT 12 — Launch Readiness


Milestone 13: Production Deployment & Launch

Goal: Live at www.restartcrew.com with full user journey working.

13.1 — Configure GitHub Pages Deployment

13.2 — Configure Supabase Environment for Production

13.3 — Configure Custom Domain and DNS

13.4 — Set Up Deploy Pipeline

13.5 — Production Smoke Test & Launch

⏸️ CHECKPOINT 13 — Launch Gate


Part 4 — Future Roadmap

After launch, development continues with enhancements and new features:

Post-Launch Improvements (weeks 2–6):

Version 2 — Growth Layer:


Part 5 — Principles for Agent Execution

5.1 Documentation Updates

After every task:

5.2 Quality Standards

5.3 Stopping Rules

The agent MUST stop and request human review when:

5.4 Execution Order

Milestones must be executed in order (1 → 2 → 3 → …). Tasks within a milestone can be parallelized where dependencies allow. No milestone can start until the previous checkpoint is approved.


Appendix A — Expected File Structure After All Milestones

src/
├── app/
│   ├── layout.tsx                    # Root layout
│   ├── page.tsx                      # Landing page
│   ├── globals.css                   # Global styles
│   ├── (auth)/
│   │   ├── signin/page.tsx
│   │   ├── signup/page.tsx
│   │   └── onboarding/page.tsx
│   ├── (app)/
│   │   ├── layout.tsx                # App shell layout
│   │   ├── feed/page.tsx             # Forum home
│   │   ├── category/[slug]/page.tsx
│   │   ├── thread/[id]/page.tsx
│   │   ├── new/page.tsx              # Thread composer
│   │   ├── explore/page.tsx
│   │   ├── search/page.tsx
│   │   ├── profile/[handle]/page.tsx
│   │   ├── notifications/page.tsx
│   │   ├── settings/
│   │   │   ├── page.tsx
│   │   │   ├── profile/page.tsx
│   │   │   └── account/page.tsx
│   │   ├── mod/
│   │   │   ├── queue/page.tsx
│   │   │   ├── reports/page.tsx
│   │   │   └── log/page.tsx
│   │   └── admin/
│   │       ├── page.tsx
│   │       ├── categories/page.tsx
│   │       ├── professions/page.tsx
│   │       └── content/page.tsx
│   ├── community-guidelines/page.tsx
│   ├── about/page.tsx
│   ├── privacy/page.tsx
│   ├── terms/page.tsx
│   └── (dev)/
│       └── styleguide/page.tsx       # Component showcase (dev only)
├── components/
│   ├── ui/                           # Button, Card, Input, Textarea, Select, Chip, Modal, Toast, Avatar, Skeleton, EmptyState, Dropdown
│   ├── layout/                       # AppLayout, PublicLayout, BottomNav, SideNav, Footer, PageHeader
│   ├── auth/                         # SignUpForm, SignInForm, AuthGuard, OAuthButton
│   ├── onboarding/                   # OnboardingFlow, ProfessionSelector, IdentityModeSelector, StatusSelector, SkillsQuickStart, ImpactStoryPrompt
│   ├── forum/                        # CategoryCard, ThreadCard, ThreadList, PostCard, ReplyForm, Composer, ProfessionFilter, HelpfulButton
│   ├── landing/                      # HeroSection, StatsSection, StoriesSection, ValueProps, HopeSection, CTASection
│   ├── profile/                      # ProfileHeader, ProfileView, ProfileEditForm, ImpactStory, ImpactStoryEditor, SkillsPortfolio, SkillsEditor, CommunityBadges, BadgeDisplay, ContributionStats
│   ├── discovery/                    # RecentThreads, ProfessionActive, UnansweredPosts, NewMembers, SimilarExperience
│   ├── notifications/                # NotificationList, NotificationItem
│   ├── moderation/                   # ReportButton, ReportModal, ModQueue, ModActionBar
│   └── admin/                        # MetricsCards, CategoryManager, ContentManager
├── services/                         # auth, profiles, threads, posts, categories, professions, reports, notifications, moderation, search, badges
├── lib/                              # supabase.ts (server + client)
├── types/                            # database.types.ts, component types
├── content/                          # landing.ts, guidelines.ts, about.ts, legal.ts
├── styles/                           # tokens.css
└── utils/                            # formatDate, truncate, identity helpers

supabase/
├── config.toml
├── migrations/
│   ├── 001_create_professions.sql
│   ├── 002_create_categories.sql
│   ├── 003_create_profiles.sql
│   ├── 004_create_threads.sql
│   ├── 005_create_posts.sql
│   ├── 006_create_tags.sql
│   ├── 007_create_follows.sql
│   ├── 008_create_reports.sql
│   ├── 009_create_notifications.sql
│   ├── 010_create_moderation_actions.sql
│   ├── 011_rls_policies.sql
│   ├── 012_auth_trigger.sql
│   ├── 013_role_helpers.sql
│   ├── 014_notification_triggers.sql
│   ├── 015_skills.sql
│   ├── 016_helpful_marks.sql
│   └── 017_badge_triggers.sql
├── seed/
│   └── seed.sql
└── functions/

tests/
├── services/
├── utils/
├── e2e/
└── setup.ts

.github/
└── workflows/
    ├── ci.yml
    └── deploy.yml

CNAME