Sanitized labs & case studies · no company IP
Projects
Independent labs and sanitized write-ups of patterns I use in production work — each one framed as problem → approach → result, with real company specifics stripped out.
// containers
ECS Fargate microservice (lab)
Problem: deploy a containerized app on AWS without managing servers.
Approach: ECS Fargate + Terraform for IaC + GitHub Actions for CI/CD.
Result: fully automated, scalable container deployment.
AWSECSDockerTerraformGitHub Actions
CI/CD for containers
Approach: GitHub Actions workflow to build, scan, and deploy Docker images to ECR and ECS.
Result: automated image build and deployment pipeline with a security scan gate.
DockerECRTerraformSecurity
// production platform delivery
Production web platform delivery
Context: short-term contract to take a web platform from initial setup to production operation.
Responsibilities: designed CI/CD, configured domain and DNS records, deployed on Vercel with environment isolation, configured transactional email with Resend, and managed secrets and environment variables.
Result: a production-ready platform with repeatable deployments and an operational handover.
VercelCI/CDDNSResendSecrets Management
// serverless & integration
Event-driven serverless (Lambda + Step Functions)
Approach: API Gateway → Lambda → Step Functions with DynamoDB and CloudWatch.
Result: scalable, pay-per-use workflow with clear step-level observability.
LambdaStep FunctionsAPI GatewayDynamoDB
IoT telemetry ingestion
Approach: IoT Core → Lambda → S3 + DynamoDB for storage; CloudWatch for monitoring.
Result: a reliable telemetry pipeline for edge/IoT devices, the same pattern behind the resilient MQTT-to-S3 pipeline I run in production.
IoT CoreLambdaS3Kinesis
// infra automation
Packer + AMI build pipeline
Approach: Packer templates for secure, versioned AMIs integrated with Terraform.
Result: consistent base images across environments, fewer "works on one box" surprises.
PackerAMIEC2Terraform
Terraform AWS modules
Approach: modular IaC for VPC, ECS, and IAM roles.
Result: faster, reusable deployments and less copy-pasted infrastructure between environments.
TerraformAWSModules
// robotics labs & releases
Indoor and outdoor robotics simulation lab
Approach: Docker Compose-based simulation with deterministic and realistic modes, configurable indoor and outdoor environments, arena scenarios, and MQTT robot-state topics.
Result: repeatable end-to-end testing for multi-robot behavior, deployment configuration, and operator workflows before field qualification.
Docker ComposeSimulationMQTTE2E Testing
Field system release mechanism
Approach: OCI images pinned by digest and Git SHA, target-specific manifests, release-candidate identifiers, physical qualification evidence, and automated release commands.
Result: traceable, reproducible releases with offline-aware activation and last-known-good recovery for deployed field systems.
OCIGitHub ActionsRelease ManifestsOffline First
// data & identity
Oracle → AWS migration
Approach: AWS DMS for migration, schema conversion, and validation.
Result: low-downtime, secure cloud migration off an on-prem Oracle database.
OracleAWS DMSRDS
Azure AD integration
Approach: Azure AD (Entra ID) SSO and OIDC-based access provisioning for identity management.
Result: unified, least-privilege identity across platforms — the same pattern implemented at enterprise scale for Bayer.
Azure ADSSOOIDC