DAAD scholar, PyTorch contributor, first place in two hackathons. I take a hard problem from raw data to a product people use, and I move fast because AI is my team.

Portrait of Eyad Qasim Raheem

Epoch 00 · What I bring

One engineer, from data to product.

My core is machine learning, and I have given it years. I prepare the data, train and fine-tune the model, measure it honestly, and find the leak that makes a number lie. PyTorch’s maintainers have merged my code, and Kaggle has ranked me against hundreds of teams.

Around that core I deliver complete systems: iOS and Android apps, ERP systems for institutions, and MARSAD, a national awareness platform. AI is my team, Claude Code included: I decide what gets built, I test it, and I answer for every release. That is how one engineer delivers what usually takes a team.

What I will defend at a whiteboard

  • Training and fine-tuning models
  • Computer vision
  • Retrieval and RAG evaluation
  • Finding leaks and lying metrics
  • Reading PyTorch from the inside

What I deliver around it

  • Web platforms and APIs
  • iOS and Android apps
  • ERP and accounting systems
  • Security and GIS platforms
  • Deployment and servers

Epoch 01 · Right now

The AI competitions I am in today.

A leaderboard doesn’t read CVs, which is why I keep going back. One has just finished; the others are running as you read this.

Checked on Kaggle, 7 November 2026.

A gold medal on violet velvet, AI-generated illustration

Epoch 02 · 2023

First place, twice in one year.

I studied Information Engineering at Al-Nahrain University in Baghdad. In 2023 I took first place in two hackathons: one with brain scans, and one with a mirror that took me to Germany on a DAAD scholarship.

Epoch 03 · Germany

First place took me to Germany.

Winning the CORTISSS “Sustainable IoT” hackathon, a programme between Al-Nahrain University and Germany’s Offenburg University, earned me a scholarship from DAAD, the German Academic Exchange Service. It took me to Offenburg University to study embedded IoT development on ST’s STM32F4 evaluation board. Of everything on this page, it is what I am proudest of.

In the lab at Offenburg University. I am on the left.
At the bench. The ST evaluation kit is on the desk; I am at the back.
Offenburg University, Germany.
  1. 01

    First place

    Nine teams and an international jury that included Prof. Dr. Axel Sikora. I won with a smart mirror.

  2. 02

    A DAAD scholarship

    The prize: a scholarship from the German Academic Exchange Service to study in Germany.

  3. 03

    Offenburg University

    Embedded IoT development on the STM32F429I, hands-on in the university’s labs.

Read how the mirror won

Epoch 04 · My field

I am a machine-learning engineer.

More than an AI engineer. I prepare the data, train the model, measure it, and find out why the number is lying. That is my craft, and it has been tested in public: on Kaggle’s leaderboards and in PyTorch’s code review.

Epoch 05 · Research

I run the experiment even when it proves me wrong.

I wanted the quantum models to win. On the same medical data, over five stratified splits, three classical models beat two quantum ones by more than 25 points. So that’s what I wrote down.

Accuracy on Wisconsin Diagnostic Breast Cancer, 4 qubits, mean of 5 splits

Accuracy on Wisconsin Diagnostic Breast Cancer, 4 qubits, mean of 5 splits
ModelAccuracy %SD
Neural net (MLP)95.21.3
Logistic regression94.51.1
SVM (RBF)94.20.8
Quantum-kernel SVM68.36.4
Variational quantum61.55.2
Bars show mean accuracy; whiskers show one standard deviation. Paired t-test against the best quantum model: p ≈ 8×10⁻⁴.

Epoch 06 · Built and shipped

From models to products.

I don’t stop at the model. Below are complete systems I designed and built: ERP systems for institutions, iOS and Android apps, websites, and a national platform. AI is my team: I decide what gets built, I test it, and I answer for it.

Baghdad, in MARSAD’s 3D digital twin.

The biggest thing I’ve built

MARSAD

A national awareness platform for Iraq: one Arabic operator screen over live global monitoring, threat intelligence and physical security, designed to run with no internet at all. I built it on proven open-source foundations and extended it into an Iraqi system: GIS and 3D, physical security, identity, and a 50-document engineering package.

~500live sources
125operator panels
1,190commits
50engineering documents
Watch the film and read the story Baghdad, in MARSAD’s 3D digital twin.

Products · On the phone

Apps, one at a time.

2026

Yalla

My own product, built to replace Waze in Iraq

Checkpoints, potholes and offline maps, for how Iraqi roads actually are.

Watch the film
Yalla

2026

Greenland

Live on the App Store

An Arabic-first plant marketplace, with an AI plant doctor.

Watch the film
Greenland

2026

Wedora

A wedding planner

Budget, guests and vendors, designed like a printed invitation.

Watch the film
Wedora

2025 – 2026

Waraq

A life that grows like a tree

A journal where every memory is a leaf.

Watch the film
Waraq

2026

Iraqi Diamond Exchange

Flutter, Arabic and English

Valuing diamonds and precious metals, in dollars and dinars.

Watch the film
Iraqi Diamond Exchange

2024

Fara

Scooter sharing for Iraq

QR unlock, live tracking and real vehicles talking over MQTT.

Watch the film
Fara

2026

App Store delivery

MIRA and Stitch & Sell

I didn’t write these. I got them live, which is its own skill.

The whole story
Other people’s apps, through the App Store

Products · On the desk

ERP systems for real institutions.

2026

GEO ERP

Al-Qabas Economic Group

A whole holding group, on one system.

Watch the film
GEO ERP

2026

NCGDM

Portal, ERP and identity

A national geo-portal, an ERP and a 44-page identity for one centre.

The whole story
National Center for Geospatial Data Management

2026

Dawam

Leave and official duties

From someone’s static mockup to an audited workflow system.

The whole story
Dawam

2025

Secure Institutional ERP

Government-grade, 29 modules

Four clearance tiers, row-level security, an audit log nobody can edit.

Watch the film
Secure Institutional ERP

Products · On the web

Websites that tell a story.

2024 – 2026

Websites

Ocean Sky and others

Companies, NGOs, doctors. Each with its own domain and server.

Watch the film
Websites, for the pleasure of it

Epoch 07 · Who has trusted me

Institutions trust my work.

November 2026

Across the table from Saad Maan

A meeting with Saad Maan and his team about MARSAD, among the flags of Iraq’s security services.

October 2026

At the Council of Representatives

I was at Iraq’s Council of Representatives for the discussion of the draft Cybercrimes Law.

October 2026

A letter of thanks from the National Security Advisory

For my work as a volunteer programmer at the National Center for Spatial Data Management, on the workshop that reviewed the draft Cybercrimes Law and a proposed authority or ministry for digital transformation, held on 22 September 2026. Shown as an excerpt: the signature and the other names on the list are left out.

T++ and the AI Academy, Illustration, AI-generated

And I give it back

T++ and the AI Academy

I co-founded T++, a small studio and tech school, and wrote 13 bilingual courses that work offline.

The archive

Everything I’ve made.

Or close to it: client work, research, products and experiments. Some belong to clients and stay private. Filter by kind.

94 projects

Epoch 08 · Now

Bring me the hard problem.

A model that’s lying to you, a system your institution needs, an idea that should be a product: I take it from data to a working release. Write to me.

eyad@eyadai.dev
IEEE Big Data: Traffic Flow Bench

Illustration, AI-generated

2026 IEEE Big Data challenge

IEEE Big Data: Traffic Flow Bench

The challenge was predicting when traffic queues form and how they grow. It closed on 7 November 2026 and I finished 88th of 801 on the private leaderboard, with 0.87520: the top 11%. The public leaderboard had me at 71st, but the private one is scored on a month nobody had seen, and that is the one that counts.

My favourite moment was a bad one: I found a leak in my own validation, which meant every number I had been believing was inflated. Fixing that was worth more than any model I trained.

What worked: U-Net models for the state of the traffic, a bagged gradient-boosting model for when a queue starts, and a boosted model for queues already under way, trained on windows built to look like the official ones and without memorising places. That last piece gave the biggest gain on the hidden month. No forecast was allowed to see data from after its own moment, which is both the organisers’ rule and the lesson the leak taught me.

What it taught me

The most valuable bug is the one that was flattering you.

Next storyGoogle Quantum AI
Google Quantum AI: Verifiable Quantum Circuit Compilation

Illustration, AI-generated

Verifiable Quantum Circuit Compilation

Google Quantum AI: Verifiable Quantum Circuit Compilation

Google Quantum AI asks for quantum circuits compiled as cheaply as possible, in a way that can be checked. It is pure optimisation with no room to hide, which is why I like it. It also follows on directly from my own quantum research.

Next storyNeurIPS 2026: Smart Buildings
NeurIPS 2026: Smart Buildings

Illustration, AI-generated

NeurIPS 2026 competition

NeurIPS 2026: Smart Buildings

The task is to control the heating and cooling of simulated buildings, spending less energy and carbon without making the people inside uncomfortable. The scored buildings are hidden, so I test my controllers on buildings they have never seen before I believe any result.

Next storyName That LLM
Name That LLM

Illustration, AI-generated

Which model wrote this?

Name That LLM

Read a piece of text and say which of 18 frontier language models wrote it. It’s a strange and fun problem, and thousands of teams are working on it.

Next storyMisconception Detection in K-12 Math
Misconception Detection in K-12 Math

Illustration, AI-generated

Reading children’s working

Misconception Detection in K-12 Math

Given a student’s written working in maths, find the misconception that led to the wrong answer. As someone who teaches, I find this one the closest to home.

Next storyNeuroScan
NeuroScan

Illustration, AI-generated

Brain-tumour MRI, explained

NeuroScan

It began as a month-long AI hackathon by Computiq and GIZ: a CNN trained on more than 20,000 brain scans. It reached 99.93% and took first place.

Then I learned to distrust numbers like that. When I rebuilt the project on ResNet-50, about 99%, I audited my own run and found the test set had also been used for validation and early stopping. That is leakage, so the figure is optimistic. The README says so in plain words, and now so do I.

What I kept working on was the harder question: can a model show its reasoning? NeuroScan sorts a scan into glioma, meningioma, pituitary or no tumour. Grad-CAM paints where it looked, and a local LLM drafts a report. Nothing leaves the machine.

What it taught me

A high number is where the investigation starts, not where it ends.

For research and education only. Not a medical device.

NeuroScan pipeline, architecture, model head and training curves

Next storyModels in production
Models in production

Illustration, AI-generated

Al Habbar and Ashur Banipal

Models in production

At Al Habbar I trained and deployed YOLO detection models, with pipelines on Roboflow, Python and Conda. I fine-tuned LLaMA models, integrated LiquidAI LFM2-VL-3B and Qwen-1.5B, and served them from RunPod GPUs behind Cloudflare tunnels. I owned it from the dataset to the endpoint.

At Ashur Banipal the problem was paperwork. I combined hybrid RAG with a fine-tuned Qwen2.5-32B so commercial invoices came out correct in context. I also built an analyser for Bills of Lading and Sea Waybills, multi-page and multi-container with HS-code lookups, and automated certificates of origin.

What it taught me

Most of production ML is preparing data and deciding what counts as correct.

Next storyMaktaba
Maktaba

Illustration, AI-generated

RAG over a whole library

Maktaba

Ask a question and get an answer from your books, with the book and page beside it. Maktaba is built for more than 1,000 Arabic and English books, about 400,000 pages, and it can run with no internet at all.

Scanned Arabic is where most pipelines die, so every page is classified first. Native text goes straight through. Scans go to OCR: Surya, Tesseract or Qwen2.5-VL. BGE-M3 writes dense and sparse vectors into Qdrant, with reranking on top.

Factual questions search passages. Questions about a whole book search chapter and book summaries, then drill down. That routing is the part I care about most.

What it taught me

Retrieval quality is decided long before the model sees the question.

Next storydocextract
docextract

Illustration, AI-generated

Documents that never leave your machine

docextract

A local engine that turns scanned or digital documents into faithful Markdown, JSON, DOCX, HTML and searchable PDF: tables with merged cells, equations as LaTeX, and handwriting. No cloud and no API keys.

Surya handles layout and recognition, Tesseract cross-checks it, and Qwen2.5-VL on llama.cpp takes figures, equations and handwriting. Then it reads each document, names it, translates it and files it into a searchable library on your own machine.

What it taught me

Faithful beats clever. A table that loses one merged cell is a wrong document.

Next storyDalel
Dalel

Illustration, AI-generated

Iraqi law, answered from the source

Dalel

A legal assistant that answers in Arabic from the harvested corpus of Iraqi legislation: about 43,700 laws, 95,000 indexed articles and 2,600 Court of Cassation decisions.

Exact lookup runs first, then hybrid retrieval with BGE-M3 and BM25, then reranking, then an answer with its sources beside it. Repealed law is filtered out hard, because a confident answer built on a dead article is worse than no answer at all.

What it taught me

In law, the citation is the product. The sentence around it is packaging.

Dalel on the web: an answer, its source, the article, and search

Dalel on the phone

Next storyVerified drug data
A drug fact that cannot point at the wrong drug

Illustration, AI-generated

Scrapper Pro and the Shifa knowledge base

A drug fact that cannot point at the wrong drug

A free dispensing-safety checker for pharmacies in my region needs data that cannot be wrong in a dangerous way. The rule I set was that it must be mathematically impossible to attach an adverse effect to the wrong drug.

So every fact has to be a byte-exact substring of the SHA‑256-pinned source section it claims. Drug identity flows only through setid, RxCUI and UNII, and fuzzy name matching is banned by a lint. Anything that fails is quarantined, never degraded.

I rejected Medscape as a source over robots.txt, licensing and unprovable provenance, and rebuilt on public-domain FDA labels. The knowledge base holds 138,516 current human labels and about 1.88 million verbatim sections, independently re-derived with zero failures, and keyed to Iraq’s national list of 3,209 items.

What it taught me

Silent data loss is the real enemy. Two parsers that seemed to work would have dropped warnings for most labels without raising a single error.

Still open: pharmacist sign-off, and a scored pairwise interaction matrix.

Next storyThe smart mirror
The mirror that took me to Germany

Illustration, AI-generated

1st place, Sustainable IoT hackathon · DAAD scholarship

The mirror that took me to Germany

CORTISSS is a programme between Al-Nahrain University and Germany’s Offenburg University. Its Sustainable IoT hackathon had nine teams and an international jury that included Prof. Dr. Axel Sikora. I took first place with a mirror.

It recognises your face with OpenCV, greets you in Arabic or English through the ChatGPT API, speaks with Amazon Polly and can generate an ID card. It runs as a module for MagicMirror².

First place came with a DAAD scholarship. I travelled to Germany, to Offenburg University, the German half of the CORTISSS programme, to study embedded IoT development on the STM32F429I microcontroller board.

Of everything on this page, this is the one that means the most to me. A mirror I built in Baghdad took me to study in Germany, on a scholarship I earned by winning.

What it taught me

People remember the thing that talks to them.

Eyad Qasim Raheem, left, with two colleagues in a computer lab at Offenburg University, Germany
Offenburg University, Germany, on the DAAD scholarship. I am on the left.

In the labs at Offenburg University

Next storyLung-cancer risk
Lung-cancer risk

Illustration, AI-generated

My final-year project

Lung-cancer risk

My final-year project at Al-Nahrain predicts lung-cancer risk from clinical data with Random Forest and XGBoost ensembles. The data was badly imbalanced, so SMOTE did real work.

It reached 98.96% on the test set. It also left me with the question I now ask before anything else: what is this accuracy hiding?

What it taught me

Accuracy is the easiest number to like and the easiest to fool yourself with.

For research and education only.

Next storyThree commits in PyTorch
Three commits in PyTorch

Illustration, AI-generated

Open source

Three commits in PyTorch

Everything that lands in PyTorch gets past maintainers who owe you nothing. Three of mine have: a fix for lost-wakeup races that truncated tailed log output in elastic, a type-level rejection of Tensor @ scalar, and a check that rejects non-positive pixel_shuffle factors on the meta device.

More are still open: shape validation in the _refs decompositions, __repr__ for LR schedulers, file-descriptor redirection in elastic launchers. There are three open pull requests in SGLang and one in vLLM. I also wrote a Triton log10 GPU kernel for FlagGems, for the FlagOS Open Computing Global Challenge in March 2026.

I find these by reading code, not by racing for issues. The issue backlog in a project that size is often stale, so I verify a bug on a nightly build before I touch it.

What it taught me

A small correct fix, explained well, is how a stranger earns trust.

Next storyQuantum vs classical
Quantum communication, and an honest loss

Illustration, AI-generated

Research

Quantum communication, and an honest loss

I built a two-qubit communication stack on Qiskit Aer: Bell pairs, teleportation of 300 random states, superdense coding, and BB84 key distribution with an eavesdropper, including a two-device run where a TCP socket carried the classical channel.

Teleportation reached perfect fidelity on the ideal simulator and fell to 0.901 at 5% gate error. An eavesdropper pushed BB84’s error rate from 0% to 22.9%, far above the 11% abort line.

Then came the part I wanted to win. A quantum-kernel SVM and a variational classifier against three classical models, on the same breast-cancer data, over five stratified splits. Classical: 94 to 95%. Quantum: 61 to 68%. Paired t-test, p ≈ 8×10⁻⁴. At four qubits, quantum machine learning lost clearly, and the write-up analyses why: PCA information loss, kernel concentration, trainability.

What it taught me

A negative result you can reproduce is worth more than a positive one you can’t.

Accuracy on Wisconsin Diagnostic Breast Cancer, 4 qubits, mean of 5 splits

Accuracy on Wisconsin Diagnostic Breast Cancer, 4 qubits, mean of 5 splits
ModelAccuracy %SD
Neural net (MLP)95.21.3
Logistic regression94.51.1
SVM (RBF)94.20.8
Quantum-kernel SVM68.36.4
Variational quantum61.55.2
Bars show mean accuracy; whiskers show one standard deviation. Paired t-test against the best quantum model: p ≈ 8×10⁻⁴.

Figures from the research

Next storyCopper corrosion
How fast copper corrodes

Illustration, AI-generated

Scientific computing

How fast copper corrodes

A physics-based model of how corrosion layers grow on copper, Cuprite and Brochantite, fitted to measurements at 40 °C, 100% humidity and 200 ppm SO₂.

Using Fick’s law and swelling parameters it estimates how O₂, SO₂ and H₂O diffuse through those layers, in two ways: sequentially from literature-based starting guesses, and all at once in a global fit with differential evolution.

What it taught me

Not every model needs a neural network. Sometimes it’s an equation and honest data.

Next storyExtreme quantization
Extreme quantization

Illustration, AI-generated

An open question

Extreme quantization

A question I keep returning to: can code-generation LLMs survive 2-, 3- and 4-bit quantization and stay useful? I designed a benchmark across Qwen2.5-Coder, DeepSeek-Coder and StarCoder2 on HumanEval.

An audit of my own harness found it duplicated function signatures before running them, which would have pushed pass@1 down across the board, and that the title promised 2-bit methods the code did not implement yet. So there are no results here. I would rather show you an empty table than a wrong one.

Next storyMARSAD
MARSAD

Real screen

National awareness platform for Iraq

MARSAD

The full MARSAD film, 3:40, in Arabic with sound. The English subtitles translate the captions on screen.
An unedited walkthrough of the application, 2:24.

MARSAD (مرصد, “observatory”) puts live global monitoring, threat intelligence and physical security behind one Arabic operator screen. It is designed for air-gapped deployment inside Iraq.

It stands on proven open-source work, and I credit it. The monitoring dashboard is built from World Monitor, the open-source project by Elie Habib, and that part stays under its AGPL-3.0 licence. OpenCTI and MISP run as published services, connected through adapters against their APIs rather than forks, so each can update on its own. What I added around them: an Iraqi GIS and 3D layer, a PSIM layer for cameras, access control, video walls and incidents, an API gateway and identity, and a 50-document engineering and compliance package.

It also taught me how to build with AI at scale. MARSAD was built in waves of Claude Code agents working in parallel git worktrees, under ten rules I wrote: evidence or it did not happen, never fabricate, never weaken a test to go green. Progress is not a number anyone types. A command re-derives it from an 86-row acceptance ledger, and in September 2026 it read 76.7%. Much of what is left waits on real hardware and a real isolated network, which no amount of code can fake.

The first version is now archived as the live demo. MARSAD-Next, a clean-room rebuild that I will fully own, is at the design-prototype stage.

What it taught me

With AI, the rules you write matter more than the code you read.

MARSAD screens: Baghdad in 3D, the region, Iraq, and the command view

Next storyGEO ERP
GEO ERP

Real screen

Al-Qabas Economic Group

GEO ERP

The demo build in use, 0:30. Every name and figure in it is invented.

One web system for a whole holding group: companies, projects, fleet, warehouse, HR, double-entry accounting, archive and messaging. Arabic first, with an English toggle.

It runs on real data, not a demo: 116 vehicles, 1,006 warehouse items, and the client’s real chart of accounts, transcribed from a handwritten one. A journal that doesn’t balance doesn’t post, and the server enforces that.

About 56,000 lines of TypeScript on the front end and 23,000 on the server. I built it with Claude Code, and then built a course to make sure I understood every part of it.

GEO ERP demo build, every name and figure invented

Next storyNCGDM
National Center for Geospatial Data Management

Real screen

Portal, ERP and identity

National Center for Geospatial Data Management

One centre, under Iraq’s National Security Advisory, and three kinds of work. A bilingual national GIS portal that brings together more than 16 government bodies, with a 13-section content system behind it. An Arabic ERP for the centre itself, covering HR, internal mail, calendar, tasks and training. And a 44-page brand identity, built around their seal.

The national geo-portal

Next storyDawam
Dawam

Real screen

Leave and official duties

Dawam

A leave and duties system for a government institution. It began as a static mockup. I made it real, first with nothing but Node’s built-ins, then as a Django modular monolith, keeping the legacy app runnable as an executable specification and checking parity against 20 screenshots.

The definition of done is enforced, not hoped for: every endpoint authenticated and role-checked, every state change audited with actor, action, target and result, no stack traces in error replies, and one make gate that must pass.

Dawam screens with sample data

Next storySecure Institutional ERP
Secure Institutional ERP

Real screen

Government-grade, 29 modules

Secure Institutional ERP

The demo in use, 0:25, with invented records.

A bilingual ERP with 29 backend modules: identity, payroll, procurement, fleet, GIS, incidents, helpdesk and finance. Access is role-based with four clearance tiers, enforced on the server, with PostgreSQL row-level security beneath it and an append-only, tamper-evident audit log beside it.

It has an offline AI assistant that answers natural-language questions, filtered by what your clearance lets you see. CI fails the build on ruff, mypy, pytest, bandit, semgrep or gitleaks.

Secure Institutional ERP demo, with sample data

Next storyYalla
Yalla

Real screen

My own product, built to replace Waze in Iraq

Yalla

The real app, 0:53. I search, it finds the route, then it guides a simulated GPS drive across Baghdad on the real road network.

Navigation for how Iraqi roads actually are: accidents, checkpoints, potholes, flooding, signal loss, and maps you can download per governorate. Baghdad first.

I chose a fully open, self-hosted stack, because only your own router can route on your own live speeds: Valhalla for routing, Protomaps tiles, my own Arabic and Kurdish search on PostGIS, Flutter on the phone with CarPlay and Android Auto, FastAPI behind it, and a React admin.

It was built lane by lane with Claude Code agents in parallel worktrees. It is finished in code and waiting on the last human steps: a store name, signing and a real drive.

Yalla app screens

Next storyGreenland
Greenland

Real screen

Live on the App Store

Greenland

The full buyer and seller tutorial, 2:44.

An Arabic-first marketplace for an Iraqi nursery business, live on the App Store since June 2026. You can browse as a guest, book services, and sell once you’re approved.

The part I enjoyed most is the plant doctor: photograph a sick plant and an open-source vision model diagnoses it, with an honest confidence score instead of a confident guess. Expo and React Native on the phone, Node and PostgreSQL behind it, in Arabic, English and Kurdish.

Greenland on the App Store

Next storyWedora
Wedora

Real screen

A wedding planner

Wedora

The real app with sample data, 0:50: budget, guests, tasks, vendors, then the invitation.

A wedding planner that looks like an invitation suite: old paper, a sepia printed map of the venue, pages that slide like cards. Budget, guest list, tasks, vendors and invitations you can send.

I wanted to see how far an app could get from looking like an app. On TestFlight, on Expo with Cloudflare Workers behind it.

Wedora app screens with sample data

Next storyWaraq
Waraq

Real screen

A life that grows like a tree

Waraq

The film inside the app.

An Arabic-first journal where your life grows as a tree in your own garden, one photo memory at a time. Waraq means paper, and leaves. Warm and literary, right-to-left from the first line of code, with a companion iOS app.

Waraq app screens

Next storyIraqi Diamond Exchange
Iraqi Diamond Exchange

Real screen

Flutter, Arabic and English

Iraqi Diamond Exchange

The real app on its demo account, 0:39: pricing a 1.5-carat stone, then the history and appointments.

A Flutter app and website for an Iraqi exchange, valuing diamonds and precious metals in dollars and dinars, on an Express and PostgreSQL backend that I moved off Supabase onto a self-hosted database.

Diamond Exchange app screens

Next storyFara
Fara

Real screen

Scooter sharing for Iraq

Fara

The real app on a demo scooter with simulated GPS, 0:38: unlock, ride, end, receipt.

A Lime-style micromobility platform for Iraq: an Expo rider app with live maps and QR unlock, Express with PostGIS for the geospatial queries, Redis, Socket.io for live updates, MQTT for telemetry from the vehicles, and an operations dashboard with a marketing site.

Fara rider app

Fara operations dashboard

Next storyApp Store delivery
Other people’s apps, through the App Store

Real screen

MIRA and Stitch & Sell

Other people’s apps, through the App Store

Some of the most useful things I’ve learned came from code I didn’t write. MIRA Beauty Centers and Stitch & Sell were built by others. I took them through signing, review and release, and both are live on the App Store.

That meant repairing right-to-left layouts and bundle identifiers that regressed with every handoff, recovering signing after keys were lost in locked keychains, and calling a push-notification layer dead code instead of shipping it as a feature.

MIRA Beauty Centers on the App Store

Stitch & Sell

Next storyWebsites
Websites, for the pleasure of it

Real screen

Ocean Sky and others

Websites, for the pleasure of it

A walk through the Ocean Sky site, 1:26.

I build websites the way some people keep a garden. Ocean Sky for an Iraqi shipping company, Progress in Peace for a Sinjar peace-building NGO, a personal site in 3D for Dr. Ahmed Anwer, and many more. They are also where I practise what you’re looking at right now.

Ocean Sky, Dr. Ahmed Anwer and Progress in Peace

Next storyT++ and the AI Academy
T++ and the AI Academy

Illustration, AI-generated

Teaching it back

T++ and the AI Academy

I co-founded T++, a three-person builder studio and tech school that teaches by handing students real projects to own.

For it I wrote a 13-course bilingual curriculum that runs offline, from web anatomy and databases through DevOps and cybersecurity to machine learning, agentic AI and deep learning. Each course has its own world of analogy: machine learning is taught through falconry, databases through a library.

I also teach Python-to-AI classes with my own decks, How Machines Learn and Talking to Machines. I’ve lectured on AI with the Iraqi National Research Center and the National Security Advisory, and run workshops at the University of Baghdad and Al-Nahrain.

What it taught me

If I can’t explain it with a falcon, I don’t understand it yet.

Next storyIEEE Big Data: Traffic Flow Bench