# Adrien Valentin — Senior Salesforce Architect > Portfolio: https://adrienvalentin.com > Location: Paris, France > Current: Qonto (European B2B fintech, ~1,500 employees, 10+ markets) > Education: EFREI Paris 2015 > Experience: 11+ years software engineering, 8+ years Salesforce ## Summary Adrien Valentin is a Senior Salesforce Architect who designs, builds, and ships complex Salesforce systems end-to-end. He does not separate architecture from implementation — every system presented here was conceived, designed, built, and deployed to production by him. Currently at Qonto, he built the complete internal Salesforce technical ecosystem from scratch. This portfolio (adrienvalentin.com) is a fully interactive, bilingual (FR/EN) website featuring 8 playable interactive demos, 9 hand-crafted animated SVG walkthroughs with scrubber controls, and 3 side projects. Everything is hand-coded. --- ## 9 Production Systems Built at Qonto ### 1. LCI — Lead Company Info (Multi-Company Lead Model) - Breaks Salesforce's standard 1-Lead-1-Company constraint - A Lead becomes a Person linked to N independent Company Infos - 2-level matching: person (email/phone dedup) then company (SIRET + fuzzy matching via FindDuplicates API) - 4 auto-conversion paths, multi-company conversion wizard - 6 interconnected trigger handlers - Impact: 3,188 LCIs created, 587 opportunities, 71 Closed Won — deals previously invisible - 18% of touchpoints involve a different company than the Lead's primary company - In production since February 2026 - **Portfolio**: Interactive demo (playable LCI system with touchpoint creation and matching) + Animated SVG walkthrough (6 steps: ① Touchpoint → Lead + LCI, ② Match + Split, ③ Manual conversion, ④ Auto-conversion, ⑤ Hourly batch, ⑥ Big Picture) ### 2. LAM Editor — Lead Assignment Management Rules Engine - Complete rules engine with interval algebra, gap analysis, cross-rule validation - Hierarchical data model: Rule → Audience → Criteria (self-referential recursion) - Polymorphic type system: Number, String, Date, Boolean, Reference fields - Gap Analysis via set inversion — detects populations not covered by any rule - Dynamic SOQL generation via recursive SoqlNode tree - ~8,000 lines of structured Apex (CTRL→SVE→UTL layers) - LWC with custom LightningDatatable extension - Impact: 129,552 leads processed in 6 months (711/day), 0 change requests since go-live - Product Managers fully autonomous on rule configuration - **Portfolio**: Interactive demo (fully playable rule editor with criteria configuration, interval visualization, gap analysis) + Animated SVG walkthrough (7 steps: ① Rule creation, ② Audience hierarchy, ③ Criteria with intervals, ④ Incoming lead, ⑤ Evaluation engine, ⑥ Assignment, ⑦ Big Picture) ### 3. TMM — Team Members Management (Capacity Planning) - Manages ~130 sales reps across 124 assignment groups - Three-level model: Group → Member → Distribution (per object) - Deficit-based assignment algorithm: assigns to member furthest below target percentage - Dual inactivity circuit: manual vs automatic, fully independent - Virtual accounting for inactive members, automatic reactivation - Automatic Outlook/Salesforce Calendar sync for absences - Impact: 12,181 automatic reassignments in 6 months (66/day) - **Portfolio**: Interactive demo (member/group management with quota visualization) + Animated SVG walkthrough (4 steps: ① Members with dual Lead/Opp quotas, ② Group creation with % distribution, ③ Records tracking, ④ Big Picture) ### 4. Enhanced History — Advanced Field History Tracking - Dual perspective: View by Field + View by Transaction (Update) - Update Source tracking: UI, API, Flow, Batch — full audit trail - Sibling comparison analytics: compares values against peers with distribution charts - Anomaly detection: identifies rapid changes (e.g., 2 reassignments in 2 minutes) - Impact: 96 fields tracked across 4 Salesforce objects (Lead 31, Account 50, Contact 2, Opportunity 13) - **Portfolio**: Interactive demo (dual-view history interface with field grouping and timeline) + Animated SVG walkthrough (8 steps: ① Lead created, ② Updates tracked, ③ Qualification, ④ Conversion, ⑤ Status view, ⑥ Owner view, ⑦ Sibling comparison, ⑧ Big Picture) ### 5. CIOConnect — Salesforce to Customer.io Sync via Segment - Metadata-driven sync: 100% declarative configuration via CIO_connect__mdt - Supports direct fields, lookups, relationships with filters (recursive boolean expression parser) and sorting - Trigger-based flagging (SyncCIO__c) → Scheduled batch collection → Dynamic SOQL → JSON payload → HTTP to Segment - Dual sync: batch every 15 minutes + real-time for critical events - Admins add new sync fields in under 5 minutes without any code changes - Impact: 60,000+ synchronizations since July 2024, 0 crashes - 100% hand-coded without AI - **Portfolio**: Animated SVG walkthrough (8 steps: ① Metadata config, ② Lead flagging, ③ Batch collection, ④ Relationship traversal, ⑤ JSON payload, ⑥ HTTP callout, ⑦ Customer.io delivery, ⑧ Big Picture). No interactive demo — backend sync engine. ### 6. AsyncCollector — Centralized Async Job Orchestrator - Replaces N independent Scheduled Apex jobs with a single entry point - Metadata-driven via Features__mdt (asyncClassToBeCollected__c, asyncInterval__c, Enabled__c) - Dynamic instantiation via Type.forName().newInstance() - Configurable delays, duplicate prevention, error isolation per job - Auto-retry on UNABLE_TO_LOCK_ROW (up to 10 attempts) - Orchestrates 5 critical jobs: Lead Assignment, Case Routing, Partner Sync, Opportunity Processing, Partnerstack - Impact: 1,440 executions/day, 0 crashes since June 2025 - 100% hand-coded without AI - **Portfolio**: Interactive demo (orchestration pipeline visualization with job scheduling and retry) + Animated SVG walkthrough (7 steps: ① Collectable pattern, ② Metadata config, ③ Scheduler, ④ Delay filtering, ⑤ shouldRun(), ⑥ Auto-retry, ⑦ Big Picture) ### 7. CPQ Import Suite — CSV Import Pipeline - Robust CSV import for Salesforce CPQ data from Odoo ERP - Per-record rollback capability, job chaining, Bulk API 2.0 - Handles product catalog: 61 bundles, 350 features, 1,167 products - Legacy restaurant import: ~1,500 records, 3 years in production, 0 data loss - **Portfolio**: Interactive demo (CSV import pipeline with validation and conflict detection) + Animated SVG walkthrough (8 steps: ① Odoo extraction, ② Legacy import, ③ Validation, ④ CSV export, ⑤ SF import, ⑥ Suppression, ⑦ Bundle import, ⑧ Big Picture) ### 8. Account Duplicates — Detection & Merge - Automated duplicate detection: FindDuplicates API + SIRET normalization + company name fuzzy matching - Scan pipeline → DuplicateRecordItem creation → Group assessment → Merge eligibility - Impact: 1,981 merge requests processed, 14/day average, ~5 min saved per merge - **Portfolio**: Interactive demo (duplicate detection simulation and merge workflow) + Animated SVG walkthrough (7 steps: ① Empty merge tool, ② Compute pipeline, ③ Records loading, ④ Group assessment, ⑤ Checkbox selection, ⑥ Merge with strikethrough, ⑦ Big Picture) ### 9. FTE Account Assignments — Territory Management - FTE-based weekly account assignment with monthly versioning - Deficit-based algorithm with priority sorting, automatic redistribution - Per-SDR configuration: Target (objective) and Current (pipeline) rows across 6 tiers (T1-T3 Queued + T1-T3 Recycling) - External key pattern: {FTE_ID}_{YEAR}_{MONTH}_{COUNTRY} for rollback - Impact: 16 SDRs across 4 countries (FR×6, ES×7, DE×2, IT×1), 1,400 accounts/week - Replaces 4h of manual weekly work on Google Sheets - **Portfolio**: Interactive demo (SDR parameter config and batch simulation) + Animated SVG walkthrough (4 steps: ① Existing SDR table with Target/Current dual rows, ② New SDR addition + save, ③ Weekly batch with deficit calculation, ④ Big Picture) --- ## Ecosystem — How the 9 Tools Connect ### Lead Lifecycle (Acquisition → Conversion) LCI creates multi-company leads → LAM Editor assigns via rules engine → TMM manages team capacity → LCI handles conversion with per-company wizard ### Assignment & Capacity Planning TMM detects absences via Outlook/SF Calendar sync → triggers redistribution → AsyncCollector orchestrates the reassignment batch ### Data Quality Pipeline Account Duplicates detects and merges → Enhanced History tracks all changes with audit trail → CIOConnect syncs clean data to Customer.io ### CPQ Migration CPQ Import Suite handles bulk CSV import from Odoo with validation, conflict detection, and per-record rollback --- ## Key Aggregate Metrics - 129,552 leads processed via LAM (711/day) - 12,181 automatic reassignments via TMM (66/day) - 1,440 AsyncCollector executions per day - 60,000+ CIOConnect synchronizations - 3,188 Lead Company Infos, 587 opportunities, 71 Closed Won - 1,981 merge requests (Account Duplicates) - 1,400 accounts/week assigned (FTE) - 96 fields tracked across 4 objects (Enhanced History) - 0 crashes across all production systems ## Architecture Decisions 1. **Set Theory & Interval Algebra**: LAM uses mathematical set operations (union, intersection, complement, inversion) to detect rule gaps and overlaps 2. **Metadata-Driven Design**: AsyncCollector, CIOConnect, Enhanced History are 100% configured via Custom Metadata — zero code deployments 3. **Async Orchestration**: AsyncCollector single-entry-point pattern with Type.forName(), configurable delays, error isolation, auto-retry 4. **PRM Data Model Migration**: LCI multi-company model breaks 1-Lead-1-Company without data loss ## Technical Expertise - Apex: Design patterns (Strategy, Factory, Observer), governor limits optimization, async patterns (Batch, Queueable, Platform Events), metadata-driven architecture, dynamic SOQL generation - LWC: Custom LightningDatatable extensions, complex state management, event-driven architecture, custom cell types - Architecture: Rules engine design, set theory applied to business logic, recursive data structures, interval algebra, polymorphic field handling - Data Modeling: Self-referential hierarchies, polymorphic relationships, versioning patterns, sharing model optimization - Integration: REST API, Bulk API 2.0, Segment/Customer.io, metadata-driven sync patterns - DevOps: SFDX, CI/CD, Copado, scratch orgs ## Career Timeline - 2023–present: Senior Salesforce Architect at Qonto — Built 9 production tools, Design Authority member - 2021–2023: Salesforce Architect at AG2R La Mondiale & Critéo (via Texeï) — Design Authority, multi-team architecture governance - 2018–2021: Salesforce Developer at Martin Brower France — CPQ Import Suite, first architect role - 2015–2018: Software Engineer at Dassault Systèmes — Team leader, mobile app design - 2015: EFREI Paris — Engineering degree --- ## 3 Side Projects (playable on the portfolio) ### Surprise Calendar — /calendar/ Virtual advent-style calendar with 17 unique animated openings (wheel, giftbox, rocket, elephant, lion, rabbit, plane, door, etc.). Each day reveals personalized content with custom animations (snow falling, water filling, flip calendar effects). 100% hand-coded, no AI, no libraries. Built as a family gift. ### Gravity — /gravity/ Physics-based space simulation game. Features: gravitational attraction between bodies, orbital mechanics, planet/star fusions, multiple themes, audio. 40 files, modular architecture (physics engine, renderer, UI, config). Built with AI assistance. ### Piano Magique — /jeu.html Educational music game for children with touch event support. Play piano keys with visual feedback and sound. Built with AI assistance. --- ## Portfolio Website Technical Details - Single-page application, vanilla HTML/CSS/JS (no framework) - Bilingual FR/EN with runtime language switching - 8 interactive demos embedded in modals (playable HTML apps) - 9 hand-crafted SMIL SVG animations (49s each, looping) with scrubber controls and step-by-step navigation - Dark theme, responsive design, smooth scroll navigation - Schema.org JSON-LD structured data (Person + 9 SoftwareApplication + WebPage) - .ai-readable hidden blocks for AI/bot crawlers on every section ## Contact - Website: https://adrienvalentin.com - LinkedIn: linkedin.com/in/adrienvalentin