System Architecture & Delivery Blueprint · 2026

Event Management
CRM Platform

Full-stack product blueprint covering data architecture, marketing flow, technical stack, and phased delivery roadmap for a Mumbai-based event production house.

Industry
Event Management
Location
Mumbai, India
Users
40 Internal + Vendors
Delivery
MVP → 10 Weeks
Currency
INR + Multi-currency
01

Structured Business & Data Flow

Every touchpoint in your business process maps to a structured stage in the CRM — from first lead to final payment.

1
Lead Generation
Leads arrive from Meta Ads, Google Ads, listing platforms, referrals, and offline networking. Auto-tagged by source with a unique Lead ID.
Meta Ads APIGoogle Ads API Manual EntryUTM Tracking
2
Initial Call & Brief Capture
Sales rep opens the lead card on mobile CRM. Structured brief captures event type, date, guest count, venue, budget, and requirements — during or immediately after the call.
Event Brief FormCall Log Auto TimestampDisposition Tag
3
WhatsApp Follow-up
Post-call, a structured WhatsApp message is triggered via 1-click template containing a greeting, call summary, and next-steps prompt. All messages are logged against the lead.
WhatsApp Business APITemplates Thread Logged
4
Google Meet — Reference Presentation
Meet link scheduled from within the CRM. Sales rep shares curated media references from the internal library. Post-meet notes and client reactions are captured.
Google Calendar APIMedia Library Meeting Notes
5
Quotation & Negotiation
Line-item quotation created with multi-currency support and version history. Negotiation notes logged until quote is accepted.
Quotation BuilderVersion Control INR / USD / AEDPDF + Share
6
Advance Payment → Booking Confirmed
System generates payment milestone plan. Advance is recorded. Lead status converts to "Booking Confirmed" and an event record is created.
Payment MilestonesReceipt Generation Event Created
7
Vendor Procurement
Vendors assigned to the event. POs and scopes shared. Vendor-side status feeds into the event dashboard. Budgets tracked against actuals per category.
Vendor CRMCategory Map Budget vs Actual
8
Task Management & Execution
Deliverables broken into tasks, assigned with deadlines and priority. Managers track status on an event-level Kanban board.
Task BoardAssigned / Due Date Progress Tracker
9
Event Day Tracking
On-ground team uses mobile app for real-time checklists, issue reporting, and vendor arrival logs. Command dashboard gives live overview.
Mobile ChecklistLive Dashboard Issue Logging
10
Payment Collection & Closure
Post-event payments tracked against milestones. Receipts issued. Event marked "Completed." Media library updated. Referral tracking loop closes.
Final ReceiptMedia Upload Referral Prompt
02

Data Architecture — Core Entities

Seven primary entities — fully relational. A Lead becomes a Client, which has Events, which have Vendors, Tasks, Payments, and Communications attached.

LEADS
  • lead_id (PK) uuid
  • name, phone, email str
  • source enum
  • utm_campaign str
  • event_type enum
  • budget_range range
  • event_date date
  • stage enum
  • assigned_to FK→users
CLIENTS
  • client_id (PK) uuid
  • lead_id (FK) uuid
  • billing_name str
  • gstin str
  • billing_address json
  • currency_pref enum
  • referral_source FK
  • whatsapp_opt_in bool
EVENTS
  • event_id (PK) uuid
  • client_id (FK) uuid
  • event_name str
  • event_type enum
  • event_date date
  • venue, city str
  • is_destination bool
  • guest_count int
  • status enum
QUOTATIONS
  • quote_id (PK) uuid
  • event_id (FK) uuid
  • version_number int
  • line_items jsonb[]
  • subtotal decimal
  • discount decimal
  • currency enum
  • fx_rate_snapshot json
  • status enum
PAYMENTS
  • payment_id (PK) uuid
  • event_id (FK) uuid
  • milestone_name str
  • due_date date
  • amount decimal
  • currency enum
  • paid_at ts
  • payment_mode enum
  • status enum
VENDORS
  • vendor_id (PK) uuid
  • name, contact str
  • category enum
  • city, country str
  • currency enum
  • rating int
  • gstin / tax_id str
  • bank_details json(enc)
COMMS
  • comm_id (PK) uuid
  • lead_id / event_id FK
  • channel enum
  • direction enum
  • summary text
  • decisions_made text[]
  • attachments[] url[]
  • logged_by FK→users
TASKS
  • task_id (PK) uuid
  • event_id (FK) uuid
  • title, description str
  • assigned_to FK→users
  • due_date date
  • priority enum
  • status enum
  • parent_task_id FK(self)
Multi-currency Design Note

All financial records store both the original currency amount and an INR equivalent at the time of transaction (fx_rate_snapshot). FX rates are fetched daily via ExchangeRate-API and cached in Redis.

03

Feature Modules

Nine functional modules across three delivery phases. MVP = Phase 1, delivered in 10 weeks.

MODULE 01

Lead Management

  • Multi-source lead intake (API + manual)
  • Lead card with full brief form
  • Pipeline Kanban with stage tracking
  • Follow-up scheduler with reminders
  • Hot / Warm / Cold tagging
  • Source attribution & UTM capture
MVP · Phase 1
MODULE 02

Communication Hub

  • Unified timeline per lead/event
  • Call log with outcome notes
  • WhatsApp thread view (sync)
  • Meeting scheduler (Google Calendar)
  • Decision log per interaction
  • File/media attachment per log
MVP · Phase 1
MODULE 03

Quotation Engine

  • Line-item builder with categories
  • Multi-currency with FX snapshot
  • GST / tax configuration
  • Version history per quote
  • PDF generation & WhatsApp share
  • E-acceptance (link-based)
MVP · Phase 1
MODULE 04

Payment & Milestones

  • Milestone plan auto-generated from quote
  • Advance / partial / final tracking
  • Multi-currency payment records
  • Receipt & invoice generation
  • Overdue payment alerts
MVP · Phase 1
MODULE 05

Vendor Management

  • Vendor master with category tagging
  • Vendor-to-event mapping
  • PO / scope document per engagement
  • Vendor payment tracking
  • Rating & performance notes
MVP · Phase 1
MODULE 06

Task & Execution Board

  • Event-level Kanban board
  • Task assignment with priority & due date
  • Sub-task support (nested)
  • Status updates with comments
  • Push notification on assignment
MVP · Phase 1
MODULE 07

Media Reference Library

  • Upload photos / videos per event
  • Tag by event type, mood, scale
  • Curated collection builder
  • Shareable link for client presentations
  • Google Drive / YouTube embed
Phase 2
MODULE 08

WhatsApp Automation

  • Bulk broadcast campaigns
  • Template message library
  • Trigger-based automations
  • Opt-in / opt-out management
  • Conversation inbox + analytics
Phase 2
MODULE 09

Reports & Analytics

  • Lead conversion funnel
  • Revenue by event type / month
  • Vendor spend analysis
  • Team performance & task metrics
  • Campaign ROI tracking
Phase 3
04

Technical Stack

Chosen for rapid development velocity, proven scalability, and strong Indian developer talent availability. Managed services minimise DevOps overhead.

Frontend

FrameworkReact 18 + TypeScript
Build ToolVite
UI LibraryAnt Design / shadcn
StateZustand + React Query
FormsReact Hook Form + Zod
ChartsRecharts
MobileReact Native (Expo)
PDFReact-PDF / PDFKit

Backend

RuntimeNode.js 20 LTS
FrameworkNestJS (TypeScript)
API StyleREST + WebSocket
AuthJWT + RBAC
QueueBullMQ (Redis)
ORMPrisma
Validationclass-validator + Zod
DocsSwagger / OpenAPI

Database & Storage

Primary DBPostgreSQL 16 (RDS)
CacheRedis (ElastiCache)
Searchpg_tsvector → Meilisearch
File StorageAWS S3 (ap-south-1)
CDNCloudFront
FX RatesExchangeRate-API (cached)

Integrations

WhatsAppInterakt / WATI (BSP)
CalendarGoogle Calendar API
AdsMeta + Google Ads API
EmailAmazon SES
SMSTwilio / MSG91
PaymentsRazorpay + Stripe
DriveGoogle Drive API
Role-Based Access Control (RBAC)

Roles: Super Admin → Manager → Sales Executive → Operations → Vendor (external) → Client (read-only). External vendor/client access is scoped strictly to their linked event records.

05

Cloud Infrastructure

Deployed on AWS Mumbai (ap-south-1) for low latency and Indian data residency. Zero-downtime deployments with auto-scaling.

Scroll right to view full diagram
┌─────────────────────────────────────────────────────────────┐ │ CLIENT LAYER │ │ Browser (React) · Mobile App (React Native / Expo) │ └────────────────────────────┬────────────────────────────────┘ │ HTTPS ┌────────────────────────────▼────────────────────────────────┐ │ AWS CloudFront + Route53 + ACM SSL │ │ (CDN · Custom Domain · TLS) │ └────────────────────────────┬────────────────────────────────┘┌────────────────────────────▼────────────────────────────────┐ │ Application Load Balancer (ALB) │ └──────┬────────────────────────────────────────┬────────────┘ │ │ ┌──────▼──────┐ ┌────────▼───────┐ │ ECS Fargate │ │ S3 Static │ │ API Service │ │ Frontend Host │ │ (NestJS) │ └────────────────┘ │ 2 tasks min │ │ Auto-scale │ └──────┬───────┘┌──────▼────────────────────────────────────────────────────┐ │ DATA LAYER (ap-south-1) │ │ │ │ ┌──────────────┐ ┌───────────────┐ ┌───────────────┐ │ │ │ RDS Postgres │ │ ElastiCache │ │ S3 Bucket │ │ │ │ Multi-AZ │ │ Redis 7.x │ │ Files/Media │ │ │ └──────────────┘ └───────────────┘ └───────────────┘ │ └───────────────────────────────────────────────────────────┘┌──────▼────────────────────────────────────────────────────┐ │ CloudWatch · Datadog APM · Sentry · PagerDuty · CI/CD │ └───────────────────────────────────────────────────────────┘ Estimated Monthly AWS Cost (40 users, Phase 1): ECS Fargate (2 tasks) ··················· ~₹6,000/mo RDS PostgreSQL db.t3.medium ············· ~₹7,500/mo ElastiCache cache.t3.micro ·············· ~₹2,500/mo S3 + CloudFront (100GB) ················· ~₹1,200/mo ALB + misc ······························ ~₹1,500/mo TOTAL (est.) ···························· ~₹18,700/mo
06

WhatsApp Automation Architecture

WhatsApp is the primary async channel. The system integrates Meta's Business API via a BSP (Interakt or WATI), enabling automated flows and manual agent messaging from a single inbox.

A
Inbound Lead → Auto-acknowledgment
New lead created → opt-in WhatsApp message sent automatically via approved template. Lead's WA status is logged.
Trigger: Lead CreatedLEAD_ACK_V1
B
Post-Call Follow-up
One-click "Send Follow-up" from call log triggers a personalised WA summary using call notes as dynamic template variables.
Trigger: Call LoggedDynamic Variables
C
Quote Sharing
Quotation PDF uploaded to S3; pre-signed URL embedded in a WhatsApp template sent directly from the CRM quote screen.
Trigger: Quote FinalisedPDF Link in WA
D
Payment Reminders
Automated reminders 3 days before and on the due date of each payment milestone. Auto-cancels on payment receipt.
Due Date − 3 DaysBullMQ JobAuto-cancel
E
Bulk Broadcast Campaigns
Target segments (e.g. "Winter Wedding 2026" leads) with template-based opt-in campaigns. Delivery and read receipts tracked per message.
Segment BuilderDelivery AnalyticsOpt-out Respected
F
Unified WA Inbox
All inbound/outbound WA conversations visible in a shared team inbox within the CRM, linked to the corresponding lead or event record.
Shared InboxLinked to RecordAgent Assignment
Recommended BSP

Interakt (India-based, INR billing) for Phase 1 — supports template management, webhooks for inbound, and bulk sending. WATI is the alternative. Budget ₹4,000–₹8,000/month for 40 users.

07

Delivery Roadmap

Tap any phase to expand details.

Discovery & Setup
Weeks 1–2

Foundation

  • Finalise all screens in Figma (Lo-fi → Hi-fi)
  • Confirm data model and API contracts
  • Set up GitHub repo, CI/CD pipeline, AWS environment
  • Meta BSP account setup (Interakt/WATI) + number verification
  • Confirm RBAC role matrix with client team
  • Procurement of domain, SSL, SES email domain
DeliverableDesign system + DB schema + infra ready
MVP Sprint 1
Weeks 3–5

Core CRM — Leads, Clients, Events

  • Auth system (login, RBAC, sessions)
  • Lead management — intake form, pipeline Kanban, follow-up scheduler
  • Client profile creation (from accepted lead)
  • Event record creation and brief capture
  • Communication log — call, WhatsApp, meeting entries
  • Basic dashboard (leads by stage, upcoming follow-ups)
DeliverableUsable CRM — leads to events
MVP Sprint 2
Weeks 6–8

Quotations, Payments, Vendors, Tasks

  • Quotation builder with line items + multi-currency + FX
  • PDF generation and WhatsApp share
  • Payment milestone creation and tracking
  • Vendor master and event-vendor mapping
  • Task board per event (Kanban + list view)
  • Push notifications (web + mobile)
  • Basic WhatsApp triggers (quote sent, payment reminder)
DeliverableEnd-to-end event lifecycle operational
MVP Launch
Weeks 9–10

Polish, UAT & Go-Live

  • UAT with client team (3–5 real events as test data)
  • Bug fixes from UAT round
  • Mobile app build (React Native) — leads, tasks, call logs
  • Onboarding documentation and video walkthroughs
  • Data migration from existing spreadsheets
  • Production deployment + monitoring setup
DeliverableMVP Live — full team onboarded
Phase 2
Weeks 11–18

WhatsApp Automation + Media Library

  • Full WhatsApp automation engine (triggers, templates, opt-out)
  • Bulk broadcast with segmentation and analytics
  • Shared WA inbox within CRM
  • Media reference library with tagging and shareable collections
  • Google Drive + YouTube embed integration
  • Meta Ads and Google Ads lead auto-import
DeliverableMarketing automation + media workflows
Phase 3
Weeks 19–26

Analytics, Vendor Portal & Advanced Features

  • Revenue and pipeline analytics dashboard
  • Vendor self-service portal (external access)
  • Campaign ROI tracking (ads spend vs. conversions)
  • Advanced reporting with export (XLSX, PDF)
  • Client portal (view event status, approve quotes online)
  • Destination wedding workflow enhancements
DeliverableFull platform + external portals
08

MVP Feature Scope

Definitive scope for the 10-week MVP. Items marked Phase 2+ are explicitly out of MVP scope.

Scroll right to view all columns
Feature Area Capability Priority Effort Phase
Auth & AccessLogin, JWT, RBAC (5 roles), password resetP03dMVP
Lead ManagementLead intake form, source tagging, pipeline stagesP04dMVP
Lead ManagementFollow-up scheduler with date + remindersP02dMVP
Lead ManagementEvent brief form (structured, per lead)P03dMVP
Comm. LogCall log with outcome, notes, decisionsP02dMVP
Comm. LogWhatsApp log (manual entry + status)P02dMVP
Comm. LogMeeting log with Google Meet link + notesP12dMVP
EventsEvent record linked to client, full brief viewP03dMVP
QuotationsLine-item builder, tax, discount, totalP04dMVP
QuotationsMulti-currency + FX rate snapshotP02dMVP
QuotationsPDF export + WhatsApp sendP03dMVP
QuotationsVersion history + negotiation stageP12dMVP
PaymentsMilestone plan (auto from quote)P03dMVP
PaymentsPayment recording, receipt generationP03dMVP
PaymentsOverdue alerts (WA + push)P12dMVP
VendorsVendor master CRUD with categoryP03dMVP
VendorsEvent-vendor mapping + status trackingP02dMVP
TasksTask board per event (Kanban)P04dMVP
TasksAssignment, due date, priority, subtasksP02dMVP
DashboardPipeline summary, upcoming events, overdue tasksP13dMVP
WA (Basic)1-click WA message from lead/quote screenP12dMVP
MobileReact Native app — leads, tasks, call logP15dMVP
WA AutomationBulk broadcast, template library, inboxP28dPhase 2
Media LibraryUpload, tag, share past event referencesP25dPhase 2
Ads ImportMeta + Google Ads lead auto-importP24dPhase 2
AnalyticsRevenue, pipeline, vendor spend dashboardsP26dPhase 3
PortalsVendor self-service, client approval portalP28dPhase 3
Team Recommendation — 10-Week MVP

1 × Tech Lead / Backend (NestJS + DB) · 1 × Frontend Developer (React + React Native) · 1 × UI/UX Designer (Figma, Weeks 1–3) · 1 × QA / DevOps (Part-time). 2-week sprints. Daily async standups via WhatsApp or Slack. Weekly demo + review calls.