AI Objectives Institute
Lead AI Engineer - San Francisco - May 2024 to Jan 2026
A nonprofit AI research lab aligning AI with human values, co-founded by Let's Encrypt co-creator Peter Eckersley. I built the multimodal WhatsApp intake agent for Talk to the City, AOI's flagship open-source deliberation platform, adopted by Taiwan's Ministry of Digital Affairs for national consultations and endorsed by Audrey Tang (Taiwan's first Digital Minister), used to help policymakers and peace mediators act on public input without losing the nuance of individual voices.
Elicitation Bot - multimodal intake
Built end-to-end, solo: a multimodal WhatsApp agent (voice + text, Whisper + GPT-4o), deployed in multiple languages to thousands of students across 55 universities and 12+ international conferences, bringing Talk to the City to underrepresented, low-connectivity communities.
Deployed with Search for Common Ground (the world's largest peacebuilding organization, with ~170 projects across 34 countries), the Taiwan AI College Alliance, and Notre Dame.
- Ran 4 months of weekly live sessions at 10-20K messages/day. Sharded onboarding across 5 Twilio numbers to clear the per-number 1K-new-users/day cap (a day-one launch blocker), then lifted delivery success from 96% to 98% by fixing Heroku rate-limit and cold-start failures and sizing scaling to the app's CPU/memory profile.
Stack: Python - Twilio Business API - GPT-4o - Whisper - Heroku
Case study →GitHub
Talk to the City - cloud engineering
As a cloud engineer on the project, handled deployment on Heroku with AWS CloudFront and Docker; resolved a blocking AWS issue (advancing deployment ~80%), built customized Lambda layers, and wrote deployment guides and walkthroughs for future engineers.
Stack: Heroku - AWS CloudFront - Docker - AWS Lambda
Talk to the CityGitHub
Moral Learning - AI alignment
Designed API-driven LLM evaluation pipelines automating multilingual survey generation and the assessment of human values, translation quality, and model alignment; built a RESTful API that overcame Prolific's limits and an R / ggplot analysis pipeline for annotator performance.
Moral LearningGitHub
Governor
Reusable oversight & evaluation layer for autonomous agents - solo build - 2026
A working demo of measured, safely gated agent autonomy: an autonomous LLM agent sources real candidates from GitHub and drafts outreach through its own tool-use loop, while a deterministic core (no LLM) decides which actions run automatically and which a human must approve. It drafts and decides - it does not send.
- Perception vs. judgment: the LLM reads risk from meaning (competitor, seniority, sensitive content, manipulative tone) while a deterministic core scores those signals against fixed thresholds, so the same input always yields the same, auditable decision.
- Domain-free core: one engine, two domains - recruiting outreach and refund approvals. Only the signal set changes; the thresholds, load-shedding, and routing stay identical.
- Measured against people, not assumed correct: scored on an independent human-labeled set (40 realistic and 12 adversarial cases), it agrees with human judgment ~85% of the time (0.83 recall, 0.90 precision). An LLM-as-judge separately grades draft quality.
- Load-shedding and audit: under saturation it degrades by deferring to a human, never by unsafely auto-sending, and writes every decision - with the signals behind it - to a persistent, reviewable audit log.
- Bounded self-improvement: a separate, human-approved pass mines new risk terms from the cases it missed and adopts a change only if it validates on held-out data - the deterministic gate itself stays LLM-free.
Stack: a deterministic governance engine built from scratch in Python and as a live n8n workflow (agent, tools, governor, persistent state) - OpenAI gpt-5-mini - GitHub Search API - live web search - n8n Data Tables
How it worksGitHub
Headroom
Independent research & engineering - Mar 2026 to Present
A human-in-the-loop firewall for AI coding agents: a guardian classifies every file, shell, git, and deploy action as safe, approval-required, or blocked (layered rules to LLM risk judgment to human review) before it runs.
- Wrote an accompanying paper showing a counterintuitive result: agent oversight is an inverted-U: a guard that escalates more can make a system less safe, because human review is a finite resource that fatigues.
- Backed it with a replay-based eval framing the guard as selective classification under asymmetric cost (risk-coverage, AURC, and Neyman-Pearson on a 125-action adversarial set), measured against a Fleiss' κ = 0.52 reviewer-agreement floor.
- Engineered the runtime on a LangGraph state graph that pauses risky actions mid-task via
interrupt() for resumable approval, with fail-safe denials, an append-only audit log, a live dashboard, and an MCP server any agent can route tool calls through.
Stack: Python - LangGraph - MCP - LLM risk scoring - selective-classification eval
Live demoGitHubThe thesis
OperatorLock
Solo build - Jan to Mar 2026
In high-pressure trading, willpower-based risk management fails under stress: the losing trade that's "almost back," the winner that "should run further," the drawdown that demands revenge. Trading platforms answer only with warnings and confirmations you can click straight through; there is no way to make your own rules actually binding. OperatorLock is that missing enforcement layer: every constraint is a hard gate enforced server-side, with no "confirm anyway" button. It removes the choice in the moment discipline is most likely to break.
- Nine non-overridable structural gates enforced at the API: a 5-minute candle lock, a 180-second post-exit cooldown, a per-Renko-bar tempo token, an initial exit lock, a management lock, a zone-entry gate, a hard daily trade limit, and a daily stop-loss that flattens positions and blocks entries for the rest of the day.
- A bar-driven behavioral engine clocked by six independent TradingView Renko webhook streams (1 / 2.5 / 4 / 6 / 8 / 12 pt) rather than wall-clock time: constraint logic reacts to market structure, not the operator's impulses.
- Event-driven Flask + Firestore state machine with state hydrated across restarts, bridged to a live C# Rithmic (RAPI+) execution layer on a Windows VPS that polls for pending orders every second.
- The deeper tension it surfaces (that hard constraints carry a real human cost) is the same control-versus-cost inversion Headroom studies in AI oversight, where past a point more control makes a system less safe.
Stack: Python - Flask - gunicorn - Google Firestore - Heroku - C# (.NET) - Rithmic RAPI+ - TradingView Renko webhooks
Live demoGitHub
Generative Alpha (G-Alpha)
AI Developer & Data Engineer - San Francisco - Summer 2023
A financial-investment AI agent and vertical AI foundation-model company, a scalable system of AI analysts simulating human roles in quant trading, fundamental trading, and advisory.
- Engineered an SEC API ingestion pipeline extracting and curating a decade of filings (earnings calls, 10-Ks, 10-Qs, 8-Ks) for US30 stocks, normalized and transformed into structured training data.
- Generated Q&A pairs from the curated datasets and fine-tuned GPT-4 and LLAMA2 for financial-data comprehension.
- Applied advanced data preprocessing, normalization, and prompt-engineering techniques.
Stack: Python - MongoDB - GPT-4 - LLAMA2 - LangChain - SEC API
G-Alpha on LinkedInGitHub
Earlier work
Quantitative analysis and trading systems
- Explomind - Data Scientist & Systems Architect (2021 to 2023). Architected an adaptive reinforcement-learning trading system with a human-in-the-loop decision layer, and led and trained a distributed international team.
- Sentium - Quantitative Analyst (2021 to 2023). Built high-frequency-trading tooling and custom indicators over millions of data points in TimescaleDB. sentium
- Info Investment / Ideal Data - Quantitative Analyst Intern. Developed and Monte-Carlo-tested algorithmic trading strategies for the Turkish stock market, modeling execution costs and optimizing Sharpe ratio and maximum drawdown. Info Investment · Ideal Data
Education
University of California, Los Angeles (UCLA)
B.S. Statistics & Data Science, 2024.