Just love computers, man.
I build backend systems and developer tools, mostly in Go and Python. I’m interested in what happens when things fail: a dropped request, an interrupted write, a backup that won’t restore.
FIU Computer Science · Class of 2026
LinkedIn · Merged contributions
Uber SubmitQueue — CI and merge orchestration
Traced failures across the Git, GitHub, Phabricator, and Buildkite integrations, then fixed places where error information was getting lost or bad data slipped through.
- #828 — validated the PR head on every GraphQL page, so a push mid-pagination can’t mix files from two revisions under one commit SHA.
- #774 — wired in HTTP error classification so transient responses such as 429 and 503 reach the retry policy.
- #781 — preserved Git error chains and cancellation identity, and registered the Git classifier.
- #806 — preserved GitHub API status errors so temporary metadata-fetch failures can be retried.
- #887 — preserved Phabricator Conduit status errors so rate limits and outages take the retry path instead of failing permanently.
- #834 — handled JSON
nullin Buildkite build metadata, fixing a nil-map panic in both the SubmitQueue and Stovepipe runners.
OpenAI CLI — command-line tooling
- #231 — fixed Zsh completion when the cursor is before trailing arguments; added regression coverage using the rendered shell script.
- #186 — eliminated shared mutable flags in parallel tests; verified with 100 shuffled race-detector runs.
A dependency health scanner for Go, npm, and PyPI. Combines vulnerability, deprecation, and release-staleness signals into a score you can gate CI on.



