Learner ID Generation & Tracking System
Designed and implemented a fully automated Learner ID system in Salesforce using Apex and Flows, ensuring every eligible learner receives a unique, immutable identifier at enrollment.
Technologies & Tools
📊 Impact: Scalable system supporting 10,000+ learners annually
Problem
At Tech Goes Home, learners were historically identified primarily by email address, which proved unreliable due to duplicates, changes, shared emails, and inconsistent data entry. This limitation made it difficult to accurately track learner progress, support history, and long-term outcomes across programs. Email-based matching led to duplicate records, fragmented learner history, and data integrity issues.
My Role
I owned the system end-to-end, including designing the Learner ID strategy and format, implementing automation using Apex, Apex Triggers, SOQL, and Salesforce Flows, ensuring IDs are generated once and remain immutable, integrating the ID into downstream workflows and reports, and testing edge cases (duplicates, re-enrollments, partial records). This system was built as core infrastructure, not a one-off customization.
Solution
Created a scalable, permanent identifier that integrates seamlessly into existing Salesforce workflows. ID generation is event-driven and tied directly to enrollment creation, eliminating manual intervention. The system uses Salesforce-native architecture with Apex + Flows to fit cleanly into existing processes, avoiding external dependencies.
Architecture
ID Generation Logic
ID Generation Logic: (1) New learner enrollment is created
Eligibility checks performed (valid learner record, no existing ID)
Apex generates unique, sequential or structured Learner ID
ID written to Contact record
Triggers enforce immutability on future updates. Used Apex for custom logic and validation, Apex Triggers for event-driven execution during enrollment creation, Salesforce Flows for orchestration and guardrails, and SOQL for record checks to prevent duplication.
Key Design Decisions
Results
- ✓Enabled reliable tracking from enrollment → graduation → post-program outcomes
- ✓Improved data accuracy across Salesforce and downstream analytics
- ✓Reduced administrative overhead for program and support teams
- ✓Created foundational identifier used across reporting, automation, and integrations
- ✓Scaled cleanly to support 10,000+ learners annually