I’m a software engineer who enjoys the seams between product and infrastructure: reliable Go services, thoughtful Python tooling, local-first AI, and financial software that takes correctness seriously.
I like useful software, clear interfaces, and the occasional rabbit hole that starts with “surely this can be simpler.”
- Halal Protocol — a CPI-indexed stablecoin reference protocol. Immutable Solidity contracts, Foundry verification, signed CPI reports, and a Next.js dApp. Unaudited and explicitly labelled as such.
- Chronly — a calm, private clock, timer and focus workspace for Chrome and Firefox. No accounts, no telemetry.
- Geoq — a Persian-first local AI travel guide for Qeshm Island, built on FastAPI and LangGraph.
I send small, self-contained fixes upstream — bugs, hardening, missing test coverage, and the occasional translation. Some that landed:
| Project | Change |
|---|---|
| SciPy | Fixed silently dropped options in firwin_2d. |
| OpenCloud | Made the auth middleware reject empty OIDC providers instead of misbehaving. |
| OpenCloud | Stopped invalid photo exposure metadata from breaking search indexing. |
| OpenCloud Web | Bounded a file-ID match that could span the wrong space. |
| OpenCloud Web | Shared a leaked per-tooltip Escape listener. |
| OpenCloud Web | Preserved lazy-loaded tile height to stop layout jumps. |
| KPrompt | Added coverage for shell quoting and sanitization helpers. |
| Open WebUI | Filled in the missing Farsi translations. |
| Material UI | Fixed CircularProgress wobbling on IE 11. |
Currently in review upstream: Traefik (preserve the original auth URI), Ruff (UP040 multiline grouping), curl (CMake HTTP_ONLY and SSL verification reporting), Poetry (sdist extraction on older Pythons), nFPM (optional deps in Arch packages), and Jupyter Server (ignore checkpoint directories).
If you’re hiring someone who can move comfortably from a product idea to the sharp edges of production, I’d be happy to talk. The best way to reach me is to open an issue on whichever of my projects brought you here.



