Onboarding Guides
Role-based guides for getting up to speed with ComplyAI's data and systems
📋 Table of Contents
- New Engineer Onboarding
- New Product Manager Onboarding
- New Data/Analytics Onboarding
- New Customer Success Onboarding
- New Leadership Onboarding
New Engineer Onboarding
Week 1: Foundation
Day 1-2: Environment Setup
- Get access to GitHub organization
- Set up local development environment
- Clone all service repositories
- Install Docker Desktop
- Configure environment variables
- Get access to AWS Console (read-only initially)
- Join Slack channels: #engineering, #alerts, #deployments
- Get access to monitoring tools (CloudWatch, logs)
Day 3-4: Architecture Overview
- Read Service Architecture documentation
- Understand the 12 microservices and their purposes:
| Service | Purpose | Key Responsibility |
|---|---|---|
| complyai-core | Central API | Auth, Users, Organizations |
| complyai-api | Data API | Ad accounts, Ad data processing |
| complyai-maestro | ML Pipeline | Webhooks, ML inference |
| complyai-violin | AI Scoring | Compliance scoring engine |
| complyai-triangle | Notifications | User notifications, Ad rules |
| complyai-frontend | Web App | React user interface |
- Review Entity Relationships to understand data model
- Run through local development setup guide
Day 5: First Code
- Find a "good first issue" in GitHub
- Make your first PR (even if small)
- Get added to code review rotation
Week 2: Deep Dive
Domain Understanding
- Read Data Dictionary for your assigned domain
- Read Data Lineage to understand data flows
- Review API Documentation for endpoints you'll work with
Service Deep Dive
Pick one service to understand deeply:
- Read the service's README
- Trace a request from API to database
- Understand the Celery tasks it uses
- Review recent PRs to understand patterns
External Integrations
- Read Third-Party Integrations - especially Meta
- Understand OAuth flow for Meta
- Understand webhook handling
Week 3-4: Contributing
- Take on a medium-sized feature/bug
- Participate in code reviews
- Shadow an on-call engineer for one rotation
- Review Runbooks for operational procedures
Key Concepts for Engineers
┌─────────────────────────────────────────────────────────────┐
│ USER JOURNEY │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. User signs up (Auth0) ─────▶ users table │
│ │
│ 2. User creates org ──────────▶ organizations table │
│ │
│ 3. User connects Meta ────────▶ org_business_accounts │
│ (OAuth flow) │
│ │
│ 4. System syncs ad accounts ──▶ org_ad_accounts │
│ (Every 15 min) │
│ │
│ 5. System syncs ads ──────────▶ org_ads │
│ (Every 15 min) │
│ │
│ 6. AI scores ads ─────────────▶ org_ads_score │
│ (Every 30 min) │
│ │
│ 7. User reviews flagged ads ──▶ User takes action │
│ │
└─────────────────────────────────────────────────────────────┘
Common Development Tasks
| Task | Where to Look | Key Files |
|---|---|---|
| Add new API endpoint | complyai-core or complyai-api | routes/*.py |
| Modify database schema | complyai-core | migrations/ |
| Change UI component | complyai-frontend | src/components/ |
| Add background job | Service + celery | tasks.py |
| Update ML model | complyai-violin | models/ |
| Add webhook handler | complyai-maestro | webhooks/ |
New Product Manager Onboarding
Week 1: Product Understanding
Day 1-2: The Basics
- Create your own ComplyAI account (staging environment)
- Connect a test Meta Business Manager
- Experience the full user journey
- Read Glossary for terminology
Day 3-5: Domain Knowledge
- Understand the four data domains:
| Domain | What It Contains | Product Implications |
|---|---|---|
| Customer | Users, Orgs, Subscriptions | Account management, pricing |
| Ad Content | Ad accounts, Ads, Media | Core feature set |
| Compliance | Scores, Reviews, Policies | Differentiation, value prop |
| Operational | Activity, Notifications | User experience |
- Read Quick Reference for status codes and common lookups
- Understand Meta ad status lifecycle (Active → Disapproved → etc.)
Week 2: System Understanding
How Data Flows
- Read Data Lineage - focus on business flow descriptions
- Understand sync timing:
- Ad sync: Every 15 minutes
- Scoring: Every 30 minutes
- Webhooks: Real-time (when received)
Feature Mapping
- Review Service Architecture at high level
- Understand which services power which features
| Feature | Services Involved | Data Tables |
|---|---|---|
| User login | core, Auth0 | users |
| Dashboard | frontend, core, api | organizations, org_ads |
| Ad review | frontend, api, violin | org_ads, org_ads_score |
| Notifications | triangle, frontend | notifications |
| Billing | core, Stripe | subscriptions |
Ongoing: Product Resources
- Data Dictionary - When you need to understand what data exists
- API Documentation - When spec'ing integrations
- Quick Reference - For quick lookups
New Data/Analytics Onboarding
Week 1: Data Landscape
Day 1-2: Data Sources
- Get read-only database access (via bastion/BI tool)
- Review Data Dictionary thoroughly
- Understand primary data sources:
| Source | What It Contains | How to Access |
|---|---|---|
| PostgreSQL (prod) | All application data | Read replica |
| BigQuery | Analytics warehouse | Direct access |
| Meta API | Ad performance | Via synced tables |
| Stripe | Payment data | Via synced tables |
Day 3-5: Data Modeling
- Study Entity Relationships for join paths
- Understand key relationships:
-- Core join pattern
SELECT
o.name as org_name,
oaa.name as account_name,
oa.name as ad_name,
oas.overall_score
FROM organizations o
JOIN org_ad_accounts oaa ON o.id = oaa.organization_id
JOIN org_ads oa ON oaa.id = oa.org_ad_account_id
LEFT JOIN org_ads_score oas ON oa.id = oas.org_ad_id;
- Review Data Lineage for transformation understanding
Week 2: Analysis Patterns
Common Queries
-- Active organizations
SELECT COUNT(DISTINCT organization_id)
FROM org_ad_accounts
WHERE is_connected = true;
-- Ads by status
SELECT complyai_status, COUNT(*)
FROM org_ads
GROUP BY complyai_status;
-- Score distribution
SELECT
CASE
WHEN overall_score >= 90 THEN 'Low Risk'
WHEN overall_score >= 70 THEN 'Medium Risk'
WHEN overall_score >= 50 THEN 'High Risk'
ELSE 'Critical'
END as risk_level,
COUNT(*)
FROM org_ads_score
GROUP BY 1;
Data Quality Awareness
- Read Data Governance for quality standards
- Understand data freshness expectations:
- Ads: Updated every 15 min
- Scores: Updated every 30 min
- User data: Real-time
Key Tables for Analytics
| Use Case | Primary Tables | Notes |
|---|---|---|
| User metrics | users, organizations | Filter is_active |
| Ad volume | org_ads, org_ad_accounts | Join via org_ad_account_id |
| Compliance analysis | org_ads_score, org_ads | Latest score per ad |
| Funnel analysis | activity_events | action column for events |
| Revenue | subscriptions, organizations | stripe_subscription_id |
New Customer Success Onboarding
Week 1: Platform Knowledge
Day 1-2: User Experience
- Create staging account and full setup
- Experience common user workflows:
- Account creation
- Meta connection (OAuth)
- Ad review process
- Notification handling
Day 3-5: Understanding Data
- Read Glossary for customer-facing terms
- Study Quick Reference for:
- Ad status meanings
- Score interpretations
- Common error codes
Key Customer Concepts
Ad Status Lifecycle
┌─────────────┐
│ ACTIVE │
└──────┬──────┘
│
┌────────────┴────────────┐
▼ ▼
┌───────────┐ ┌───────────────┐
│ PAUSED │ │ DISAPPROVED │
└───────────┘ └───────┬───────┘
│
▼
┌───────────────┐
│ APPEALED │
└───────┬───────┘
│
┌───────────────┴───────────────┐
▼ ▼
┌───────────────┐ ┌───────────────┐
│ APPEAL WON │ │ APPEAL LOST │
└───────────────┘ └───────────────┘
Score Interpretation Guide
| Score Range | Risk Level | What to Tell Customer |
|---|---|---|
| 90-100 | Low | "Your ad looks compliant" |
| 70-89 | Medium | "Minor issues detected - review recommended" |
| 50-69 | High | "Significant issues - edits strongly recommended" |
| 0-49 | Critical | "High risk of disapproval - action required" |
Common Customer Questions
| Question | Where to Find Answer |
|---|---|
| "Why is my ad disapproved?" | org_ads.effective_status + facebook_ad_status |
| "When did this happen?" | activity_events with ad_id filter |
| "What's wrong with my ad?" | org_ads_score (text_score, media_score, etc.) |
| "How do I reconnect?" | OAuth flow - guide through Settings |
New Leadership Onboarding
Week 1: Strategic Overview
Day 1-2: Platform Understanding
- Read main README for system overview
- Understand the four data domains and their business value
- Review Service Architecture at high level
Day 3-5: Governance & Compliance
- Read Data Governance thoroughly
- Understand:
- Data ownership model
- Privacy compliance (GDPR, CCPA)
- Incident response procedures
Key Metrics to Understand
| Metric | Source | Business Meaning |
|---|---|---|
| Active Organizations | organizations + subscriptions | Paying customers |
| Connected Accounts | org_ad_accounts | Platform adoption depth |
| Ads Monitored | org_ads | Platform scale |
| Compliance Scores | org_ads_score | Core value delivery |
| User Engagement | activity_events | Platform stickiness |
Platform Dependencies
| External Service | Business Impact if Down | SLA Target |
|---|---|---|
| Meta Graph API | Core functionality unavailable | 99.9% |
| Stripe | Billing interrupted | 99.99% |
| Auth0 | Login unavailable | 99.99% |
| AWS | Full platform outage | 99.9% |
Reporting & Dashboards
- Operational Dashboard: Real-time system health
- Business Dashboard: Customer metrics, revenue, growth
- Compliance Dashboard: Data quality, privacy metrics
Onboarding Resources Summary
All Roles Should Read
| Document | Why |
|---|---|
| Glossary | Common vocabulary |
| Quick Reference | Fast lookups |
| Main README | Platform overview |
Role-Specific Priority Reading
| Role | Priority Documents |
|---|---|
| Engineer | Service Architecture, API Docs, Data Lineage |
| Product | Data Dictionary, Entity Relationships, Quick Reference |
| Data/Analytics | Data Dictionary, Data Lineage, Data Governance |
| Customer Success | Glossary, Quick Reference, Troubleshooting |
| Leadership | Data Governance, Service Architecture |
Getting Help
| Question Type | Where to Ask |
|---|---|
| Technical/engineering | #engineering Slack |
| Data questions | #data-team Slack |
| Customer issues | #customer-success Slack |
| This documentation | Submit PR or post in #data-team |
Onboarding Feedback
We want to improve! After your first month, please share:
- What was missing from this guide?
- What took longer than expected to understand?
- What would have helped you ramp faster?
Submit feedback via PR to this document or message in #onboarding Slack.
Related Documents
- Glossary - Terminology definitions
- Quick Reference - Cheat sheets
- Data Dictionary - Field definitions
- Service Architecture - System design
- Troubleshooting - Common issues
Last Updated: December 2024