Open to senior backend roles · Istanbul · Remote

Ahmed Mahdyأحمد مهدي

builds the backends that run real businesses.

Senior software engineer, eight years in Python. A law firm's whole practice, a pharmacy delivery network, a travel marketplace and an AI research assistant that shows its evidence: designed, shipped and kept running.

8+years shipping Python systems in health, legal-tech, e-commerce and AI
132real product screens on this page, from six products I built
80+table PostgreSQL schema designed and run for Avey's pharmacy platform
16open-source projects in Python, Rust, Go and TypeScript
Selected work

Products I own end to end

أعمال مختارة

From the data model to the deploy, and the support afterwards. Every screenshot below is the real product on demo data. Click any screen to open it; use the arrows to move through a set.

Legal-tech SaaS2025 to nowFounder & lead engineer

Mizan ميزان

A multi-tenant platform that runs an entire law firm, fully bilingual Arabic and English. Firms across Qatar, Egypt and Saudi Arabia use it every day.

  • Multi-tenant core. Strict per-firm data isolation, granular RBAC with firm-defined custom roles and seat caps.
  • Case lifecycle. Cases, court sessions and verdicts, powers of attorney, invoices, instalments and a billable-hours tracker.
  • AI legal assistant. A tool-calling agent over 24 resources with a confirm-every-write policy and self-hosted Arabic speech-to-text.
  • Arabic-first search. Full-text search over legislation and cassation rulings, OCR for scanned filings, Celery Beat crawlers keeping the library current.
  • Three surfaces. React web workspace, a Flutter client portal with firm-code login, and a bilingual marketing site with a demo funnel.
PythonFlaskPostgreSQLCeleryRedisReact + TSFlutterDockerGitLab CI

All screens

Agentic AIOwn productDesign & build

Fahem فاهم

A research assistant for scientific literature that answers only from evidence it retrieved, and shows you that evidence.

  • Plan, act, verify. A LangGraph agent classifies the question, plans typed tool calls, runs independent ones concurrently and checks the answer against its sources.
  • One authorisation choke point. Every tool sits behind it; documents are filtered by the caller's clearance.
  • Human approval. A destructive request pauses until a different person approves it.
  • Evaluation gates CI. Suites score every change; per-run tokens, cost and latency are recorded.
  • Runs offline. A deterministic provider means the whole graph works with no API key.
FastAPIPydantic v2LangGraphpgvectorSQLAlchemy 2CeleryMCPReactTerraform · AWS

All screens

Travel marketplaceBackend · mobile · web

Nomad & TripPro

A consumer travel app and the operations console behind it. Travellers book places, packages, events and activities from local suppliers and pay by card.

  • Flutter app on Clean Architecture. Feature-first modules, no cross-feature imports, an event bus between features.
  • Payments. Paystack checkout with instant and on-request booking, reconciliation and agency payouts.
  • Role-aware dashboard. One React codebase serves platform admins and agencies, gated by a permission whitelist.
  • Quality as a build step. A design-system ratchet fails CI when a file adds hardcoded colours, spacing or strings.
  • Website and CMS. A purpose-built CMS so the business edits pages and policies without a redeploy.
Django · DRFFlutterReact + TSRTK QueryPaystackCloudinaryFastlaneGitLab CI

All screens

iOS and Android from one Flutter codebase, usable before sign-in.

EdTechFull-stack & mobile

Kids Above

An English-learning platform for children. Kids draw, write and record in a Flutter app; teachers review it all from a dashboard.

  • Child app. Alphabet units, reading, writing, listening and speaking, a drawing canvas and voice recording, with large touch targets and audio-first instructions.
  • Teacher console. Classes, curriculum, per-skill checklists and review queues for every drawing and recording.
  • Async by design. Django with dedicated Celery queues for default, email and SMS work, Celery Beat schedules, Flower monitoring.
  • Subscriptions. Plans, a free tier, hosted checkout and webhook-driven subscription state.
Django · DRFCeleryRedisPostgreSQLReact 19 + TSRedux ToolkitFlutter
iOS · Android · Web dashboard Alphabets unit Art unit

Brand, unit artwork and the in-app assistant character from the Flutter app.

E-learning & commerceFull-stack

Banan بَنان

A bilingual platform for live Arabic calligraphy: courses, books and one-to-one tutoring, with Zoom sessions created automatically.

  • Commerce. Catalogue, cart and checkout, then access to enrolled content.
  • Live tutoring. Booking and scheduling with sessions provisioned through Zoom's Server-to-Server OAuth API.
  • Certificates. Generated automatically on completion.
  • One codebase, two directions. Arabic RTL and English throughout.
FlaskSQLAlchemyPostgreSQLReact · ViteZoom APIDocker · Nginx

All screens

Digital healthAvey · Doha · 2018 to 2023Senior engineer

Avey

Five years leading the backend of a digital-health app and the pharmacy systems behind its e-commerce.

  • Predictive dispatch. scikit-learn and K-means demand zones, plus an order-splitting algorithm using traffic, driver load and queue data across pharmacies.
  • Odoo Inventory. Custom fields, models, workflows and views, integrated with Sales and Purchase so stock updated itself.
  • Data. A PostgreSQL schema of 80+ tables, Elasticsearch catalogue search, Redis caching.
  • Rimads. Patient and pharmacist consultation with text, voice notes and medication logs.
  • Infrastructure. Owned the backend infrastructure and CI/CD.
PythonDjangoPostgreSQLOdooscikit-learnElasticsearchRedis
Order3 items Split decisionone pharmacy?else fewest Pharmacy A2 items Pharmacy B1 item Driverdistance · trafficload · queue greedy set cover weighted score

Read it left to right: fulfil from one pharmacy when it holds everything, otherwise split across the fewest, then rank drivers by a weighted cost.

Open source

Sixteen small repos, one hard problem each

مفتوح المصدر

Overselling, double charges, webhooks that fail, tenants that leak: each project is a readable reference for one of these, with tests and a README that explains the why.

stockhold

Python

Inventory reservations for checkout. Two shoppers never get the last unit; a retried click never creates a second order.

FOR UPDATESKIP LOCKEDIdempotency-Key

ledgerline

Python

Double-entry ledger API. Balanced by construction, append-only, idempotent transfers, events through a transactional outbox.

FastAPIoutboxSQLAlchemy 2

hookrelay

Python

Webhook ingestion and delivery: HMAC verification, dedupe, retries with backoff, per-endpoint circuit breaker, replayable dead letters.

Celerycircuit breakerDLQ

throttlekit

Python

Rate limiting with five algorithms, atomic Redis Lua scripts and an ASGI middleware that answers 429 with Retry-After.

GCRAtoken bucketRedis Lua

docsage

Python

Readable RAG service: chunking, pgvector retrieval with MMR re-ranking, cited answers, and an eval harness that fails CI on regressions.

pgvectorMMRevals

pgscout

Python

Read-only PostgreSQL MCP server for agents: guarded SQL, schema allowlist, column redaction, EXPLAIN summaries and an audit trail.

MCPJSON-RPCpsycopg

clausekit

Python

Arabic and English contract clause extraction for Gulf legal documents. Splits, classifies and flags risk with traceable rules.

Arabic NLPCLIFastAPI

dispatchwise

Python

Pharmacy order dispatch: greedy set-cover splitting, weighted driver scoring and KMeans demand zones, with explainable cost breakdowns.

set coverKMeansFastAPI

logpulse

Python

Streaming log analytics in one process: windowed metrics, latency percentiles, top paths and an EWMA z-score anomaly detector.

t-digestCount-MinEWMA

emberkv

Rust

Bitcask-style key-value store: CRC-checked append-only segments, crash recovery, compaction with hint files, a TCP server.

storage enginefsync policy

tabsql

Rust

SQL over CSV and TSV files from one binary. Hand-written tokenizer, parser, planner and executor.

query engineCLI

switchyard

Go

Reverse proxy and load balancer on the standard library: four strategies, health checks, safe retries, hot reload on SIGHUP.

consistent hashingnet/http

pulsewatch

Go

Self-hosted uptime monitor with a status page. HTTP, TCP and DNS checks, flap-suppressing state machine, incident history.

SQLitesingle binary

tenantforge

Django

Multi-tenant SaaS starter where the ORM refuses to read tenant data without an active tenant. Roles, API keys, plan limits.

DRFrow-level isolation

fatoora

TypeScript

Bilingual invoice builder for Gulf businesses: RTL, three-decimal currencies, per-rate VAT, amounts spelled out in Arabic.

React 19integer money

taskloom

TypeScript

Offline-first Kanban in IndexedDB with undo and redo, fractional ordering, schema migrations and keyboard drag and drop.

Reactzoddnd-kit

All repositories live at github.com/asmahdy1420-cmyk.

Experience

Eight years, six teams, one habit: ship it and keep it running

الخبرة
  1. Jan 2025 – now

    Founder & Lead Engineer

    Independent · Istanbul, remote

    Architected and built Mizan end to end, plus Nomad, Kids Above and Banan. I own client requirements, delivery and support directly.

  2. Apr 2025 – Dec 2025

    Backend Engineer, AI trading platform

    Liquify AI · via Proxify, part-time

    Backend for AI agents trading crypto tokens: real-time ingestion on Lambda, SQS and DynamoDB, low-latency APIs, containerised services on ECS at 99.9% uptime.

  3. Mar 2024 – Jan 2025

    Python Prompt Engineer, LLM backend

    Turing · remote

    Prompts and backend services for LLM customer support; evaluation and fine-tuning pipelines that cut hallucination, latency and error rates.

  4. Apr 2022 – Mar 2024

    Senior Software Engineer

    Yobi · AI customer service, remote

    High-throughput APIs for LLM integration on Python microservices and AWS; owned performance, fault tolerance and cost.

  5. Oct 2023 – Apr 2024

    Software Engineer

    Audteye · healthcare, part-time

    Clinic scheduling backend in Django, Redis and Celery behind a doctor app, a patient app and an admin dashboard.

  6. Oct 2022 – Apr 2023

    Software Engineer

    Qatar Computing Research Institute · contract

    FastAPI services for NLP and text classification with token auth and RBAC; CI tests on GitHub Actions; scikit-learn forecasting.

  7. Feb 2018 – Feb 2023

    Senior Software Engineer

    Avey · digital health, Doha

    Led backend design of the Avey app and pharmacy systems: predictive dispatch, Odoo Inventory customisation, an 80+ table schema, Elasticsearch search.

  8. 2017

    BSc Electrical & Electronics Engineering

    Near East University · GPA 3.63
Toolbox

What I reach for

الأدوات

Backend

Python, Django & DRF, FastAPI, Flask, Celery, SQLAlchemy 2, Pydantic. REST design, multi-tenancy, RBAC, idempotency.

Data

PostgreSQL, pgvector, Redis, Elasticsearch, DynamoDB, MongoDB. Pandas, NumPy, scikit-learn.

AI

Tool-calling agents, LangGraph, RAG, evaluation pipelines, MCP servers, OCR and speech-to-text.

Cloud & ops

AWS (Lambda, ECS, SQS, S3, IAM, CDK), Terraform, Docker, Nginx, GitLab CI, GitHub Actions.

Frontend & mobile

React + TypeScript, Redux Toolkit, Vite, Flutter and Dart, full Arabic RTL support.

ERP & quality

Odoo Inventory, Sales and Purchase. pytest, Vitest, Playwright, CI gates and design-system ratchets.

Get in touch

Have a system that has to be right? Let's talk.

Istanbul, Türkiye · GMT+3 · remote or hybridArabic (native) · English (fluent) · Turkish (basic)