Urla Shoes — Multi-feature Salesforce platform sandbox
A multi-feature Salesforce sandbox: route-safety AI composition (Google Maps + OpenWeather + Einstein), Contact enrichment via Nationalize.io, Lead Queue routing with Platform Events, Loan Sync with retry scheduler, a Reseller Matching engine, and a Custom-Setting-backed API key layer that keeps secrets out of source.
- Year
- 2024
- Role
- Salesforce Developer
- Tech stack
- Apex (Queueable, Schedulable)Lightning Web ComponentsVisualforce (bridge)Salesforce EinsteinPrompt TemplatesConnectApi.EinsteinLLMTrigger Framework (Kevin O'Hara)Custom Settings (hierarchical)Platform EventsCustom ObjectsHttpCalloutMockRemote Site Settings
Highlights
- Route Safety LWC — Google Maps + 5-waypoint parallel OpenWeather + Einstein Prompt Template AI verdict in one screen
- Contact Enrichment Queueable — Nationalize.io with HttpCalloutMock across 6 scenarios (success, empty, HTTP 500, missing FirstName, bulk-10, parser test)
- Lead Queue Routing — scheduled batch + Lead_Shift_Event__e Platform Event + LWC dashboard for shift-based distribution
- Loan Sync Pipeline — Loan__c + Loan_Sync_Log__c custom objects + Opportunity-triggered sync + retry scheduler with audit logging
- Reseller Matching Engine — multi-criteria scoring + Opportunity trigger + LWC tier badge
- Platform foundations — extensible Kevin O'Hara TriggerHandler framework, round-robin task assignment, SLA expiry automation
- Senior pattern: API keys served from API_Config__c Custom Setting via ApiKeyService Apex helper — no secrets in source
The problem
I needed a single Salesforce project that demonstrated platform breadth — multiple integration patterns, async Apex flavours, AI integration, custom data models, and the kind of secrets-out-of-source discipline that production orgs require. A single-feature demo wouldn't show how engineering decisions compose across an org.

Architecture
The headline feature is the routeWeather LWC — a three-integration composition. It hosts a Visualforce page (RouteMapPage) in an iframe (the only way to load Google Maps under Lightning Web Security) and communicates via postMessage: the LWC sends DRAW_ROUTE, the page responds with ROUTE_DONE plus the destination coordinates. The LWC then computes five waypoints (origin, 25 %, midpoint, 75 %, destination) and fires five parallel fetches to OpenWeatherMap via Promise.all. Once weather lands, the LWC POSTs a slim six-field-per-waypoint payload to the Apex RouteWeatherAnalysisService, which formats the data as text and invokes ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate('RouteWeatherAnalysis', input). The GPT-4o mini response is rendered in a colour-coded card by a keyword classifier (storm/ice/hazard → red; caution/careful → amber; otherwise green). Around that headline sits a Lead Queue routing system (LeadQueueScheduler scheduled batch + Lead_Shift_Event__e Platform Event + leadShiftDashboard LWC), a Loan Sync Pipeline (Loan__c + Loan_Sync_Log__c custom objects with retry scheduler and audit logging), a Reseller Matching Engine (multi-criteria scoring service + Opportunity trigger + resellerTierBadge LWC), and an extensible TriggerHandler framework that every trigger in the org extends.
The approach
Three principles run through every feature. First, async by default — every external callout uses Queueable or Schedulable, no synchronous trigger callouts, no governor surprises under load. Second, secrets out of source — both the Google Maps and OpenWeather API keys live in an API_Config__c hierarchical Custom Setting, read at runtime via an ApiKeyService Apex class (instance property for VF, @AuraEnabled cacheable methods for LWC). The Visualforce page renders the Maps key via {!JSENCODE(mapsApiKey)} so it never appears as a literal in source; the LWC awaits getOpenWeatherApiKey() in connectedCallback. ApiKeyServiceTest gives 100 % coverage. Third, every trigger extends the same Kevin O'Hara TriggerHandler base — recursion guards, bypass mechanism, testable logic — so the routing, sync, matching, and contact-enrichment features all behave consistently under bulk load.
The outcome
A reference Salesforce sandbox a recruiter can clone, deploy, paste two API keys into Setup → Custom Settings → API Config → Manage, and watch run end-to-end. Six features across LWC, Apex, Visualforce, custom objects, Platform Events, scheduled batches, and Einstein AI — with the senior-engineering details (key management via Custom Setting, trigger framework, async-by-default, mocked tests) visible in the diff. The same patterns transfer directly to the multi-feature Salesforce orgs that mid-to-large DACH companies actually run.
External integrations
- Google Maps Directions
Route geometry via VF iframe + postMessage; key from Custom Setting
- OpenWeatherMap
5-waypoint parallel forecast; key from Custom Setting
- Salesforce Einstein (GPT-4o mini)
Prompt Template safety assessment via ConnectApi.EinsteinLLM
- Nationalize.io
Contact country prediction on insert (Queueable + 6-scenario mock)