currently building Sendy · based in Iraq

Ahmed
Imad Tarq

Full-Stack Developer Backend-Focused

I design and ship multi-tenant platforms for fintech, logistics, and AI-enabled operations — backend-first architecture in ASP.NET Core (.NET 8) and PostgreSQL, carried through to production with real integrations, real-time flows, and code that holds up under load.

Portrait of Ahmed Imad Tarq at a fintech hackathon final ceremony
Fintech Hackathon — final ceremony
xUnit tests shipped
676
API controllers built
163
Hackathon podiums
4
Payment & delivery integrations
8

Backend-first, product-minded

I'm a full-stack developer who starts from the data model and works outward — clean layered architecture, careful API design, and security that's built in rather than bolted on: JWT and API-key auth, role-based access control, and tenant-aware authorization across every endpoint.

Most of my work lives where systems meet the real world: third-party delivery companies, payment gateways, telephony providers, and AI services. That means webhook outbox/retry patterns, HMAC verification, background processing with Hangfire, and audit trails — the unglamorous infrastructure that keeps a platform trustworthy.

On the frontend I work in Vue, React, and TypeScript, closing the loop from database migration to the screen a customer actually touches.

Where I've worked

  1. Apr 2026 — Present Current

    Full-Stack Software Developer · Sendy

    Building a multi-tenant delivery and e-commerce operations platform (ASP.NET Core .NET 8, PostgreSQL, React 19). Delivering end-to-end features across a 163-controller API and five frontends — admin dashboard, driver app, storefront, customer mini-app and developer docs: delivery-provider and payment-gateway integrations, custom-domain storefronts, real-time order tracking, omnichannel messaging, and AI-powered store tooling.

  2. Oct 2025 — Apr 2026

    Full-Stack Software Developer · Qi Card

    Delivered mini apps end-to-end on the SuperQi platform over six months — from requirement analysis through implementation to deployment — using ASP.NET Core (C#), Vue, React, and Svelte.

  3. Sep 2025 — Mar 2026

    Professional Training · The Empowerment Lab “Jahiz”

    Structured professional development program: project management, communication and leadership, market research, critical thinking, marketing, sales, and personal branding.

    All eight modules
    • Project Management (Advanced)Planning, coordination and teamwork foundations in project environments.
    • Communication & LeadershipPresentation quality, teamwork and problem-solving.
    • Critical ThinkingStructured problem analysis and decision-making.
    • Market ResearchIdentifying market needs and analysing opportunities.
    • MarketingPositioning and communicating product value.
    • SalesCustomer-oriented pitching and sales communication.
    • Personal BrandingDeveloping professional identity and communication.
    • Microsoft Office WorkshopPractical Word, Excel and PowerPoint.
  4. Aug 2025 — Oct 2025

    Full-Stack Software Developer · Pythoner Company

    Worked in an agile environment across sprints, stand-ups, and code reviews, translating business requirements into technical solutions.

Education

Oct 2023 — Jun 2027

B.Sc. Mechatronics Engineering

UOB University · Iraq

Arabic · English

Languages

Arabic (native) · English (professional working proficiency)

Selected work

Sendy

Multi-tenant delivery & e-commerce operations platform

  • ASP.NET Core .NET 8
  • PostgreSQL
  • EF Core
  • SignalR
  • Hangfire
  • React 19
  • TypeScript
  • Claude & OpenAI
  • MCP
  • Cloudflare
sendyiq.com
  • Clean layered architecture at scale — 163 controllers, 90 domain entities, 55 migrations, backed by 676 xUnit tests.
  • Every store capability ships on two surfaces: JWT for the dashboards and a parallel API-key surface for external systems, guarded by 231 permissions across 679 endpoint checks with per-key rate limiting.
  • Pluggable provider framework integrating three delivery companies (Al-Waseet, Boxy, Hi-Express) and five payment gateways (QiCard, AsiaPay, ZainCash, Wayl, SwiftPayIQ) with HMAC-verified webhooks and automatic order sync via EF Core interceptors.
  • Real-time order tracking and customer chat over three SignalR hubs, tokenized public tracking links, and storefronts on slug subdomains and Cloudflare-verified custom domains.
  • Omnichannel messaging — WhatsApp, Instagram, Messenger and website chat funnel into one conversation model answered by the store's chosen AI agent (Anthropic or OpenAI), metered per store for billing.
  • An OAuth-secured MCP server with dynamic client registration and scoped tokens, exposing store operations to AI agents.
  • Full retail operations beyond delivery: inventory, purchase orders, suppliers and warehouses, a cashier POS with thermal label and receipt printing, KYC verification, support tickets, ratings and expense tracking.
  • Fintech workflows end-to-end — wallets, commissions, cash handover, payouts, invoices, and subscription billing.
  • Five React 19 + TypeScript frontends — admin dashboard, driver app, landing and storefront, customer mini-app, and a Next.js developer-docs site — all Arabic/English.
Sendy platform architecture Three kinds of caller reach the same API. The dashboards, the driver app and the storefronts authenticate with JWT; external store systems authenticate with an API key against a parallel surface that mirrors every store capability; public tracking links carry a scoped token and no credentials at all. All three land on one ASP.NET Core API of 163 controllers over 90 domain entities, where 231 named permissions are enforced across 679 endpoint checks, scoped to the caller's tenant, with per-key rate limiting. Behind the API sit four capabilities: a pluggable provider framework, three SignalR hubs, the AI agent together with an OAuth-secured MCP server, and the wallets and payouts subsystem. The provider framework drives three delivery adapters — Al-Waseet, Boxy and Hi-Express — and five payment gateways — QiCard, AsiaPay, ZainCash, Wayl and SwiftPayIQ. Everything settles into PostgreSQL through EF Core across 55 migrations, where inbound webhooks are HMAC-verified, outbound delivery is retried from an outbox by Hangfire jobs, and a SaveChanges interceptor writes the audit log automatically rather than at each call site. Dashboards · driver · storefront JWT External systems API key Public tracking tokenized link ASP.NET Core (.NET 8) API · 163 controllers · 90 entities 231 permissions · 679 endpoint checks · tenant-scoped · per-key rate limiting Provider framework SignalR · 3 hubs AI agent + MCP Wallets · payouts Delivery adapters Al-Waseet · Boxy · Hi-Express Payment gateways QiCard · AsiaPay · ZainCash · Wayl · SwiftPayIQ PostgreSQL · EF Core · 55 migrations HMAC-verified webhooks → outbox + retry → SaveChanges interceptor → audit log
Request path, provider framework, and the write path that produces the audit trail
Sendy omnichannel messaging and AI agent Four inbound channels — WhatsApp, Instagram, Messenger and the website chat widget — all normalise into a single conversation model carried over two SignalR hubs, holding inbound and outbound messages, per-store channel credentials and delivery status. Each store selects its own AI agent, and the chosen model is validated against a provider registry so a store can never pick a model the backend has no client for. Two providers are supported: Anthropic, offering Claude Opus 4.8, Sonnet 5, Sonnet 4.6 and Haiku 4.5; and OpenAI, offering GPT-4o and GPT-4o mini. Replies are dispatched by a Hangfire background job, and every message is metered per store so usage rolls into the billing cycle and onto the invoice. WhatsApp Instagram Messenger Website chat One conversation model · 2 SignalR hubs inbound + outbound · per-store channel credentials · delivery status Store-selected AI agent · model validated against a provider registry Anthropic (Claude) opus 4.8 · sonnet 5 · sonnet 4.6 · haiku 4.5 OpenAI (GPT) gpt-4o · gpt-4o-mini AiMessageDispatchJob · Hangfire per-store usage metering → billing cycle → invoice lifecycle
Four channels, one conversation model, and the agent each store picks for itself
Architecture & decisions

Constraint

Three delivery companies and five payment gateways, each with its own contract, credential model and status vocabulary — and six kinds of caller (admin, store, branch, delivery company, e-commerce platform, driver) who all see the same order differently. On top of that, every store capability has to be reachable twice: once by our own dashboards and once by a merchant's existing ERP or storefront.

Approach

One provider interface with per-store credentials, so adding a fourth courier is an adapter rather than a branch in shared code. Authorization is permission-based at the endpoint rather than role-based at the controller — 231 named permissions checked at 679 call sites — so a new caller type does not require re-auditing every action. The integration surface is a genuine second set of controllers over the same services rather than the same endpoints with a looser guard, so an API key can never accidentally inherit a dashboard's reach. Audit logging hangs off an EF Core SaveChanges interceptor instead of each call site — a write cannot be added that forgets to record itself.

Trade-off

Two surfaces over one service layer means roughly a third more controllers to keep in step, and a capability is not shipped until both are done. That is a real and recurring cost. It buys the ability to change the dashboards without breaking a merchant's integration, which on a platform other businesses build against is worth more than the controllers it costs. Interceptor-driven auditing makes the same kind of trade: the write path is no longer visible at the point of the call, but coverage is guaranteed rather than remembered.

Outcome

163 controllers over 90 entities and 55 migrations, backed by 676 xUnit tests, running in production with eight provider integrations, custom domain storefronts, real-time tracking, omnichannel messaging and five React frontends.

Nawa

Multi-tenant AI call-center & service operations platform

  • ASP.NET Core .NET 8
  • PostgreSQL
  • WebRTC
  • OpenAI
  • Twilio
  • Hangfire
  • Multi-tenant AI operations API with layered Domain/Application/Infrastructure/API architecture.
  • JWT and API-key security with tenant-aware authorization and middleware policy enforcement.
  • Real-time AI interaction flows — chat, speech-to-text, text-to-speech, WebRTC SDP exchange, and WebSocket telephony bridging with OpenAI and Twilio.
  • Policy-driven tool orchestration, webhook outbox/retry strategies, and auditable external action execution.
  • Billing and monetization: usage metering, pricing logic, top-up/payment flows, billing cycles, and invoice lifecycle controls.
Nawa realtime call pipeline Two kinds of caller reach the platform: telephone callers bridged in over Twilio, and browser callers connected by WebRTC SDP exchange. Both land on a multi-tenant ASP.NET Core API built in layered Domain, Application, Infrastructure and API projects, where JWT and API-key authentication is followed by tenant-aware authorization and middleware policy enforcement. Audio then runs through a realtime chain: speech to text via OpenAI, policy-driven tool orchestration, and text back to speech. Tool calls fan out to two subsystems — auditable external action execution with an outbox and retry on Hangfire jobs, and the metering path that turns usage into pricing, billing cycles and invoices. Both persist to PostgreSQL under the same layered separation. PSTN caller · Twilio Browser caller · WebRTC SDP Multi-tenant AI operations API · .NET 8 · layered architecture JWT + API key → tenant-aware authorization → middleware policy enforcement Speech → text · OpenAI Policy-driven tool orchestration Text → speech Auditable external actions outbox + retry · Hangfire jobs Usage metering pricing → billing cycles → invoice lifecycle PostgreSQL · tenant-scoped data Domain / Application / Infrastructure / API layering
The realtime path from a ringing phone to a spoken answer, and where the money is counted
Architecture & decisions

Constraint

A phone call has no retry. Audio arrives as a stream that has to be transcribed, reasoned over and answered inside the window where a human caller is still willing to wait — while the same platform serves multiple tenants whose data must never meet.

Approach

Tenancy is enforced in middleware ahead of any handler, so isolation is a property of the request pipeline rather than a rule each endpoint has to remember. Tool calls the model can trigger are policy-driven and executed through an outbox, which makes them replayable and auditable — the model proposes an action, the platform decides whether it is allowed and records that it happened.

Trade-off

Routing side effects through an outbox adds latency to exactly the path that can least afford it. It is worth it for anything with consequences outside the call — a payment, a booking, a message — and deliberately bypassed for actions that only affect the conversation itself.

Outcome

A multi-tenant AI call-center platform carrying its own billing: usage metering, pricing, top-up and payment flows, billing cycles and invoice lifecycle, all metered off the same events that drive the conversation.

Madhmoon

Fintech innovation project for digital inclusion in Iraq

  • Fintech
  • Product design
  • Team delivery
  • First place at the Fintech Hackathon. Co-developed a fintech concept focused on expanding digital inclusion and practical financial technology in Iraq.
  • Designed, validated, and presented a high-impact solution with a multidisciplinary team under tight time constraints.
  • Sharpened product thinking and technical communication from ideation through final pitch.

Technical skills

Backend

  • ASP.NET Core (.NET 8)
  • Laravel
  • FastAPI
  • REST API design
  • JWT / API-key auth
  • RBAC
  • Tenant-aware authorization
  • Clean layered architecture

Realtime & integrations

  • SignalR
  • WebSocket flows
  • WebRTC SDP
  • OpenAI
  • Twilio
  • Anthropic Claude & MCP
  • Webhook outbox / retry
  • Provider integrations

Databases & data

  • PostgreSQL
  • SQL Server
  • EF Core
  • Database design
  • Migrations
  • Usage metering

Frontend

  • Vue.js
  • React
  • JavaScript / TypeScript
  • Responsive UI
  • API integration

Tools & practices

  • Hangfire
  • Git / GitHub
  • Docker
  • Unit testing
  • Logging
  • Exception handling
  • Secure secret handling

Hackathons & awards

Top 1

Fintech Hackathon — Madhmoon

Madhmoon, a fintech concept for digital inclusion in Iraq: co-developed and pitched a high-impact solution with a multidisciplinary team under tight time constraints, taking first place.

Top 1

First ITS Hackathon — OCR

NANO, an AI OCR platform: co-developed a web application that extracts and digitizes text from images in real time, pairing machine learning with a production-ready web interface.

Top 2

Second ITS Hackathon — Core Banking

Co-designed a core banking system concept addressing transactional flows, consistency requirements, and practical fintech use cases.

Top 2

Entrepreneurship Week — Form Builder

Built a form builder under hackathon constraints, focused on usability, rapid execution, and collaborative delivery.

Let's build something

Open to backend and full-stack roles — remote or Iraq-based

Have a platform to build, an integration to untangle, or a team that needs a backend-minded full-stack developer? I'd like to hear about it.