Projects

Things I build and run.

Side projects I design, deploy, and operate end to end on AWS, from data pipelines and research tooling to production hosting and monitoring.

CardTrends

Market intelligence for Pokémon card collectors.

A data product that connects source-labeled prices, completed-sale evidence, and PSA population data for each exact card, printing, and grade, alongside portfolios, watchlists, market news, and collector discussion.

  • 27,000+ catalog products with raw, PSA 9, and PSA 10 price states
  • Provenance on every observation; unvalidated valuation models stay gated
  • Python web app, ingestion workers, and Terraform-managed EC2 on AWS

Algobot

Research-first algorithmic trading for FX and crypto.

A trading system where no strategy trades until it passes a standard evidence bar. A single Strategy Lab replays every strategy, market, and direction under the same costs and fill rules, then applies statistical verdict gates before anything reaches the broker.

  • Forex engine live on four major pairs behind hard risk gates and a halt switch
  • Crypto research with pre-registered hypotheses and paper shadow trading
  • Python services on EC2 with systemd, nginx, and operator dashboards

Portfolio on GitHub

Smaller, self-contained projects in quantitative finance and infrastructure delivery. Each repo has tests, CI, and screenshots from real runs.

Quant and risk

Market Risk Platform

FX option pricing and portfolio VaR, served, monitored and deployable. A FastAPI risk service that prices FX options with Garman-Kohlhagen and measures portfolio beta, Sharpe, and Monte Carlo VaR and expected shortfall, with Prometheus metrics, a Grafana dashboard, tested Terraform and CI.

  • Pricing checked against a textbook price, put-call parity and finite-difference Greeks
  • Readiness probe, route-template metric labels and a latency histogram
  • Terraform module tested against a mocked AWS provider
  • Python
  • FastAPI
  • Prometheus
  • Grafana
  • Terraform

FX Option Risk Pricer

FX options risk engine: Greeks, pair-level risk, spot/vol scenario heatmaps. Prices a book of FX options with Garman-Kohlhagen, nets Greeks by currency pair, and fully reprices the book across a grid of spot and vol shocks.

  • Every Greek checked against finite differences and put-call parity
  • Risk netted per currency pair with USD conversion, crosses included
  • Spot x vol scenario grid saved as a P&L heatmap
  • Python
  • rich
  • matplotlib
  • pytest

CAPM Beta Analyzer

Estimate CAPM beta, alpha and expected returns from daily prices. Regresses each stock's excess returns on a benchmark to report beta, annualized alpha, R², standard errors and CAPM expected return, with rolling beta and security market line charts.

  • OLS on excess returns with standard errors and t-stats
  • Simple or log returns with per-period risk-free conversion
  • Tested against synthetic data with a known beta
  • Python
  • pandas
  • NumPy
  • matplotlib

Monte Carlo Price Simulator

Simulated price ranges, target odds and tail risk for any ticker. Estimates drift and volatility from log returns and simulates thousands of geometric Brownian motion paths, reporting percentile bands, target probabilities, VaR and expected shortfall.

  • 10,000 one-year paths in about 40 ms, seeded and reproducible
  • VaR, expected shortfall and daily 5/50/95 percentile bands
  • Tests check results against closed-form formulas
  • Python
  • NumPy
  • pandas
  • matplotlib

Stock Chart CLI

Stock charts, indicators and risk stats from the terminal, online or offline. Turns daily prices into candlestick charts with moving averages, Bollinger bands and volume, plus multi-ticker comparisons and per-ticker return, volatility and drawdown.

  • Candlesticks with 20/50-day averages, Bollinger bands and volume
  • Multi-ticker comparison on one percent-change axis
  • Offline CSV mode; tests never touch the network
  • Python
  • pandas
  • matplotlib
  • yfinance

EODHD Market Data CLI

Market data CLI for EODHD prices, quotes and return stats. Searches instruments, pulls end-of-day prices and delayed quotes, and summarizes returns, volatility and drawdown, with clean CSV and JSON output for scripting.

  • Jittered backoff on rate limits, server errors and timeouts
  • Return stats on adjusted closes, annualized correctly for 24/7 crypto
  • 35 offline tests against a fake HTTP session
  • Python
  • requests
  • pytest
  • REST API

Infrastructure and delivery

Terraform GitOps Pipeline

Terraform changes go through PRs, get reviewed plans, and apply only from trunk. Every pull request gets static checks, security scanning and a saved plan posted for review; only trunk can apply that exact plan, behind an approval gate.

  • Trunk-only apply of the reviewed plan; prod needs a named approver
  • Separate plan and apply roles, per-environment locks, nightly drift checks
  • S3 native state locking and offline tests on a mocked AWS provider
  • Terraform
  • Jenkins
  • GitHub Actions
  • tflint
  • checkov

Jenkins Delivery Pipeline

An approval-gated pipeline that proves the deployed commit is serving. A declarative Jenkinsfile takes a Python service through tests, image build, container smoke test and parallel Kubernetes, Terraform and Ansible checks, then deploys only the approved plan.

  • Service reports its commit at /version; smoke test and deploy verify it
  • SSM-only Graviton hosts, IMDSv2, encrypted volumes, immutable image tags
  • Terraform stacks tested against a mocked AWS provider
  • Jenkins
  • Terraform
  • Ansible
  • Kubernetes
  • Docker

AWS EC2 Terraform Blueprint

Hardened, tested Terraform module for EC2 with Session Manager access. A reusable module that launches an Amazon Linux 2023 Graviton instance with IMDSv2, encrypted gp3 and Session Manager instead of SSH, with validation that stops unsafe settings at plan time.

  • No inbound ports by default; SSH from 0.0.0.0/0 is rejected
  • 22 offline terraform test cases on a mocked AWS provider
  • CI runs fmt, validate, tests and tflint on two Terraform versions
  • Terraform
  • AWS EC2
  • IAM
  • Systems Manager