---
name: saas-architect
description: "Master SaaS orchestrator for greenfield MVP launch (0 to 1) and legacy application SaaS transformation (1 to N) / Master orkestrator SaaS untuk peluncuran MVP dari nol (0 ke 1) dan transformasi aplikasi menjadi SaaS (1 ke N)."
author: "Roedy Rustam"
version: "4.4.2"
---
# SaaS Architect (MVP Launcher & Transformation Master)
[English](#english) | [Bahasa Indonesia](#bahasa-indonesia)
---
## English
### Orchestration & Integration
- **Upstream Orchestrators**: Works under `brainstorming` and `zero-to-prod-orchestrator` (Phase 1-8 Master Lifecycle) as the central SaaS commercialization engine.
- **Downstream Cooperating Skills**:
- `saas-multi-tenant` — Workspaces, RLS policies, tenant schema isolation, and super-admin routing.
- `saas-billing` — Subscription state machines, Stripe/Polar/Midtrans checkout, and webhook sync.
- `authentication-identity-expert` — Multi-tenant identity, RBAC, OAuth2/PKCE, and session tokens.
- `cloud-hosting-expert` — Subdomain routing and isolation (`app.*`, `admin.*`).
- `production-ready-hardener` — Launch readiness verification and security audits.
- `prd-architect` — Generate PRD, ERD, and continuous architecture documentation.
- `session-memory-manager` — Persist SaaS lifecycle blueprints and tenant state checkpoints.
- `senior-frontend` — Enforce modern UI/UX standards across app shells and marketing pages.
### Description
The **SaaS Architect** is the master lifecycle orchestrator for building commercial SaaS platforms. It operates in two specialized modes:
- **Mode A (Greenfield MVP 0-to-1)**: Validating ideas, rapid stack selection, multi-entry points architecture, authentication, billing setup, and launch checklist.
- **Mode B (App Modernization 1-to-N)**: Systematically converting existing single-tenant or internal applications into enterprise-grade multi-tenant SaaS platforms using a 9-phase transformation pipeline.
### Trigger Conditions
- Planning or launching a brand-new SaaS product from scratch.
- Modernizing or converting an existing web app into a commercial SaaS.
- Setting up multi-tenancy, workspace isolation, team management, or feature gating.
- Conducting a technical audit of an existing SaaS architecture.
---
### Mode A: Greenfield SaaS MVP (0 to 1)
#### 1. Idea Validation & Scoping
- Define the exact customer problem in one sentence.
- Verify 3+ pre-commitments or letters of intent before deep coding.
- Keep MVP scope tight (target 4-6 weeks to launch).
#### 2. Modern SaaS Stack Blueprint (2026)
- **Frontend & App**: Next.js 15 App Router + React 19 + TypeScript.
- **Styling & UI**: Tailwind CSS v4 + Base UI / shadcn/ui primitives.
- **Data Layer**: PostgreSQL (Neon Serverless / Supabase) via Drizzle ORM or Prisma 6.
- **Auth**: Clerk, Auth.js v5, or Supabase Auth with OAuth2 PKCE.
- **Billing**: Stripe / Midtrans / DOKU via webhook-driven synchronization.
- **Email & Jobs**: Resend + React Email; BullMQ / Trigger.dev v3 for background jobs.
- **Deployment**: Vercel / Cloudflare Edge with zero-config CI/CD.
#### 3. Architecture & Entry Points Isolation
Apply the multiple-entry-points architecture (guided by `cloud-hosting-expert`) to segregate responsibilities:
- **Public Entry (`app.example.com` or `example.com`)**: Marketing landing, pricing, documentation, and blog.
- **Tenant Dashboard (`app.example.com/dashboard` or `[tenant].example.com`)**: Authenticated customer workspace.
- **Super Admin Subdomain (`admin.example.com`)**: Dedicated subdomain strictly isolated from customer tenant routes for global metrics, tenant provisioning, user moderation, and feature override controls.
#### 4. Pre-Launch Quality Gate
- Authentication and session validation (Edge JWT + Redis caching).
- Webhook signature validation active for all billing events.
- Error tracking configured (Sentry) and rate limiting on API routes.
- ToS, Privacy Policy, and 2-3 pricing tiers with trial workflows.
---
### Mode B: SaaS Transformation & Modernization (1 to N)
For existing codebases, execute the structured 9-phase transformation pipeline:
```
┌──────────────────────────────────────────────────────────────────┐
│ SAAS TRANSFORMATION PIPELINE │
│ Phase 1: Discovery & Architecture Audit (Scanner script) │
│ Phase 2: Multi-Tenancy & Data Isolation (saas-multi-tenant) │
│ Phase 3: Identity & RBAC Management (authentication-identity) │
│ Phase 4: Billing, Subscriptions & Webhooks (saas-billing) │
│ Phase 5: Workspace & Team Collaboration (Invites, Roles) │
│ Phase 6: Frontend App Shell & Multi-Entry Points │
│ Phase 7: Feature Gating, Limits & Metering │
│ Phase 8: Production Hardening, Testing & Security Audit │
│ Phase 9: Deployment, Multi-Tenant Monitoring & Launch │
└──────────────────────────────────────────────────────────────────┘
```
#### Transformation Scanner
Run `python scripts/saas_transformation_scanner.py` to inspect the legacy codebase. It scores readiness across:
1. Multi-Tenancy Readiness (Foreign keys, tenant isolation)
2. Auth & RBAC Maturity
3. Billing & Subscription hooks
4. Feature Gating presence
#### Core Modernization Principles
- **Data Isolation**: Refer to `saas-multi-tenant` for Shared Schema RLS or Schema-per-tenant patterns. Do not write raw duplicate schemas.
- **Subscription State Machine**: Refer to `saas-billing` for webhook handling, invoice synchronization, and dunning cycles.
- **Feature Gating**: Implement hierarchical checks (System Flag -> Plan Tier -> Tenant Addon -> User Role) as detailed in `references/feature_gating_patterns.md`.
---
### 🎨 Automatic Visual Assets Generation Mandate (CRITICAL)
When initializing or scaffolding any new SaaS application:
1. Automatically invoke `generate_image` to create a production-quality application logo matching the brand identity.
2. Use this asset immediately as the navbar logo, browser favicon (`favicon.ico`), and Open Graph social banner (`og:image`). Never use placeholder icons.
### 📄 Standard Pages Mandate
Every SaaS application must scaffold complete, functional implementations for:
- Landing Page (Hero, Features, Social Proof, Pricing, FAQ)
- Authentication (Sign In, Sign Up, Password Reset, Magic Link)
- Onboarding Wizard (<5 minutes to first value)
- Settings (Profile, Workspace, Team Members, Billing / Plans, API Keys)
- Super Admin Panel on dedicated subdomain (`admin.example.com`)
---
#### Multi-Tenant Subdomain & Entry-Point Isolation Middleware (Next.js 15 / Edge)
```typescript
import { NextRequest, NextResponse } from 'next/server';
export interface TenantRoutingConfig {
rootDomain: string;
adminSubdomain: string;
}
export function routeMultiEntrySaaS(req: NextRequest, config: TenantRoutingConfig): NextResponse {
const host = req.headers.get('host') ?? config.rootDomain;
const hostname = host.split(':')[0];
const url = req.nextUrl.clone();
if (hostname === `${config.adminSubdomain}.${config.rootDomain}`) {
url.pathname = `/super-admin${url.pathname === '/' ? '' : url.pathname}`;
return NextResponse.rewrite(url);
}
if (hostname !== config.rootDomain && hostname.endsWith(`.${config.rootDomain}`)) {
const tenantSlug = hostname.replace(`.${config.rootDomain}`, '');
url.pathname = `/tenant/${tenantSlug}${url.pathname}`;
const res = NextResponse.rewrite(url);
res.headers.set('x-tenant-slug', tenantSlug);
return res;
}
return NextResponse.next();
}
```
#### Hierarchical Feature Gating Evaluator
```typescript
export interface EntitlementContext {
systemFlags: Record;
planFeatures: ReadonlySet;
tenantAddons: ReadonlySet;
userRolePermissions: ReadonlySet;
}
export function evaluateFeatureAccess(featureKey: string, ctx: EntitlementContext): boolean {
if (ctx.systemFlags[featureKey] === false) {
return false;
}
const hasTenantEntitlement = ctx.planFeatures.has(featureKey) || ctx.tenantAddons.has(featureKey);
if (!hasTenantEntitlement) {
return false;
}
return ctx.userRolePermissions.has(featureKey);
}
```
### Sovereign Execution, Token Efficiency & Invariants
| Dimension | Sovereign Mandate & Deterministic Contract |
| :--- | :--- |
| **Frontier Model Cascade** | Medium / High (`GPT-5.6 Sol Medium`, `Gemini 4 Argon`, `Claude Sonnet 5.5 High`, `Grok 4.7 High Fast`) |
| **Availability Fallback** | `Gemini 4 Argon/Pro` -> `Gemini 3.8 Flash`; `Claude Opus 5.5` -> `Claude Opus 4.6` (Zero unhandled missing-model errors) |
| **KV-Cache & Token Protocol** | Pin static instructions & schemas at prompt prefix (`kv-cache-prefix-optimizer`); pass surgical `CONTEXT_MAP.md` slices (<250 tokens/call) during Swarm Fan-Out |
| **SaaT CLI & MCP Dispatch** | CLI: `vibes skill exec saas-architect ` / MCP: `vibes_skill_dispatch`, `vibes_ast_query`, `vibes_compile_cache`, `vibes_optimize_budget`, `vibes_verify_gate` |
| **NFR & Anti-Slop Invariants** | P99 API Gateway Latency < 85ms, OpenAPI 3.1 / TypeSpec strict schema parity, RFC 9457 Problem Details error contracts, Idempotency-Key enforcement; 100% complete zero-placeholder output verified via `node scripts/check-anti-slop.js --strict` |
---
---
## Bahasa Indonesia
### Integrasi Orkestrasi
- **Orkestrator Hulu**: Beroperasi di bawah arahan `brainstorming` dan `zero-to-prod-orchestrator` (Master Lifecycle Fase 1-8) sebagai mesin komersialisasi SaaS utama.
- **Skill Hilir & Kerja Sama**:
- `saas-multi-tenant` — Workspace, kebijakan RLS, isolasi skema tenant, dan routing super-admin.
- `saas-billing` — State machine langganan, checkout Stripe/Polar/Midtrans, dan sinkronisasi webhook.
- `authentication-identity-expert` — Identitas multi-tenant, RBAC, OAuth2/PKCE, dan token sesi.
- `cloud-hosting-expert` — Routing dan isolasi subdomain (`app.*`, `admin.*`).
- `production-ready-hardener` — Verifikasi kesiapan peluncuran dan audit keamanan.
- `prd-architect` — Pembuatan PRD, ERD, dan dokumentasi arsitektur kontinu.
- `session-memory-manager` — Menyimpan cetak biru siklus SaaS dan checkpoint status tenant.
- `senior-frontend` — Menerapkan standar modern UI/UX pada app shell dan landing page.
### Deskripsi
**SaaS Architect** adalah orkestrator siklus hidup utama untuk membangun platform SaaS komersial. Beroperasi dalam dua mode:
- **Mode A (Greenfield MVP 0 ke 1)**: Validasi ide, pemilihan tech stack kilat, arsitektur multi-entry points, autentikasi, billing, dan checklist peluncuran.
- **Mode B (Modernisasi Aplikasi 1 ke N)**: Mentransformasi aplikasi single-tenant atau internal yang sudah ada menjadi SaaS multi-tenant enterprise menggunakan pipeline 9 fase terstruktur.
### Kondisi Pemicu
- Membangun produk SaaS baru dari awal.
- Memodernisasi atau mengubah aplikasi web biasa menjadi SaaS komersial.
- Mengonfigurasi multi-tenancy, isolasi ruang kerja (workspace), manajemen tim, atau feature gating.
- Melakukan audit arsitektur teknis SaaS.
---
### Mode A: SaaS MVP dari Nol (0 ke 1)
1. **Validasi Ide**: Rumuskan masalah dalam satu kalimat, validasi dengan 3+ komitmen bayar sebelum mulai coding.
2. **Tech Stack Modern (2026)**: Next.js 15 App Router, Tailwind CSS v4, PostgreSQL (Neon/Supabase) via Drizzle/Prisma, Clerk/Auth.js, Stripe/Midtrans/DOKU, Resend, Vercel.
3. **Isolasi Entry Point**: Pisahkan landing page publik, dashboard penyewa (tenant), dan **Dashboard Super Admin** pada subdomain terpisah (`admin.example.com`).
4. **Gerbang Kualitas Pra-Rilis**: Sesi login teroptimasi (JWT + Redis), webhook billing tervalidasi, Sentry aktif, rate limiting, halaman harga 2-3 tier.
---
### Mode B: Transformasi & Modernisasi SaaS (1 ke N)
Gunakan pipeline 9 fase terstruktur:
1. Audit arsitektur & jalankan `python scripts/saas_transformation_scanner.py`.
2. Fondasi multi-tenancy (merujuk ke `saas-multi-tenant`).
3. Autentikasi terpusat & RBAC (merujuk ke `authentication-identity-expert`).
4. Mesin billing & siklus langganan (merujuk ke `saas-billing`).
5. Manajemen tim & undangan workspace.
6. Shell frontend & pemisahan entry point.
7. Feature gating berjenjang (`references/feature_gating_patterns.md`).
8. Pengujian E2E & hardening keamanan.
9. Rilis & pemantauan multi-tenant.
---
### 🎨 Mandat Pembuatan Aset Visual Otomatis (KRITIS)
Gunakan tool `generate_image` secara otomatis untuk membuat logo aplikasi kustom saat inisialisasi aplikasi. Pasang logo tersebut sebagai logo navbar, favicon (`favicon.ico`), dan gambar Open Graph (`og:image`). Dilarang memakai placeholder.
### Matriks Eksekusi Berdaulat, Efisiensi Token & Invarian
| Dimensi | Mandat Berdaulat & Kontrak Deterministik |
| :--- | :--- |
| **Kaskade Model Frontier** | Medium / High (`GPT-5.6 Sol Medium`, `Gemini 4 Argon`, `Claude Sonnet 5.5 High`, `Grok 4.7 High Fast`) |
| **Invarian Fallback Ketersediaan** | `Gemini 4 Argon/Pro` -> `Gemini 3.8 Flash`; `Claude Opus 5.5` -> `Claude Opus 4.6` (Bebas gagal saat model belum tersedia/kuota penuh) |
| **Protokol Hemat Token & KV-Cache** | Kunci instruksi & skema statis di prefix awal (`kv-cache-prefix-optimizer`); kirim potongan `CONTEXT_MAP.md` (<250 token/panggilan) saat Fan-Out |
| **Eksekusi SaaT CLI & MCP** | CLI: `vibes skill exec saas-architect ` / MCP: `vibes_skill_dispatch`, `vibes_ast_query`, `vibes_compile_cache`, `vibes_optimize_budget`, `vibes_verify_gate` |
| **Invarian NFR & Anti-Slop** | Latensi P99 API < 85ms, paritas skema ketat OpenAPI 3.1 / TypeSpec, kontrak error RFC 9457 Problem Details, penegakan Idempotency-Key; kode 100% tuntas tanpa placeholder diverifikasi melalui `node scripts/check-anti-slop.js --strict` |