AI Engineer · Boston, MA · Open to roles
I build production LLM, agentic and retrieval systems — and the verification underneath them. The most useful thing I've learned: I once audited a model's confidence against its realized error and found the two uncorrelated. It was most certain exactly where it was wrong.
So I build gates. Deterministic verifiers that override the model. Evaluation harnesses that reject changes before they ship. Review queues ranked on measured error rather than what the model believes.
I'm an AI engineer who ships systems end to end — model, pipeline, service, and the evaluation that decides whether any of it is allowed into production.
At Shizen I was the sole engineer on an institutional risk platform: four Python services on Kubernetes, agentic document discovery across the open web, LLM extraction with page-level citation verification, and a bitemporal warehouse where every stored number traces back to the document and date it came from. No codebase, no team, first release in four months.
Before that, at Civica, I built distributed ETL on Databricks and Azure for financial and healthcare clients under regulated data-handling standards — 50K+ documents a day, 5+ TB, and the validation frameworks that kept malformed data out of downstream reporting.
The habit that runs through all of it: a wrong answer with no warning is worse than a missing one, because someone acts on it. So claims get checked against sources, changes get gated against held-out sets, and confidence gets audited rather than trusted.
I recently audited my own project repositories against their source and corrected several figures I'd been citing. The numbers on this page are the ones that survived.
Two roles: one startup from zero, one enterprise delivery environment.
Reinforcement learning, search, generative modeling and quantitative risk — built from papers, run on real hardware, and audited against their own logs.
Three distinct algorithms implemented against Qwen2.5-3B with no reference code: PPO with GAE and a learned critic, an advantage-weighted variant using a smooth-max reference-model baseline with KL regularization, and REINFORCE. Includes V* caching, curriculum learning, and a variance-based trajectory filter.
A REINFORCE controller trained to select which reasoning, refinement and validation operators to invoke per problem, optimizing score minus weighted cost. Trained end to end with a checkpoint the evaluation provably loaded. Also surfaced a code-extraction defect firing on 44% of intermediate test-operator executions.
An end-to-end risk analytics system: arbitrage-free SVI volatility surfaces calibrated under Durrleman butterfly and calendar constraints, VaR and Expected Shortfall computed by full revaluation and Taylor expansion in parallel, Kupiec and Christoffersen backtests, PCA risk factors, and minimum-Mahalanobis reverse stress.
Monte Carlo Tree Search with UCT implemented from scratch — selection, expansion, simulation, backpropagation — then extended with language-model priors to solve the 24-Game. Solvability gating and integer bias lifted accuracy well above both the heuristic baseline and value-only LLM guidance.
A retrieval pipeline over SEC 10-K and 8-K filings that embeds semantically chunked passages into a FAISS index and returns the source passage behind every answer. Shipped as a self-serve application so non-technical users could pull structured records without an engineer in the loop.
Conditional identity-anonymization GANs reimplemented in PyTorch, training adversarial generators that strip identifying features from personal images while preserving the attributes downstream models depend on, with a disentanglement loop separating identity from non-identity representation.
ε-greedy and gradient bandit algorithms implemented from scratch and evaluated across 2,000 runs of 1,000 steps, reproducing Figure 2.2 from Sutton & Barto and comparing softmax preference learning with and without a baseline at two learning rates.
The platform behind my last role: agentic document discovery and LLM extraction feeding a bitemporal medallion warehouse on Postgres, with Kimball dimensional models, point-in-time-correct fact tables, and a governance layer for lineage, audit and validation.
What I reach for, grouped by the problem it solves.
Python · SQL · TypeScript / JavaScript · Java · Shell
Prompt engineering · Structured output · Function calling · Multi-agent orchestration · Model routing & cost control · LangChain · LangGraph · MCP · Claude, GPT, Gemini
RAG · Embeddings · Vector search (FAISS, Pinecone) · Semantic chunking · Document AI / OCR · Run & session memory
Eval harnesses & A/B gating · Hand-labeled eval sets · Deterministic verifiers · Domain guardrails · Calibration auditing · Release gating · Failure & ablation analysis
PyTorch · scikit-learn · Hugging Face · Transformers · Model fine-tuning · Reinforcement learning (PPO, A*-PO, REINFORCE) · Multi-armed bandits · Monte Carlo methods · Conformal prediction · GANs
PySpark · Databricks · Airflow · dbt · Azure Data Factory · PostgreSQL · Redis · DuckDB · Snowflake · Bitemporal modeling · Lineage & audit
FastAPI · REST API design · Microservices · Docker · Kubernetes (EKS) · Event-driven architecture · Dead-letter queues · Circuit breakers · Rate limiting
AWS (EKS, EC2) · GCP (Vertex AI, Cloud Run, Document AI) · Azure · Modal (serverless GPU) · CI/CD (GitHub Actions, Azure DevOps) · Git
Statistical modeling · Leakage-controlled backtesting · Temporal validation · Time-series analysis · PCA · Constrained optimization · VaR & Expected Shortfall · Coverage tests (Kupiec, Christoffersen)
Open to AI and ML engineering roles. Email is fastest — I reply the same day.