How I work
I build AI-first. The model writes most of the code; I own the parts that
decide whether a system is any good: architecture, requirements, debugging,
security posture, and deployment. That division of labor has let me ship and
operate real systems far faster than my background would predict.
The systems hold themselves to account. A fleet of autonomous agents reviews
the codebases on a schedule against a security-first rubric, monitors the
live processes, and surfaces regressions before I do. The same discipline
runs through everything I build: least privilege, isolated failure domains,
and operator controls that cannot fire by accident.
Before this, years in retail management: team building, sales, and P&L
ownership. That is where the operator instinct comes from. The medium
changed. The job of running something real that cannot quietly break did not.
Projects
Multi-Exchange Algorithmic Trading Server
Live in production
- Webhook-driven trading server running a trend-following strategy across multiple perpetual-futures markets, managing positions across 6 sub-accounts on two exchanges from a single signal source.
- ATR-based risk management, tiered slippage, race-condition guards, automatic state recovery on restart. Per-account flip, force-close, and manual size adjustment, all gated behind an admin token.
- Live operator dashboard with a two-tier auth split: separate credentials for admins (write) versus read-only monitors, so a leaked monitor credential cannot place a trade.
- Production-hardened: built and shipped fixes for infinite exit loops from API verification failures, double-order race conditions, signal repainting, and an SDK-level hang that needed a custom stack-trace dump on detection.
Stack Python, Flask, asyncio, nginx, systemd, SQLite
Directional Market Maker multi-pair, signal-aware quoting
Live in production
- Avellaneda-Stoikov-style two-sided quoting with signal-aware directional skewing across three pairs. Reads position state from the upstream trading server to align quotes with the active trend.
- Per-pair PnL kill switches (intentionally pair-level, not pooled across the book). Debounce logic so a single bad tick or zero-price read cannot force a trade.
- Hang-detector sidecar that triggers a stack-trace dump on the wedged process after a configurable log-silence threshold.
- Control API never exposed to the public internet; reachable only through a privately scoped tunnel from a separate ops host.
Stack Python, asyncio, systemd, SSH ControlMaster tunneling
Autonomous AI Agent Fleet production-grade agentic operations
Live in production
- Code-review agents: three scheduled review agents covering the trading, market-maker, and macro-index codebases against a security-first rubric with tiered alerting on a 4-hour cadence. First production runs caught real bugs on day one and have continued to surface regressions.
- Performance-monitor agent: regime-aware periodic recommendation reports. Pulls multi-month price and funding history, discovered and worked around two undocumented exchange-API pagination limits, runs k-means regime clustering on 8 engineered features (with an HMM successor variant built and gate-tested against the live release).
- Log-stream monitor agent: persistent live-log stream into the model with a structured pattern catalog of 14+ matchers across four primitive families (temporal, sustained-state, filesystem-watch, HTTP snapshot-delta) and a cross-pattern correlation layer that collapses paired signals into a single combined alert.
- Source code reaches the agent host only through one-way read-only mirrors, never through any external code-hosting system.
Stack Claude Code (subscription auth), systemd timers, SSH ControlMaster tunneling, Discord webhooks
Operations Bot chat-driven control plane
Live in production
- 15+ slash commands for controlling the agent fleet and trading systems: status reads, pause/resume, position queries, kill switch, watchlist CRUD.
- Routes over a restricted private tunnel to internal control APIs; nothing exposed to the public internet. Designed for fast phone use: space-separated args with smart defaults.
- Destructive actions (kill switch) require a typed-confirmation token, run server-side timeouts, and write to an audit log on every invocation.
Stack Python, Flask, SSH ControlMaster tunneling, Telegram Bot API
Consumer Stress Index daily macro indicator
Live, auth-gated
- Computes and publishes a curated daily consumer-stress index from public macro series and a market-data watchlist.
- Cached client over a public chart endpoint, with handling for source-side outages and rate limits.
- Composite weights driven by what the historical data actually supports; calibration window chosen after discovering and excluding an anomalous early-period revision.
Stack Python, Flask, SQLite, FRED API
Live Operations Dashboard market-maker telemetry
Live, auth-gated
- Operator dashboard over the market-maker process. Periodic snapshot timer writes to a local time-series store.
- Charts above raw state dumps: PnL curve, drawdown gauge, fills volume, cycle-health sparklines.
- Kill-switch UI with typed-confirmation dialog, server-side timeout, and a confirmation guard that prevents accidental fires.
Stack Python, Flask, SQLite, vanilla JS charts
Walk-Forward Optimization Pipeline strategy research
tooling
Research tooling
- Hyperparameter-search framework for trading strategies with a multi-seed robustness check baked in (parallel optimization isn't deterministic even with a fixed seed; multi-seed catches that).
- Treats the pipeline itself as the deliverable: multiple candidate strategies run through it have failed walk-forward analysis, which is the point. The framework is the durable asset.
- A library of trading-platform strategies built in parallel against a consistent architecture: ATR-based risk, trend filters, webhook-ready alerting.
Stack Python, Optuna, TradingView Pine