PULSE

Quality Intelligence

Productionization Approach

How to take PULSE as an accelerator and deploy to customers

Accelerator Philosophy

PULSE is designed as a configurable accelerator, not a one-off solution. Core logic remains unchanged across deployments. Only configuration and branding change per customer.

80%
Reusable Core
15%
Configuration
5%
Custom Extensions

Accelerator Components

Core Accelerator

Excel Parsing Engine
Generic XLSX parser with configurable schema mapping
Anomaly Detection Framework
Pluggable detection rules with threshold configuration
Pipeline Builder UI
Visual workflow designer for QC pipelines
Context Search Agent
Hypothesis-driven web search with customizable buckets

Integration Layer

Jira MCP Connector
Pre-built ticket creation with field mapping
Email Service Adapter
Template-based email generation
SSO/Auth Framework
Pluggable authentication providers
Webhook System
Event-driven notifications to external systems

UI Components

Spreadsheet Viewer
Excel-like display with cell selection
Anomaly Dashboard
Summary cards, charts, and drill-down views
Review Workflow UI
Human-in-loop approval components
Configuration Panels
Admin UI for rules and thresholds

Configuration Layers

All customer-specific settings are externalized into configuration files. No code changes required for standard deployments.

Environment Config
API keys, service URLs, feature flags
.env.production.env.staging.env.local
# Customer-specific environment
NEXT_PUBLIC_CUSTOMER_ID=circana
JIRA_PROJECT_KEY=CIRQC
JIRA_HOST=circana.atlassian.net
EMAIL_FROM=qcbot@circana.com
ANOMALY_THRESHOLD_VARIANCE=0.02
Branding Config
Colors, logos, fonts, terminology
branding/config.jsontailwind.config.ts
{
  "name": "PULSE",
  "primaryColor": "#5B2E91",
  "logo": "/circana-logo.svg",
  "terminology": {
    "anomaly": "variance",
    "ticket": "case"
  }
}
Detection Rules
Anomaly types, thresholds, categorization
config/rules.jsonconfig/thresholds.json
{
  "rules": [
    {
      "id": "store_dropout",
      "threshold": 0.05,
      "severity": "critical",
      "action": "create_ticket"
    }
  ]
}
Integration Config
Jira fields, email templates, webhooks
config/integrations.json
{
  "jira": {
    "project": "CIRQC",
    "issueType": "Bug",
    "customFields": {
      "dataSource": "customfield_10001"
    }
  }
}

Deployment Options

Vercel (SaaS)
Pros
  • Zero infrastructure management
  • Auto-scaling
  • Global CDN
  • Preview deployments
Considerations
  • - Less control
  • - Egress costs at scale
Best for: POC, pilot programs, small teams
AWS (Self-Hosted)
Pros
  • Full control
  • VPC integration
  • Compliance ready
  • Custom scaling
Considerations
  • - More ops overhead
  • - Longer setup
Best for: Enterprise, regulated industries
Customer Cloud
Pros
  • Data stays in customer env
  • SSO integration
  • Audit compliance
Considerations
  • - Deployment complexity
  • - Support overhead
Best for: Highly regulated, data-sensitive clients

Customer Onboarding Process

Standard onboarding takes 10-15 working days from kickoff to go-live.

1
Discovery
1-2 days
Gather requirements
Map data sources
Define anomaly types
Identify integrations
2
Configuration
2-3 days
Set up environment
Configure branding
Define detection rules
Map Jira fields
3
Data Mapping
2-4 days
Analyze Excel structure
Create schema mappings
Define hierarchies
Set up test data
4
Integration
2-3 days
Connect Jira/ServiceNow
Configure email service
Set up SSO
Test webhooks
5
Testing
2-3 days
End-to-end testing
UAT with pilot users
Performance validation
Security review
6
Go-Live
1 day
Production deployment
Monitoring setup
Documentation handoff
Support transition

Repository Structure

Core Accelerator (Shared)

qc-bot-accelerator/
├── src/
│   ├── app/              # Next.js pages
│   ├── components/       # Reusable UI components
│   │   ├── demo/        # Pipeline, anomaly UI
│   │   ├── layout/      # Header, nav, footer
│   │   └── ui/          # Shared components
│   ├── lib/
│   │   ├── agents/      # Detection, context agents
│   │   ├── pipeline/    # Pipeline builder core
│   │   └── utils/       # Excel parsing, helpers
│   └── data/            # Schema definitions
├── config/
│   └── defaults/        # Default configurations
└── package.json

Customer Instance

qc-bot-circana/
├── config/
│   ├── branding.json     # Colors, logo, terms
│   ├── rules.json        # Detection rules
│   ├── integrations.json # Jira, email config
│   └── thresholds.json   # Per-metric thresholds
├── public/
│   └── logo.svg          # Customer logo
├── .env.production       # API keys, URLs
└── package.json          # Extends accelerator
Version Management

Customer instances reference specific accelerator versions via npm/git. Updates to core are pulled in via dependency updates, allowing customers to stay on stable versions while benefiting from improvements.

CI/CD Pipeline

Push to main
Run Tests
Build
Deploy Staging
E2E Tests
Deploy Prod
GitHub Actions (Recommended)
Pre-built workflows for test, build, deploy. Works with Vercel, AWS, Azure.
Environment Promotion
Dev → Staging → Production with approval gates and rollback support.

Quick Start: New Customer Deployment

# 1. Clone accelerator template
npx create-qc-bot my-customer-qcbot

# 2. Configure branding
cp branding/circana.json config/branding.json
# Edit config/branding.json with customer colors/logo

# 3. Set up environment
cp .env.example .env.production
# Add customer-specific API keys and URLs

# 4. Configure detection rules
# Edit config/rules.json with customer thresholds

# 5. Test locally
npm run dev

# 6. Deploy
npm run deploy:production
With proper configuration externalization, a new customer deployment can be completed in 2-3 weeks including testing and training.