The tools, services, and technologies I build with.
A rundown of the stack I reach for most — across cloud and serverless infrastructure, machine learning and data, and full-stack application development.
Cloud & serverless
AWS Lambda
My default compute for event-driven and serverless workloads, from APIs to ETL jobs and ML inference glue.
DynamoDB
Primary data store for high-throughput, low-latency workloads. I lean heavily on secondary indexes and streams to keep access patterns fast and reactive.
EventBridge & Step Functions
The backbone of the event-driven and orchestrated workflows I design — decoupling producers and consumers and coordinating multi-step pipelines.
Amazon S3
Durable object storage underpinning data lakes, static hosting, and pipeline staging.
CI/CD
Repeatable, automated build and deployment pipelines so changes ship safely and consistently.
Machine learning & data
TensorFlow
For building and training the predictive models behind operational forecasting pipelines.
Pandas & NumPy
The workhorses of my data engineering and feature work — wrangling, transforming, and analyzing data at scale.
Data lakes & feature stores
For organizing large-scale datasets and serving consistent features across training and inference.
Web & application
React.js & Redux
My go-to for building performant, maintainable front ends, with a focus on rendering efficiency and reusable components.
Node.js & GraphQL
For building APIs and services with flexible, typed data access.
Angular
Used across enterprise front ends, with dependency injection for modular, testable services.
Tailwind CSS
For building consistent, responsive interfaces quickly — including this site.
Webpack
For bundling and optimizing front-end builds.
Data stores & runtime
PostgreSQL & MySQL
Relational databases for transactional and analytical workloads.
Docker
For consistent, reproducible environments across development and deployment.