Business Process Automation Architecture & System Data Flow
This diagram shows the complete data flow of the MUST Holdings Recruitment Monitor. Data flows from Odoo ERP through sync layers to Supabase, powering the desktop UI. Claude AI screens resumes, Resend handles email, and SSH cron automates daily tasks.
Pull recruitment data from Odoo ERP via XML-RPC: applicants, jobs, pipeline stages
SupabaseSync upserts data into PostgreSQL. DataCache refreshes every 30s for UI
Claude AI scores resumes on 5 dimensions. Results written back to Odoo custom fields
Templated emails sent via Resend API. History tracked in Supabase for audit
SSH-managed cron: daily HR digest at 9AM, database backup at 2AM
The sync engine pulls data from Odoo ERP via XML-RPC and upserts it into Supabase PostgreSQL. This decouples the UI from Odoo's slow XML-RPC, enabling fast reads. The DataCache refreshes every 30 seconds in a background thread, firing callbacks to update UI views.
Resumes are extracted from Odoo attachments via PyMuPDF, combined with job context, and sent to Claude AI (Sonnet) for structured scoring. The AI evaluates on 5 weighted dimensions, producing a 0–100 score with actionable recommendations.
HR selects a template and recipients (filtered by stage/job). Variables are substituted, then emails are sent via Resend API with rate limiting. Every send is tracked in Supabase for audit and duplicate prevention.
The system manages server-side cron jobs via SSH (Paramiko). Two automated tasks run daily: