Staff engineer, distributed systems and money movement. I work on the correctness problems that only appear under retry, partial failure and concurrency — the class of bug whose symptom is a customer charged twice.
| Project | Stars | My contributions | ||
|---|---|---|---|---|
| Bug fixes | Features & docs | Reviews | ||
| addyosmani/agent-skills | ~92k | 1 + 1 | 1 + 1 | 6 |
| diegosouzapw/OmniRoute | ~60k | 4 + 1 | — | 7 |
| juspay/hyperswitch | ~44k | 3 | 1 | 7 |
| goauthentik/authentik | ~25k | 4 + 1 | 1 + 1 | 7 |
| lidge-jun/opencodex | ~13k | 2 | — | 8 |
| akitaonrails/ai-memory | ~5k | 2 | — | 4 |
| Total | ~239k | 13 + 6 | 2 + 3 | 39 |
Bold = merged; plain = open, under review. Counts link through to the pull requests.
Merged by those projects' own maintainers — addyosmani,
diegosouzapw (OmniRoute lead),
akitaonrails (ai-memory lead),
BeryJu (authentik lead), rissson,
dominic-r, lidge-jun
and Wibias.
Alongside the pull requests, 39 reviews on other contributors' work across the six projects — usually the more useful half. A representative one: on an OmniRoute combo-routing fix I traced a persisted routing pin back through both of its readers and flagged that clearing it unconditionally would discard a healthy provider. That review outlived the pull request it was left on, and the finding became its own change once I could measure which routing strategy it actually affected.
justonce · PyPI — make side effects happen exactly once. Idempotency keys, atomic claims, divergence detection and reconciliation for Python, with SQLite, Postgres and Django stores held to one shared conformance suite.
distributed-systems-skills — agent skills for production correctness: exactly-once semantics, and failure-mode analysis before the happy path is written.
retry-safe-payment-idempotency-artifact — a bounded TLA+ model and deterministic conformance artifact for retry-safe payments.
The authentik, hyperswitch, opencodex, agent-skills, OmniRoute and
ai-memory repositories under this account are forks, kept only because GitHub
requires one to open a pull request. A fork carries none of the upstream project's
stars; the contributions are the pull requests above.

