Forward deployed engineer in Beirut. I build LLM agents and durable workflows, mostly in Python and C#, and I spend a fair amount of time in other people's codebases fixing what I run into.
MSc in Computer Science, AUB.
- Customer-facing LLM agents and the integration work around them
- Durable workflows: Temporal, retries, human approval steps, evaluation gates in CI
- Small fixes to the libraries I depend on
- #5723 test: restore /xhr to the WPT filter (merged)
- #5721 types: expose PendingInterceptor and PendingInterceptorsFormatter on the MockAgent namespace (merged)
- #5700 fix(cache): freshen the stored entry when a 304 extends its lifetime
- #5659 fix(cache): add response delay to corrected age value
domaindrivendev/Swashbuckle.AspNetCore
- #4129 Keep a property's own summary when comments come from several XML files (merged)
- #4128 Emit form encoding for properties of a complex form parameter (merged)
- #4133 Convert the last hand-written C# example to a MarkdownSnippets snippet (merged)
- #4115 Add coverage for AddServer across multiple documents (merged)
- #4116 Use Minimal APIs JSON options when MVC is not registered
- #2384 Provider-agnostic NULL semantics for unique indexes
- #2385 Only strip known literal prefixes in the FM0002 code fix
- #2383 Issue: NullsDistinct semantics inverted between Postgres 15 and earlier generators
- #3123 Close per-call OpenAI clients in gateway models



