Architecture

Polystaq ships as three independent Vercel deployments that share one design system. This page maps how www.polystaq.com (marketing) and app.polystaq.com (the product) are built and how they relate.

Deployments

www.polystaq.com

Marketing

app.polystaq.com

Product

both consume @polystaq/ui · documented at ds.polystaq.com

www.polystaq.com

Marketing site

polystaq

Public landing, pricing, use-cases, blog. CTAs funnel to the app.

RepoEricBaik/Polystaq
LayoutTurborepo — root dir apps/app
StackNext.js 16 · Tailwind v4 · Supabase · Upstash Redis · Resend

app.polystaq.com

Product application

polystaq-app

Authenticated canvas editor + dashboard. The real product.

RepoEricBaik/Polystaq-app
LayoutStandalone repo — src/
StackNext.js 16 · Tailwind v4 · Supabase · @xyflow/react · AWS S3/R2 · Upstash Redis

ds.polystaq.com

Design system docs

polystaq-docs

This site. Documents @polystaq/ui — tokens, components, patterns.

RepoEricBaik/Polystaq-Docs
LayoutStandalone repo — app/
StackNext.js 16 (static) · Tailwind v4

www.polystaq.com — Marketing

The marketing site is the apps/app workspace inside the EricBaik/Polystaq Turborepo — it is the configured root directory of that Vercel project. Its sibling apps/docs is a dead duplicate, superseded by this standalone docs repo.

/(marketing)/, /pricing, /about, /blog, /contact
/(marketing)/use-cases12 use-case pages (operations, sales, HR, compliance, org-charts, …)
/(marketing)/examples/examples, /examples/[slug]
Legal/terms, /privacy

Content routes only — no authenticated product surface. Sign-up and login CTAs link out to app.polystaq.com.

app.polystaq.com — Product

The product app is a standalone repo (polystaq-app), not part of the monorepo. It is the authenticated Polystaq application: the canvas editor, dashboard, and auth flows. Sets strict security headers (X-Frame-Options: DENY, nosniff) and runs with cacheComponents enabled.

/(app)/app/dashboard, /canvas — authenticated product
/(auth)/login, /signup, /forgot-password
/auth/callbackSupabase OAuth callback handler
/apicanvas-pages, canvas-folders, storage (upload/download URLs), health

Backed by Supabase (auth + data via @supabase/ssr), R2/S3 for file storage (presigned URLs), Upstash Redis, and @xyflow/react for the canvas.

How they relate

Shared design system

All three surfaces render @polystaq/ui — the same buttons, cards, tokens, and OKLCH color system. In the marketing monorepo it lives at packages/ui; the two standalone repos vendor their own copy at ./ui. This docs site exists to document that package.

Shared canvas components

The marketing site (polystaq/apps/app) and the product app (polystaq-app) share the canvas building blocks so example diagrams on the landing pages match the real editor. They are siblings, not duplicates — separate deploys that happen to share components.

Marketing → app funnel

Every marketing CTA — nav, pricing, use-cases, examples — points to https://app.polystaq.com/signup or /login. The app itself has no links back to the marketing site; it is product-first.

Shared owner & infrastructure

All three deploy under the same Vercel org (eric-baiks-projects, Hobby plan) from EricBaik-owned GitHub repos. The marketing site and the app share the same backend: one Supabase project, Upstash Redis, and R2 object storage.