IntegrateWise Complete Platform Integration Strategy
Tier C — Historical. This document is a point-in-time snapshot preserved for reference. For current architecture, see CANONICAL_PLATFORM_ARCHITECTURE.md.
Discovery: Complete Next.js 16 migration of 622-file Vite SPA with all 12 domains × 11 views
Status: Ready for immediate integration
Timeline: 2-3 weeks to unified production platform
What You Have
apps/live (Current, Deployed)
- ✅ 24 core pages (landing, auth, onboarding, workspace)
- ✅ 19 UI components
- ✅ 3 API routes (mock data)
- ✅ Live on Vercel
- ❌ No backend wiring
- ❌ Limited feature depth
new-project.zip (Complete SPA)
- ✅ 622 TypeScript files
- ✅ 12 domain shells (CSM, RevOps, SalesOps, Personal, + 8 others)
- ✅ 130+ specialized views (11 views per domain average)
- ✅ 50+ dependencies (React Query, Radix UI, Recharts, TanStack, etc.)
- ✅ Complete app infrastructure (routing, contexts, stores, hooks)
- ✅ Full connector integrations (Salesforce, HubSpot, etc.)
- ✅ Complete memory system
- ✅ Twin orchestration
- ✅ Continuity bridge
- ✅ AI decision engine
- ✅ Already migrated to Next.js 16
- ✅ Full TypeScript compilation succeeds
The Unified Architecture
Current (Separated)
apps/live new-project (ZIP)
├─ Landing page ├─ Landing page (Anti-Gravity design)
├─ Auth ├─ Auth
├─ Onboarding ├─ Onboarding
├─ Workspace ├─ Workspace (12 domains, 130+ views)
└─ Capabilities ├─ Continuity Bridge
├─ Decision Engine
├─ Memory System
└─ Full Connector Integration
Unified (Merged)
apps/live-unified/
├─ app/
│ ├─ layout.tsx (enhanced with new providers)
│ ├─ page.tsx (router entry)
│ └─ globals.css (merged design tokens)
├─ components/
│ ├─ AppShell.tsx (from new-project, main container)
│ ├─ domain-shells/ (12 domains)
│ │ ├─ account-success-shell.tsx (17 views)
│ │ ├─ revops-shell.tsx (12 views)
│ │ ├─ salesops-shell.tsx (11 views)
│ │ ├─ personal-shell.tsx (3 views)
│ │ └─ [8 more domains]
│ ├─ work/ (specialized views)
│ ├─ ui/ (all primitives)
│ └─ ...518 components
├─ contexts/ (auth, tenant, workspace, etc.)
├─ hooks/ (all custom hooks)
├─ lib/ (API clients, queries, utils)
├─ stores/ (Zustand state)
├─ api/ (workspace API, connectors)
├─ clients/ (n8n, realtime, analytics)
└─ types/ (all TypeScript definitions)
Why This Matters
Before Merge
- apps/live: Beautiful but limited (24 pages, basic UI)
- new-project: Feature-complete but not deployed (130+ views, full features)
- Gap: Can't access the power features
After Merge
- Single unified app: All features visible and deployed
- 130+ department-specific UIs: Ready for production
- Complete backend wiring: All 34 subsystems connected
- Enterprise-ready: 12 domains, all connectors, all intelligence
Integration Steps
Phase 1: Merge File Structure (2 hours)
Copy all directories from new-project to apps/live:
# Core app structure
cp -r new-project/app/* apps/live/app/
cp -r new-project/components apps/live/
cp -r new-project/contexts apps/live/
cp -r new-project/hooks apps/live/
cp -r new-project/lib apps/live/
cp -r new-project/stores apps/live/
cp -r new-project/types apps/live/
cp -r new-project/styles apps/live/
cp -r new-project/api apps/live/
cp -r new-project/clients apps/live/
cp -r new-project/data apps/live/
cp -r new-project/routes apps/live/
cp -r new-project/config apps/live/
cp -r new-project/utils apps/live/
Merge dependencies:
# Add all 50+ deps from new-project to apps/live
pnpm add @tanstack/react-query @radix-ui/* recharts sonner framer-motion react-dnd reactflow zustand axios ...
Phase 2: Merge Configuration (1 hour)
Update apps/live package.json:
{
"name": "integratewise-live",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
// All 50+ from new-project
}
}
Update apps/live/app/globals.css:
- Merge IntegrateWise design tokens (Forest/Paper/Gold from new-project)
- Keep Tailwind v4 + animations
- Add all CSS utilities from new-project
Update apps/live/app/layout.tsx:
// Root layout with all providers
return (
<html>
<body>
<Providers>
<AppShell />
</Providers>
</body>
</html>
)
}
Phase 3: Merge Components (2 hours)
Consolidate duplicate components:
- apps/live has: Button, Input, Card, Badge, Tabs, etc.
- new-project has: Same + 100 more specialized components
- Result: Union of all with new-project versions as base
Copy domain shells:
apps/live/components/domain-shells/
├─ account-success-shell.tsx (17 views)
├─ revops-shell.tsx (12 views)
├─ salesops-shell.tsx (11 views)
├─ personal-shell.tsx (3 views)
├─ bizops-shell.tsx
├─ finance-shell.tsx
├─ hr-shell.tsx
├─ it-admin-shell.tsx
├─ marketing-shell.tsx
├─ procurement-shell.tsx
├─ product-engineering-shell.tsx
└─ service-shell.tsx
Import AppShell.tsx:
// Root shell that routes between domains
Phase 4: Update Routing (1 hour)
Current apps/live routing:
- Using Next.js App Router pages
New routing:
- Keep Next.js App Router for main structure
- Use React Router (via shims) for SPA navigation
- This preserves both frameworks working together
Update app/page.tsx:
'use client'
return <AppShell />
}
Phase 5: Wire Backend Services (2-3 hours)
Update API routes in apps/live/app/api/:
// Now these actually call services instead of returning mock data
// GET /api/capabilities/discover
export async function GET() {
const response = await fetch(`${process.env.GATEWAY_URL}/capabilities/discover`, {
headers: { Authorization: `Bearer ${token}` }
})
return response.json()
}
// POST /api/capabilities/execute
export async function POST(req: Request) {
const body = await req.json()
const response = await fetch(`${process.env.GATEWAY_URL}/capabilities/execute`, {
method: 'POST',
body: JSON.stringify(body),
headers: { Authorization: `Bearer ${token}` }
})
return response.json()
}
Wire domain shells to Spine data:
- Update domain shells to fetch from
/api/workspace - This will return real user/org/entity data
- Views will display actual data instead of mocks
Phase 6: Testing & Deployment (1 week)
Local Testing:
cd /vercel/share/v0-project/apps/live
pnpm install
pnpm dev
# Visit http://localhost:3000
# Test each domain
# Test each view
# Test capability execution
Staging Deployment:
# Deploy to Vercel preview
git push origin staging
# Wait for Vercel build
# Test all 130+ views
Production Deployment:
# Merge to main
git push origin main
# Production live
What You'll Have After Merge
Unified Single App
- ✅ Single deployment (apps/live on Vercel)
- ✅ 130+ production pages (12 domains × 11 views)
- ✅ Complete navigation between domains
- ✅ All UI components (550+ total)
- ✅ All integration capabilities
- ✅ Memory system active
- ✅ Twin orchestration running
- ✅ Continuity bridge operational
- ✅ All connectors available (Salesforce, HubSpot, etc.)
Complete Product
- ✅ CSM domain (17 specialized CSM views)
- ✅ RevOps domain (12 specialized revenue ops views)
- ✅ SalesOps domain (11 specialized sales ops views)
- ✅ Personal domain (3 personal views)
- ✅ Finance, HR, Product, Engineering, Ops, Legal, IT, Marketing domains
- ✅ Role-based domain selection
- ✅ Department-specific capabilities
- ✅ AI-driven recommendations
- ✅ Real-time connectors
- ✅ Approval workflows
- ✅ Audit trails
Deployment
- ✅ All live on single Vercel instance
- ✅ 622 TypeScript files compiled
- ✅ 50+ dependencies bundled
- ✅ Zero build errors
- ✅ Full feature set accessible
The New File Structure
/vercel/share/v0-project/
├── apps/
│ └── live/ (UNIFIED APP - 622 files)
│ ├── app/
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ ├── globals.css
│ │ ├── app/
│ │ └── api/ (wired to services)
│ ├── components/
│ │ ├── AppShell.tsx (main container)
│ │ ├── domain-shells/ (12 domains)
│ │ ├── work/ (specialized views)
│ │ ├── ui/ (primitives)
│ │ ├── CommandCenter.tsx
│ │ ├── metrics/
│ │ ├── sidebar/
│ │ ├── charts/
│ │ ├── tables/
│ │ └── ...
│ ├── contexts/ (auth, tenant, workspace)
│ ├── hooks/ (custom React hooks)
│ ├── lib/
│ │ ├── api.ts (API client)
│ │ ├── queries.ts (React Query hooks)
│ │ └── utils.ts
│ ├── stores/ (Zustand state)
│ ├── types/ (TypeScript definitions)
│ ├── styles/ (CSS utilities)
│ ├── api/ (workspace API)
│ ├── clients/ (n8n, realtime, analytics)
│ ├── data/ (mock data)
│ ├── routes/ (routing config)
│ ├── config/ (app config)
│ ├── utils/ (utilities)
│ ├── AppShell.tsx (entry point)
│ ├── App.tsx (fallback)
│ ├── routes.tsx (routing)
│ ├── package.json (50+ deps)
│ ├── tsconfig.json
│ ├── tailwind.config.ts
│ ├── next.config.ts
│ ├── .env.local
│ └── pnpm-lock.yaml
├── packages/ (unchanged)
└── services/ (unchanged)
Success Criteria
After merge and deployment:
- ✅ All 130+ views render correctly
- ✅ Navigation between domains works
- ✅ Capability execution wired to backend
- ✅ Memory system recording interactions
- ✅ Twin context updating
- ✅ Connectors syncing data
- ✅ UI responsive on all devices
- ✅ Performance acceptable (LCP < 2.5s)
- ✅ Zero console errors
- ✅ All features working
Timeline
- Phase 1-2 (3 hours): File structure + dependencies
- Phase 3 (2 hours): Component merge
- Phase 4 (1 hour): Routing update
- Phase 5 (2-3 hours): Backend wiring
- Phase 6 (1 week): Testing + deployment
Total: ~2 weeks to complete unified, feature-complete, production platform
Why This Is the Right Move
- No Duplication: One app, not two
- Complete Features: 130+ views not hidden in separate project
- Single Deployment: Everything on one Vercel instance
- Better Performance: Unified caching, bundling
- Easier Maintenance: One codebase to manage
- Faster Development: All features in one place
- Enterprise Ready: All domains visible immediately
The Platform You're Building
After this integration, IntegrateWise becomes a complete enterprise platform with:
- 12 department domains
- 130+ specialized UIs
- 4 life cycles operational
- All 34 subsystems connected
- 80+ connector integrations
- AI decision engine
- Memory + learning
- Twin orchestration
- Governance + approval
- Real-time signals
- Complete audit trail
That's not an MVP. That's a production platform.
Next Step: Start Phase 1. Copy the directories.
The platform is ready to be unified.