A serverless, rules-based automated trading platform
A rules-based automated trading platform built for 2Moon Capital. Event-driven serverless architecture executes the firm's trading strategies via Interactive Brokers, with paper-trading environments alongside the real-money execution path. Not ML-driven.
- Geography
- San Diego, California, United States
- Stage
- Growth-stage fintech
- Team
- 1 senior + 3 mid full-stack engineers, 1 product designer, 1 product owner, 1 QA
The situation
2Moon Capital trades systematically. The firm's value comes from the strategies it has codified, and the operational question was how to run those strategies reliably at scale without manual intervention. Volatile markets demand orchestration that does not freeze when conditions change.
The brief was a scalable automated trading system that encapsulates the firm's strategies as code. The strategies themselves are deterministic rules — the strategy file is explicit that this is not ML-driven, even though the operational scaffolding looks adjacent to AI. The architecture had to handle multiple strategies running against multiple accounts, with paper-trading environments alongside the real-money path for risk management.
What we built
The engagement is an AI Product Engineering build. Team composition was deliberately broad for a build of this complexity: one senior and three mid full-stack engineers, paired with a product designer, a product owner, and a QA engineer.
Architecture is event-driven and serverless. Trading signals flow in from TradingView; the strategy engine evaluates each signal against the active rule set; order execution routes through Interactive Brokers. The Joshua library carries the strategy-specific business logic — contract selection, closing conditions, position sizing — as code, not as ML inference.
The platform supports multi-strategy and multi-account management from one operational dashboard. Three paper-trading environments run alongside the live-money environment, which means strategies can be validated under real market conditions before any real capital is committed.
Tech stack: Python and Flask for the strategy engine, Docker for packaging, AWS Lambda for serverless execution, SNS and SQS for messaging, DynamoDB and RDS for data, Step Functions for orchestration, Glue for data movement, SES for transactional email, NextJS and Django for the operational dashboards, ECS and ELB for the long-running services, EC2 and S3 as the underlying primitives, QuickSight for reporting.
Outcome
-
Event-driven serverless trading platform in production, executing rules-based strategies
-
Three paper-trading environments running alongside the real-money execution path
-
Multi-strategy and multi-account management consolidated into one dashboard
The automated trading system shipped against the multi-strategy, multi-account brief. Paper-trading environments are operational alongside the live execution path. No public performance numbers are appropriate to surface here (trading P&L is the client's domain), so Section 5 covers the engagement deliverables rather than financial outcomes.
Engagement line