SoConnective

Architecture

ADR 0001 — Stack and unified platform

  • Date: 2026-06-09
  • Status: Accepted

Context

Feedback Studios (a team of 2, semi-technical profile) wants to unify web + dashboard (currently PHP) + Chatwoot + n8n + a future client portal on a coherent, elegant base, self-hosted, subscription-free and scalable with Claude Code.

Decision

  1. TypeScript / Next.js monorepo (Turborepo) as the single base for web, dashboard and portal. It is the stack with which Claude Code is most effective and it unifies the language.
  2. Payload CMS (MIT, fully self-host) as CMS + backend + auth + API, within the same Next.js. Avoids subscription-based SaaS CMS (Sanity/Storyblok/Contentful).
  3. PostgreSQL self-host as the database.
  4. Coolify (open-source) to deploy everything on our own VPS.
  5. Existing n8n and Chatwoot are kept and connected via webhooks/API.
  6. Public website starting from the Azurio template (one-time purchase on ThemeForest).

Rejected alternatives

  • WordPress/Bricks for our own website: you cannot "convert" a Next.js to WP without rebuilding it and losing the motion/craft. (The "editable in builder" rule applies to client websites, not to our own platform.)
  • SaaS CMS (Sanity/Storyblok) and managed hosting (Vercel/Neon): they imply recurring subscriptions; rejected due to the cost requirement.

Consequences

  • (+) A single codebase and language; maximum leverage with Claude Code; zero fees.
  • (−) Migrating the PHP dashboard → Next.js is real work (done in phases).
Previous
Technical Blueprint — SoConnective · CRM