Architect of ADP’s production AI Search and AI Assist platforms — hybrid retrieval that improved search precision by 35%, LangGraph multi-agent routing across Payroll, Tax, Benefits, and HR, held to 99.9% uptime by evaluation and monitoring pipelines fed by production feedback.
My specialty is the layer demos never show: verification, durable state, and the failures that never throw an error. It is also why I built FailLoud, an open-source harness that catches silent agent failures before they ship as “done.”
A verification harness for LLM agent outputs — it catches the silent failures agents ship as “done.” Run it as a CLI in a pipeline, or as an MCP server your agents call before they are allowed to claim success. The core is standard-library-only Python: a verification tool should add no supply-chain surface of its own. And since v0.2.0, every verdict can be sealed into a hash-chained receipt — so what carries a result downstream is an audit trail anyone can re-verify, not the agent’s word. New in v0.3.0: watch mode polls a pipeline’s output file or directory and re-verifies each output the moment its content changes, sealing every verdict to the chain automatically.
Output declared done while its payload is empty or still carries template scaffolding — lorem ipsum, unrendered {{braces}}, “coming soon.” Nothing crashes; every signal says success.
The agent says it sent, posted, published, deployed — and nothing in the output backs the claim: no ID, no URL, no receipt, no artifact. A claim without evidence is a rumor.
The run worked from a context snapshot older than you allow — or the state it planned from and the state it carried disagree on version. Confident work, expired world.
The headline number disagrees with the itemized record underneath it — reported 12 delivered, the list holds 9. Only the list was ever true.
Required parts are present but empty, a segment occupies its slot and contains nothing, and the deliverable goes silent where content should be.
Every check produces located findings — JSON path, severity, and a message written for the failure report — rolled into one verdict: FAIL, PASS WITH WARNINGS, or PASS.
$ failloud check examples/failing_output.json FL001 placeholder_shipped ERROR $.output.body Placeholder content shipped as final: 'coming soon', 'lorem ipsum', '{{ }}'. FL002 unbacked_claim ERROR $.claims[1] 'card_published' claimed — no id, URL, receipt, or artifact backs it. FL003 stale_state ERROR $.state.context_updated_at State is 77.1h old (limit 24h); planned from v9, carried v7. FL004 count_mismatch ERROR $.counts.delivered Reported as 12 — the itemized record contains 9. FL005 missing_components ERROR $.segments[2] Zero-length segment, and a 5.5s dead stretch where content should be. VERDICT: FAIL — 8 errors, 1 warning. The corrected output passes clean.
Built from real production failures. Every check in FailLoud exists because a real system failed that way in production — and the failure was only visible to whoever finally read the output itself. The failures became rules; the rules became this tool.
Led architecture and end-to-end development of the production AI Search and AI Assist platforms behind payroll workflows for thousands of enterprise users. Built hybrid retrieval (OpenSearch vector + keyword) that improved search precision by 35%. Designed LangGraph multi-agent workflows routing Payroll, Tax, Benefits, and HR requests. Built the Airflow evaluation and monitoring pipelines — relevance, reliability, latency, production feedback — and the reliability discipline (observability, rollback readiness, guardrails, RBAC, audit logging) that holds the platform at 99.9% uptime.
Built enterprise ML/AI systems for financial intelligence, document understanding, search, and conversational applications. Designed RAG solutions with hybrid search over complex financial documents and data pipelines processing millions of financial records for risk modeling. Automated document processing with NLP and OCR, cutting manual effort and improving extraction accuracy; predictive models improved fraud-detection accuracy. Tuned GPU inference and model serving for production latency.
Built time-series demand-forecasting models (XGBoost, LightGBM, Scikit-Learn) that improved forecast accuracy by 20%+, and inventory optimization algorithms that reduced stockouts across stores, warehouses, and fulfillment centers. Engineered large-scale PySpark ETL and feature pipelines; deployed production ML services with FastAPI, Docker, and Kubernetes.
Developed real-time face-recognition models (CNNs, transfer learning) reaching 92%+ accuracy under varying lighting and occlusion. Built fraud-investigation dashboards in Power BI and Tableau that increased review efficiency by 35%.
Education.
Hybrid-retrieval search plus conversational assist for payroll workflows. +35% search precision, sub-second latency, guardrails, RBAC, and audit logging — in production for thousands of enterprise users.
Tool-oriented agent workflows routing Payroll, Tax, Benefits, and HR requests — multi-step orchestration with evaluation and regression monitoring, replacing manual triage.
Complex RAG over financial documents with hybrid search; NLP + OCR automation for document processing; fraud modeling at enterprise scale.
Time-series forecasting at +20% accuracy; replenishment and inventory optimization across stores and fulfillment centers.
Each of these was learned the expensive way — from a failure that no dashboard caught. They are the same lessons FailLoud automates.
A launch was marked complete while the page itself still carried placeholder copy. The URL was public, the pipeline was green, and every automated signal said success. The failure was visible only to a human who actually read the page.
A batch of messages was reported as sent. One address had bounced — and nothing downstream ever knew, because “sent” was asserted by the same component that performed the send, and nothing demanded proof.
A handover lived in a conversation instead of durable state. The next step rebuilt its understanding from a summary of a summary — then acted on it with full confidence.
That is the work I do — forward-deployed, in production, with the failures owned in writing. The fastest way to judge fit is the work itself: FailLoud above, and the résumé below.