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.
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
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.
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
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.
Deployed on AWS Mumbai (ap-south-1) for low latency and Indian data residency. Zero-downtime deployments with auto-scaling.
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.
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
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
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
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
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
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
Definitive scope for the 10-week MVP. Items marked Phase 2+ are explicitly out of MVP scope.
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.