πŸ‡ΊπŸ‡Έ RedWave

pnpm + Turborepo social / advocacy platform. One Next.js 15 + Convex app serving three brands β€” redwaveplan.com (social network), DemHistory.org and PrimaryPlan.org (landing brands) β€” with legacy-forum imports, versioned AI research reports, and per-section discussion.

Overview Features Research reports Layout system Flow & deploy Tech Roadmap Test results πŸ§ͺ Pair test plan

Overview

Live on Vercelredwaveplan.com DNS still on legacy server

Repomicrospaces/redwave (scaffolded from LinkAll8)
LocalC:/Users/AI/Repos/redwave
Owner agentredwaveplandev
BackendConvex deployment fabulous-eel-831 (NEXT_PUBLIC_CONVEX_URL in apps/redwave-web/.env.local)
DeployVercel git integration β€” push to main auto-deploys (verified 2026-09-11)
BrandDomainServesStatus
Red Wave Planredwaveplan.comThe social app at /⚠️ DNS β†’ legacy ASP.NET box (208.98.35.66); move to Vercel (A 76.76.21.21 / CNAME cname.vercel-dns.com)
DemHistorydemhistory.org/demhistory landing (host rewrite)βœ… Live on Vercel
Primary Planprimaryplan.org/primaryplan landing (host rewrite)βœ… Live on Vercel

App features

Research reports (the heads-up card on each issue group)

Each issue group gets dated, versioned research reports. Every generation run creates a new version β€” nothing is overwritten β€” so discussion attached to earlier versions stays readable.

Layout system (2026-09-11 rework)

<header>                      full-width, sticky
<div class="mx-auto max-w-[1265px] flex">   ← the whole shell centers like Twitter/X
  LeftSidebar   (sticky, w-16 β†’ md:w-52)
  center column (main + footer, min-w-0 flex-1)
  RightSidebar  (sticky, w-52, β‰₯790px only)
</div>

Flow & deploy

Host β†’ brand routing

  1. middleware.ts rewrites / β†’ /demhistory or /primaryplan based on the Host header (same pattern as the LinkAll8 locos); redwaveplan.com serves /.
  2. vercel.json mirrors the same host rewrites at the edge.
  3. Sign-in pages are chromeless; everything else renders inside the social shell.

Deploy

Plain Vercel git integration: push to main β†’ Vercel builds with installCommand: cd ../.. && pnpm install --frozen-lockfile and buildCommand: pnpm --filter redwave-web build. No GitHub Actions matrix (unlike aroundtown) β€” the repo is linked to the redwave-web Vercel project.

Data boundary: tenant isolation is physical β€” this repo's schema is pushed only to Convex deployment fabulous-eel-831. Don't push a schema that drops tables without a reviewed, intentional change (noted in schema.ts).

Local dev

pnpm install
pnpm dev:redwave            # Next.js app (apps/redwave-web)
pnpm backend                # Convex dev (packages/backend)
pnpm --filter @redwave/ui typecheck
pnpm --filter redwave-web build

Tech

Monorepopnpm 9.15.0 workspaces + Turbo 2.x, root name redwave-platform
Appapps/redwave-web β€” Next.js 15.5 App Router, thin pages that import components from @redwave/ui
UI kitpackages/ui (@redwave/ui) β€” app shell, groups, feed, reports, resources, people, theme, avatar
Backendpackages/backend β€” Convex functions + schema (users, groups, groupMembers, reports, reportSections, posts, postVotes, notifications, resources + Convex Auth tables)
Brandspackages/brands (@redwave/brands) β€” per-brand labels / nav / feature flags consumed via useBrand()
StylingTailwind CSS v4 (@import "tailwindcss", @theme brand tokens, @source scanning packages/ui)
Auth@convex-dev/auth + Next.js middleware route matcher
Vercelframework nextjs, monorepo-aware install/build commands (see apps/redwave-web/vercel.json)
Legacy lineageSchema mirrors the old ASP.NET tables β€” AspNetUsers β†’ users (with legacyId), Group β†’ groups (leftmenu Top/Hot buckets), Comment β†’ posts β€” so the imported data keeps its shape
apps/redwave-web/
  app/            # (brand) landings + (social) routes, middleware.ts
  vercel.json     # host rewrites + monorepo build commands
packages/
  ui/             # @redwave/ui components (social-shell, groups, reports…)
  backend/convex/ # schema.ts, groups.ts, reports.ts, posts.ts, crons.ts…
  brands/         # per-brand config

πŸ—‚οΈ Roadmap

Live roadmap, managed as GitHub issues (redwave issues). Add or close items on GitHub β€” β˜‘ = done, close as β€œnot planned” to remove.

Test results

2026-09-11 β€” icon + Twitter-style layout shipped