May 2025 – May 2026 · Houston, TX
Waste Management
- Software Engineer (Part-time) · Aug 2025 – May 2026 · Promoted from intern
- Software Engineer Intern · May 2025 – Aug 2025
Started as an intern modernizing a 20-year-old point-of-sale system used at 200 scale houses, then was promoted to part-time to fix a long-standing memory leak and automate manifest processing with Amazon Bedrock.
- RAM after fixing a memory leak
- −40%
- RAM after fixing a memory leak
- operator screens redesigned
- 30+
- operator screens redesigned
- manifest processing turnaround
- 1 wk → 2–3 days
- manifest processing turnaround
Finding the memory leak
Each form loaded its data into several DataSets. Closing the form never released them, so every navigation, even back to the same form, left another batch in memory.
Click a form to open it.
Forms opened: 0 · click any form to add your own
time into shift →
Before the fix
DataSets in memory: 0
every DataSet ever loaded is still held
After the fix
DataSets in memory: 0
a form's DataSets are released when it closes
Illustrative recreation with synthetic data. No company code, data, or internal tools.
Reading manifests with Amazon Bedrock
WASTE MANIFEST
1. Generator · site ID TX-GEN-48213
ACME METAL FINISHING CO.
1200 INDUSTRIAL BLVD, HOUSTON TX 77029
2. Transporter
ROADRUNNER TRANSPORT LLC
TX-TRN-91744
3. Designated facility
EASTSIDE DISPOSAL FACILITY
TX-FAC-30051
| 4. Description | No. | Type | Qty | Unit |
|---|---|---|---|---|
| INDUSTRIAL SLUDGE (NON-HAZ) | 4 | DM | 1,800 | P |
| CONTAMINATED SOIL | 1 | DT | 12 | Y |
5. Generator certification
Date shipped
11/04/25
Amazon Bedrock
waiting for a document
↓
Illustrative recreation with synthetic data. No company code, data, or internal tools.
The problem
Scale house operators weigh trucks and write tickets all day in a point-of-sale app that was 20 years old. It was slow to load, hard to read, and its memory use kept growing the longer it ran. Separately, waste manifests arrived as scanned forms that had to be read and entered by hand, so processing one took about a week.
What I built
Screens designed with operatorsIntern
I interviewed scale house operators about where the old system slowed them down and redesigned 30+ operator interfaces around those pain points.
Faster loadsIntern
Moving the data pipeline from synchronous calls to asynchronous lazy loading cut load times 15% across 200 scale houses.
A memory leak, found and fixedPart-time
Using Visual Studio Profiler I traced the leak to DataSets that each form loaded but never released, so every navigation added more. Releasing them when a form closes lowered RAM use 40% across 200 scale houses.
Manifests read by Amazon BedrockPart-time
Scanned manifests now go to a model on Amazon Bedrock that extracts each field into structured JSON, which is checked against a schema before it's saved. Processing turnaround went from about a week to 2–3 days.
Stack
- C#
- .NET
- Visual Studio Profiler
- Amazon Bedrock
- SQL
The illustrations on this page are recreations built for this site with synthetic data. They don't contain Waste Management's code, data, or internal tools.
Next case studyCotton Holdings