AI engineer. I work on agent systems, LLM tooling and the unglamorous plumbing underneath them — streaming parsers, request translation, query generation, caching paths.
Most of what I enjoy is the same shape of problem: a value that is correct on one code path and quietly wrong on the one next to it. Below is where that has turned into upstream work.
13 merged pull requests across 8 repositories.
| Repository | Stars | PRs | Contribution |
|---|---|---|---|
| virgiliojr94/book-to-skill | 34.2k | 1 | #250 — strip Default_Ignorable invisible carriers during sanitisation |
| lingdojo/kana-dojo | 3.6k | 1 | #30170 — add a new common-mistake entry |
| spec-kitty/spec-kitty | 1.7k | 1 | #4798 — label query-mode preflight failures by consumer |
| sipyourdrink-ltd/bernstein | 1.4k | 1 | #6056 — report a crashed test file by its exit status |
| zostera/django-bootstrap5 | 452 | 4 | #881 — accept a lazy static() value as css_url / javascript_url / theme_url |
| PicPeak/picpeak | 329 | 1 | #1417 — regenerate missing thumbnails for already-uploaded videos |
| mkbhardwas12/pwned-deps | 164 | 1 | #15 — scan CycloneDX and SPDX documents as check input |
25 pull requests awaiting review.
| Repository | Stars | PRs | Contribution |
|---|---|---|---|
| NousResearch/hermes-agent | 252k | 1 | sandbox path handling |
| vllm-project/vllm | 93.4k | 4 | tool/reasoning parser fixes — multi-line JSON arguments, streaming argument loss, and an outlines regex validator that accepted patterns a finite automaton cannot express |
| CherryHQ/cherry-studio | 52.4k | 1 | forward the Windows system environment to the runtime child process |
| directus/directus | 38.3k | 1 | revisions sidebar reporting 0 updated fields for relational edits |
| drizzle-team/drizzle-orm | 36.0k | 1 | scope the MySQL check-constraint introspection join to its schema |
| oraios/serena | 30.1k | 1 | stop running an untrusted project's own tsserver |
| huggingface/lerobot | 28.0k | 1 | dataset episode handling |
| PipedreamHQ/pipedream | 11.7k | 1 | component fix |
| share/sharedb | 6.5k | 1 | validate ids and versions on the bulk and query-reconnect paths |
| ansible-collections/community.general | 1.1k | 1 | close pkg(8)'s stdin so it takes default answers instead of hanging |
| vikdevelop/SaveDesktop | 819 | 1 | a stray file at the cache path broke every save, permanently |
| haddocking/haddock3 | 276 | 1 | remove two sialylation loops that cannot fire |
| zostera/django-modeltrans | 79 | 8 | fallback behaviour, per-lookup annotations, lazy language resolution, distinct() support, type-checker resolution |
Python · TypeScript · Go · Django · PyTorch · pytest · vitest · PostgreSQL · Docker
