Cloud & DevOps internship candidate
I eliminate downtime and manual work. Built on the factory floor, now built on AWS.
Manufacturing engineer turned cloud infrastructure builder. CS&E student at University of Toledo | AWS Certified Cloud Practitioner
Two manufacturing internships taught me that the job cloud infrastructure and SRE roles actually reward finding the real root cause, fixing the system behind it, and proving the fix with a number, not a guess. At JAC Products, I traced a 9% defect rate to overprocessing and cut it to 2.5%. At Campbell Soup, I led 35+ employees across two shifts and cut micro-stoppages by 90%. That's floor experience and leadership already proven, not theory. I'm now pointing that same problem-solving at AWS, one certification and one real project at a time.
root-cause analysis
work orders
(uptime recovered)
two shifts
Where the numbers come from.
- Audited and restructured the Asset Essentials (CMMS) preventive maintenance system, cutting active work orders 67% (679 to 227) and daily tasks 87% (189 to 24). Eliminated a single point of failure by moving 187 tasks off one shared account to named owners.
- Standardized AutoCAD layouts across two plants (Saline: 223 to 76 layers, Napoleon: 120 to 72) and published the company-wide layer standard, training engineers and managers from five plants in the U.S. and Mexico to adopt it.
- Consolidated scattered supplier manuals into a single source of truth for the BLM ELECT63 tube bender, the company's first controlled tooling standard, approved through weekly reviews with engineering and leadership up to VP level.
- Root-caused a 9% paint rejection rate through five controlled trials across 400 rails and an on-site audit of the supplier's process. The data proved over-processing, cutting rejections 72% (to 2.5%) and removing one operator per cell.
- Led 35+ employees across 1st and 3rd shifts in 24/7 seasonal production, coordinating Engineering, Maintenance, Quality, Warehouse, and Sanitation to resolve equipment issues and keep the line stable.
- Replaced manual spreadsheet tracking with an automated, centralized call-off workflow in Microsoft Power Automate, adopted by 20+ departments and giving plant leadership real-time reporting.
- Improved line availability, cutting 8oz can micro-stoppages 90% (120 to 12/day) through data analysis and cross-functional fixes.
- Built and redesigned a WooCommerce/WordPress store for a vintage car emblem business, taking it from concept to launch in three months with 300+ products and payment and delivery integrations.
- Resolved 20+ tickets daily across Outlook, hardware faults, and user access issues, earning the team's highest service-quality score.
- Provisioned badge-based and digital user access permissions through ticketing, and trained five new interns.
- Dean's List: Fall 2024, Spring 2025, Spring 2026
- International Rocket Award Scholarship
- Member, AI/ML Club
- Student Worker, American Language Institute
Three projects on AWS. One of them is this page.
My take on the Cloud Resume Challenge. The page you are reading is the project: a static site on AWS behind its own domain, with a serverless backend and automated deploys.
Your visit was just counted: this page called API Gateway, which ran a Lambda that added one to a DynamoDB table.
A private S3 bucket (Block Public Access on) behind CloudFront with Origin Access Control and an HTTPS redirect. The bucket policy only lets that one distribution read it. gabrielluz.dev, bought on GoDaddy, points to CloudFront through a Route 53 hosted zone, with an ACM certificate issued in us-east-1 as CloudFront requires.
API Gateway HTTP API, a Python Lambda, and DynamoDB, using atomic updates. On-demand billing means the backend costs nothing when nobody is visiting.
The Lambda can call exactly one action, dynamodb:UpdateItem, on one table. The root account is locked with MFA, and a budget alert watches the bill.
Every push runs GitHub Actions, which signs in to AWS through OIDC with no stored keys, deploys to S3, and clears the CloudFront cache. The Lambda is unit-tested against a mocked DynamoDB.
The particle globe, galaxy and flowchart are Three.js shaders built with Claude Code, guided by Claude skills for Three.js and UI animation. I set the direction, reviewed each version, and kept it light enough to hold 60 fps on integrated graphics.
I misspelled "portfolio" when creating the DynamoDB table, then "fixed" the IAM policy to match my code, which only produced a new error. Tables can't be renamed, so the real fix was pointing the code and policy at the table that actually existed.
GitHub Actions kept getting AccessDenied even though every name matched the docs. CloudTrail showed that GitHub's OIDC token now carries numeric owner and repo IDs, and the trust policy needed those, not just the names.
Factory-floor CSVs land in S3 and trigger a Lambda that calculates OEE (Overall Equipment Effectiveness), writes the results to DynamoDB, and exposes them through API Gateway.
A public ALB, auto-scaling EC2 instances, and a Multi-AZ RDS database in private subnets, rebuilt from a manual setup into Terraform.
Let's talk about a role.
Based in Toledo, Ohio. Open to internships in cloud infrastructure, DevOps, and SRE.