AI-Powered B2B Collaboration & Networking Graph Platform
CorpConnect is a next-generation multi-tenant platform designed to help organizations discover, connect, and collaborate through structured relationship graphs, pre-event matchmaking, and real-time interaction systems.
Unlike transactional event portals that focus strictly on ticket sales and static guest lists, CorpConnect treats events as catalysts for strategic connections.
The platform is architected around an Organization-First Networking Graph:
- Relationship-driven: Businesses build persistent organization profiles detailing services, technologies, hiring statuses, and partnership interests.
- Intelligent Matchmaking: Vector search similarity analyses identify complementary organizations and propose connections.
- Pre-Event Coordination: Attendees can request private 1-on-1 business meetings prior to events starting.
- Interactive Live Collaboration: Virtual panels feature real-time WebRTC streams with interactive hand-raising queues, chats, and sentiment polling.
CorpConnect runs a hybrid, multi-tenant monorepo architecture, distributing concerns across specialized runtimes:
graph TD
Client["Client / Web App (Next.js Frontend)"]
subgraph CorpConnectCore ["CorpConnect Next.js Application Core"]
NextServer["Next.js App Router (SSR/ISR/Server Actions)"]
DomainLayer["Domain Layer (/domain)<br/>(Queries, Actions, Validation)"]
NextAuth["Next-Auth Session Layer"]
end
subgraph Microservices ["Microservices Layer"]
WSService["ws-service (Node/Socket.io)<br/>[Real-time Chat & In-Event Interactivity]"]
LVService["lv-service (Node/Express/LiveKit)<br/>[Virtual Rooms management]"]
AIService["ai-service (Python/FastAPI)<br/>[Recommendations, Semantic Search, pgvector]"]
end
subgraph DataStorage ["Data & Cache Layer"]
DB[(PostgreSQL Database<br/>+ pgvector)]
Redis[(Redis Cache & Adapters)]
end
subgraph External ["External Integrations"]
Stripe["Stripe / Razorpay SDKs<br/>(Payments & Webhooks)"]
Cloudinary["Cloudinary<br/>(Image/Logo Uploads)"]
LiveKitCloud["LiveKit Server<br/>(Real-time WebRTC Live Streaming)"]
ResendSMTP["Resend / SMTP<br/>(System Mailer)"]
end
Client -->|HTTPS / Next.js Pages| NextServer
Client -->|WebSocket Connection| WSService
Client -->|WebRTC Audio/Video| LiveKitCloud
NextServer --> DomainLayer
DomainLayer --> DB
WSService --> DB
AIService --> DB
LVService --> DB
WSService <-->|Pub/Sub Adapter| Redis
NextServer -->|Embedding Jobs| AIService
NextServer -->|Payment Processing| Stripe
NextServer -->|Logo Assets| Cloudinary
LVService -->|Mint Tokens & Admin Rooms| LiveKitCloud
- Next.js Core Web App: Main web portal handling server-side rendering (SSR), incremental static regeneration (ISR) for public directories, form validation (Zod), and secure mutations (Server Actions) decoupled into a Domain-Driven
/domainstructure. - WebSocket Service (
ws-service): A stateful Node.js + Socket.io service handling real-time messaging, typing indicators, read receipts, and in-event interactivity (emojis, raise-hand queues). Scales horizontally using a Redis pub/sub adapter. - LiveKit Proxy Service (
lv-service): Node.js Express service wrapping the LiveKit Server SDK. Generates JWT video room tokens, enforces event attendance permissions, and tracks active meeting durations. - AI Microservice (
ai-service): Python/FastAPI service embedding data utilizingall-MiniLM-L6-v2and performing vector calculations (pgvector) to recommend events, suggest matching partners, search semantically, and perform feedback sentiment analyses.
CorpConnect enforces multi-layered tier gates across database queries, APIs, and real-time sockets:
| Platform Feature | Free | Pro | Enterprise |
|---|---|---|---|
| Workspace Profile & Switcher | β | β | β |
| B2B Filtered Discovery | β | β | β |
| Standard Event Registration | β (max 50 attendees) | β (Unlimited) | β (Unlimited) |
| Paid Event Gateways (Stripe/Razorpay) | β | β | β |
| Direct Messaging (DMs) | β | β | β |
| Pre-Event 1-on-1 Matchmaking | β | β | β |
| Organization Connections | β | β | β |
| AI Partner & Event Recommendations | β | β | β |
| External API Key Credentials | β | β | β |
| Real-time WebRTC Virtual Rooms | β | β | β |
| WhatsApp-style Group Chats | β | β | β |
| AI Planner & Event Pitching Flow | β | β | β |
| Post-Event Sentiment & Performance Reports | β | β | β |
Semantic Search (pgvector) |
β | β | β |
| Organization Webhook Delivery | β | β | β (With HMAC Signature) |
To keep organizational workspaces compliant, the platform enforces strict business rules at the domain layer:
- Role Governance: Organizations are restricted to exactly 1 Owner and a maximum of 5 Admins. Promotions to OWNER must run through the transactional
transferOrganizationOwnershipActionto demote the current owner and promote the target atomically. - Abuse Prevention: Free tier organizations are blocked from publishing paid event checkouts, and a 2% (Pro) or 1% (Enterprise) platform commission fee is applied at payment checkouts.
/
βββ actions/ # Legacy and shared server actions
βββ ai-service/ # Python FastAPI microservice (embeddings, recommendation engine)
βββ app/ # Next.js App Router (pages, middleware, and API routes)
βββ components/ # React components structured by domain (shared, billing, messaging, virtual)
βββ constants/ # Platform constants, menu links, metadata
βββ data/ # Data Access Layer (DAL) - database reads with permission isolation
βββ docs/ # Feature specs, implementation plans, and architecture walkthroughs
βββ domain/ # DDD / Vertical Slice Layer (Actions, Queries, Validation, Types)
β βββ events/
β βββ messaging/
β βββ notifications/ # Laravel-style notification dispatcher with multi-adapter system
β βββ organizations/
β βββ pitches/ # Event pitching lifecycle schemas & actions
β βββ tags/
βββ hooks/ # Client-side hooks (Socket.io subscriptions, intersection observers)
βββ lib/ # Infrastructure clients (Prisma, payment gateways, mailer, job queues)
βββ lv-service/ # LiveKit WebRTC rooms management gateway microservice
βββ ws-service/ # Socket.io real-time chat service
- Node.js 20+ (with
pnpm) - Python 3.11+ (with
venv) - PostgreSQL (with the
pgvectorextension installed/enabled) - Redis (for WebSocket scaling and AI cache)
From the project root:
# Enable pgvector in your PostgreSQL instance
npx ts-node scripts/enable-pgvector.ts
# Apply the Prisma schema and generate client
npx prisma db push# Install dependencies
pnpm install
# Run the dev server
pnpm devcd ws-service
pnpm install
# Compile typescript and start
pnpm devcd lv-service
pnpm install
pnpm devcd ai-service
python -m venv .venv
source .venv/bin/activate # Or .venv\Scripts\activate on Windows
pip install -r requirements.txt
# Run the Uvicorn FastAPI server
uvicorn main:app --reload --port 8000Note: The first startup of the AI service downloads the all-MiniLM-L6-v2 model (~90MB) and stores it locally.
CorpConnect implements a Factory + Adapter notification pattern. Job handlers enqueue events (like SEND_EVENT_REMINDER or VIRTUAL_ROOM_OPENED) which resolve active notification adapters concurrently:
- Email Adapter: Relies on Nodemailer/SMTP and logs results in the
EmailLogtable for auditing. - In-App Adapter: Writes directly to the
Notificationtable. - Slack / Google Chat / SMS Adapters: Hook into outgoing chat webhook formats.
Add channels by creating an adapter under domain/notifications/adapters/ and listing it in registry.ts.
Copy the .env.example templates in the root, ws-service, lv-service, and ai-service folders. Key environment variables include:
- Next.js:
DATABASE_URL,AUTH_SECRET,AI_SERVICE_MASTER_KEY,STRIPE_SECRET_KEY,RAZORPAY_KEY_SECRET,LIVEKIT_API_KEY,NEXT_PUBLIC_WS_URL. - AI Service:
DATABASE_URL(usesasyncpgscheme:postgresql+asyncpg://...),MASTER_KEY. - ws-service:
DATABASE_URL,REDIS_URL,AUTH_SECRET. - lv-service:
DATABASE_URL,LIVEKIT_URL,LIVEKIT_API_KEY,LIVEKIT_API_SECRET.
This project is proprietary and private software. All rights reserved. Unauthorized redistribution or duplication is strictly prohibited.