Into networks, but AI/ML most of all.
I like staying in touch, so feel free to message me.
Mostly JS/TS and Python.
I like reading other people's code. When I find a bug in a library I send a small fix with a test.
Dynamic-RTL: a browser extension for Chrome, Firefox and Safari. It finds Persian or Arabic text on a page and switches it to right-to-left with the Vazirmatn font. Handy on chat apps, X and any page that mixes Persian and English.
Some projects where my PRs got merged:
| Project | Area |
|---|---|
| react-hook-form | Form state, validation, field arrays (18 merged) |
| nodemailer | SMTP pool, MIME, cookies (7 merged) |
| meilisearch-js | Tenant tokens, request options, errors (5 merged) |
| woocommerce | Receipts, Blocks order confirmation (2 merged) |
| next-intl | Route params, base path cookie (2 merged) |
| AutoGPT | Backend type conversion (2 merged) |
| dify | CSRF path matching (1 merged) |
| KiroCrew | Memory retention setting (1 merged) |
| OmniRoute | Request translator (1 merged) |
| data.gov | Metrics CSV encoding (1 merged) |
| design-system-react | Tabs keyboard support (1 merged) |
Full list
react-hook-form/react-hook-form
- #13725 FileList in flatten and FormData
- #13727 nested container errors
- #13730 parent error with only nested errors
- #13731 resolver root errors on submit
- #13732 trigger on a parent field
- #13733 stale resolver result after reset
- #13734 leftover state after replace()
- #13735 resetField validating state
- #13736 nested delayError timers
- #13737 criteriaMode updated at runtime
- #13738 dirty state with setValueAs
- #13739 dirty state for removed rows
- #13750 null field array default
- #13758 removed register rules
- #13761 stale built-in validation after reset
- #13765 deps revalidation on setValue
- #13767 stale field array root error
- #13769 delayError timers on resetField
nodemailer/nodemailer
- #1859 well-known service domains
- #1861 cookie Path matching
- #1862 httpHeaders and tls for href alternatives
- #1863 error when SES client is missing
- #1865 Buffer input in base64 mime words
- #1866 rate limited pool connections on close
- #1867 line breaks in multipart boundary
meilisearch/meilisearch-js
- #2229 redact Authorization in timeout errors
- #2230 non-ASCII tenant tokens
- #2234 non-JSON error bodies
- #2235 per-request extraRequestInit
- #2236 single string fields in getDocument
woocommerce/woocommerce
amannn/next-intl
Significant-Gravitas/AutoGPT
langgenius/dify
- #42118 exact match for CSRF whitelist paths
kirodotdev/KiroCrew
- #8246 negative keep_days
diegosouzapw/OmniRoute
- #12691 non-array tool_calls
GSA/data.gov
- #6322 UTF-8 CSV downloads
cfpb/design-system-react
- #642 Tabs roving tabindex
| Merged upstream PRs | Repos with merges | Languages I ship |
|---|---|---|
| 41 | 11 | TypeScript, Python, JavaScript |
The issues on this repo are open. Feel free to ask me about anything: https://github.com/soroush5/soroush5/issues


