← Home

Case study · 2024 — Present

Managing

Staff AI Engineer–oriented trading platform: agents (Semantic Kernel, MCP, Hermes, n8n), Optuna research pipelines, Spotlight/news/regime context, distributed live execution, and .NET Aspire for local orchestration.

.NET 10PythonNode.jsTypeScriptPostgreSQLInfluxDBDockerGitHub ActionsOpenTelemetryOrleansAspireSemantic KernelMCPHermesn8nOptunaReact 19

From strategy to execution

Users compose scenarios from configurable technical indicators, then test saved or ad-hoc configurations against historical data. A backtest carries the complete bot configuration, date range, money-management rules, exchange, ticker, and timeframe so a validated configuration can move into a deployable bot.

Bots support start, stop, restart, real-time parameter updates, manual trading, and watch mode for signal-only analysis. The product keeps the trading decision user-defined while making research, validation, and operations traceable.

Core runtime

The core platform is a .NET API with REST and SignalR interfaces for authentication, bots, scenarios, backtests, accounts, market data, and analytics. Background workers handle long-running work such as prices, backtests, and volumes.

Microsoft Orleans isolates stateful strategy workloads. Entity Framework and Postgres support transactional application data; InfluxDB stores time-series data; Redis supports shared runtime concerns. Aspire wires the API, workers, and supporting services into one local and operational topology.

Managing system map

Product and operator surfaces connect to one API, with clear runtime, data, and on-chain boundaries.

Product surfaces and on-chain boundary

The primary web product is built with Next.js. Expo provides mobile strategy management, monitoring, and notifications. A separate Vite/React backoffice supports internal bot, monitoring, and GMX workflows.

The .NET API calls a Fastify/Bun web3 proxy for Privy, GMX SDK actions, swaps, and session/cookie handling. This keeps on-chain and wallet-facing concerns behind a dedicated boundary rather than in product clients.

Research and validation

The Managing Lab uses Optuna against Managing bundle backtests. It runs walk-forward trials across Score, Sharpe, and maximum drawdown, then gates leading candidates on held-out out-of-sample windows.

The lab persists studies in SQLite, caches window-level backtest results, explores multi-indicator scenarios, and exports cross-study analytics. Hermes schedules the research routines; findings move through optimization, validation, and promotion rather than directly into execution.

Hermes research routine

Hermes schedules ComboFinder, Optuna walk-forward, and an OOS gate. When conditions are met, paper bots are run and managed before the next cycle.

Agent and operator tooling

The CLI exposes scriptable access to the platform API for backtests, bots, and JSON automation. The MCP server exposes the same platform surface as tools for LLM clients. Semantic Kernel provides controlled inference and tool-calling integration; n8n routes post-run results, notifications, and human-in-the-loop decisions.

I am extending these boundaries with Microsoft Agent Framework patterns, RAG, LLMOps governance, AI security controls, and SLO-backed observability.

Market data and analytics

BackgroundService workers ingest venue websockets, run data consolidations, rebuild OHLCV by timeframe, refresh Spotlight, and claim backtest and genetic jobs off the API request path.

The platform serves ticker metadata, historical candles, live price updates via SignalR, Spotlight market views, strategy statistics, user analytics, balance history, and performance summaries. Product flows also include trend and regime context, confidence-based sizing, entry/SL/TP suggestions, trailing stops, multi-timeframe signals, and GMX funding-rate workflows.

Venue ingest

Hyperliquid, Binance, Coinbase, and Bybit/OKX/Gate workers run data consolidations, then persist completed one-minute feature bars.

Timeframe prices

Dedicated 5m, 15m, 1h, 4h, and 1d refresh paths hit Orleans grains for eligible tickers. Funding rates update on a separate 30-minute cycle.

Spotlight

Spotlight aligns to 15-minute candle boundaries and seeds missing cells. A backfill worker repairs historical coverage.

Backtests and genetic jobs

Executor slots claim pending jobs, then SignalR and Redis live-poll notify clients. Genetic compute pulls from its own queue.

Platform analytics

n8n news pipeline scrapes sources, runs LLM analysis, saves results, and feeds platform analytics views.

← Previous workXpollensSoftware Developer · 2018 — 2023