Software engineer building cloud infrastructure at scale.
SDE II on the AWS CloudFormation StackSets team. Currently focused on Infrastructure as Code — designing systems that help customers manage their cloud environments across thousands of accounts.
Software Development Engineer II · promoted from SDE I in 2024
CloudFormation StackSets · Infrastructure as Code
Lead design for complex features enabling customers to bridge security compliance gaps and expand customization — spanning task state management, cross-service communication, security changes, and a public API.
Lead expansion of the service to new AWS regions across commercial and ADC partitions; serve as subject matter expert for region builds within the team.
Ran comprehensive load tests to scale the service from a 15,000 to 50,000 account limit, eliminating stuck operations and recurring service alarms.
Own the full project lifecycle — design, implementation, testing, documentation, deployment — across all AWS regions.
Reduced on-call load by ~25–30% by designing a new locking mechanism in a serverless service to resolve a race condition.
May — Aug 2021
NCR Corporation
Software Engineer Intern
Atlanta, GA
Built a microservice integrating internal services with Google Business APIs using Loopback, OpenAPI specs, GCP SQL/Scheduler, and an Angular frontend.
Connected the microservice to an existing .NET codebase — frontend in JavaScript (ExtJS), backend in C#.
Documented APIs with Swagger and managed deployment with Kubernetes and Argo CI/CD.
Aug — Dec 2020
Openwater VC
Software Engineer Intern
Atlanta, GA
Developed a React Native application for the startup Saymile.
Built a Node.js/Express backend with Firebase supporting messaging, group ordering, order tracking, and phone number authentication.
II.
Projects
2025
AI Website Auditor
Serverless · event-driven · LLM vision
A personal project — submit a URL, get a UX critique.
A user submits a website URL. The system screenshots the rendered page with headless Chromium, sends the image to a vision LLM for a usability critique, and stores the result for retrieval — all on an asynchronous, serverless pipeline. Tap a component to see its role.
Submit (sync): a row lands in DynamoDB as PENDING. Process (async): the table's stream fires the router, which enqueues to SQS; the worker screenshots, audits, and writes back. Retrieve: poll for status and a presigned screenshot URL.
Tap a component above for details.
Stack: API Gateway · Lambda (Node.js) · DynamoDB Streams · SQS · S3 · headless Chromium · vision LLM. The design is fully event-driven: writing a row to DynamoDB emits a stream event that drives the rest of the pipeline — no polling. A router consumes the stream and hands off to SQS, so the slow screenshot-and-audit work (a 30+ second browser render) runs on the queue with its own retries and back-pressure, never blocking the stream shard iterator or the API response.
Try it liveDemo offline
Enter a public website URL and the pipeline will screenshot it and return an AI usability critique. Takes ~30–60 seconds end to end.
QueuedScreenshotAnalyzingDone
The live demo is switched off while backend rate limits and spend caps are being finalized. The architecture above is fully built and deployed.
Managed a team of frontend and backend developers building a Swift iOS application with minigames to increase mid-game fan interaction and safety at Bobby Dodd Stadium.
Aug — Nov 2020
Independent Research
Undergraduate Researcher · Georgia Tech
Created a demo for the paper "Feel The Music: Automatically Generating A Dance For An Input Song" with Professor Devi Parikh — using MFCC audio features and Markov states with beam search to generate dance videos from songs.
V.
Colophon
This site
Deployed on AWS
Static site · Infrastructure as Code
A small homage to the day job.
The whole stack is declared in a single CloudFormation template; content updates ship via a shell script that syncs S3 and invalidates the CloudFront cache. Tap a component below to see what it does.
Request flow: DNS resolves via Route 53 → CloudFront serves over HTTPS with the ACM cert → origin fetched from a private S3 bucket via OAC.
Tap a component above for details.
Typeset in Fraunces & Inter. Built by hand, deployed by template.