The primary toolchain — production-hardened over 25 years. Java 21 modern features (virtual threads, records, sealed classes, pattern matching) with Spring Boot 3.x across every layer.
Patterns applied where they genuinely reduce complexity — hexagonal for testability, DDD for domain fidelity, CQRS and event sourcing for audit and scalability.
Specialist depth across all major betting exchanges — real-time market data, algorithmic strategy infrastructure, risk controls, and in-play execution at low latency.
Asynchronous architectures for real-time pipelines, trading feeds, and decoupled distributed systems — designed for exactly-once correctness and replay capability.
AWS-native design using CDK v2 as the IaC backbone — serverless-first where it fits, ECS Fargate for long-running services, with SnapStart and GraalVM Native for cold-start-sensitive workloads.
Infrastructure as code, automated CI/CD pipelines, and zero-downtime deployments across containerised Linux environments — from commit to production.
Relational, document, cache, and time-series — chosen for the problem, not the trend. Schema migration and distributed scheduling handled as first-class concerns.
Test-first by default — from unit through mutation and property-based testing. Contract testing across service boundaries. Quality engineered in, not inspected in.
Security embedded throughout the pipeline — not bolted on at the end. Runtime visibility, circuit-breaking, and compliance controls across every service in production.
AI integrated across the full engineering lifecycle — from rapid prototyping and strategy modelling to automated test generation and production-grade code delivery. Used to compress design-to-deployment cycles without compromising quality or correctness.
Backend-primary with real full-stack reach — Python for data modelling, ML, and scripting; TypeScript and React for frontend integration; growing capability across the whole delivery stack.
See how this stack is applied in real projects.