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
polystaqPublic landing, pricing, use-cases, blog. CTAs funnel to the app.
EricBaik/Polystaqapp.polystaq.com
Product application
polystaq-appAuthenticated canvas editor + dashboard. The real product.
EricBaik/Polystaq-appds.polystaq.com
Design system docs
polystaq-docsThis site. Documents @polystaq/ui — tokens, components, patterns.
EricBaik/Polystaq-Docswww.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, /privacyContent 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), healthBacked 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.