WORK

WHAT I'VE BUILT SO FAR

Three builds have case studies behind them. The rest are smaller — real, finished, and listed with what they were made of.

CASE STUDIES3

OmniDiagexplainable clinical decision support

A clinical decision support system with two modules, coronary disease and dysglycaemia screening. Each answers refer, no referral or uncertain, with a calibrated interval and the reasons behind the answer.

OmniDiag result panel reading Refer — confirmatory testing recommended, with the calibrated interval 85.9%–87.1%
the result panel: a decision and its calibrated interval, not a bare score
CONSTRAINT
No threshold and no risk bands. The probability's meaning does not transfer between hospitals, so the model answers with a decision, not a score.
DECISION
A spline GLM calibrated with Venn-Abers and a conformal decision split by sex. "Uncertain" counts as a referral everywhere, and about 40% of patients land there.
OUTCOME
AUC 0.802 coronary0.752 dysglycaemia

AI-Sourcing Hubcross-border B2B sourcing

Connects Jordanian importers to Chinese suppliers: a landed-cost engine, an OCR pipeline for supplier catalogues, and an LLM extraction chain with provider failover.

AI-Sourcing Hub landed-cost calculator: a product line, then the CIF stage and the customs-and-fees stage, line by line
cost breakdown — every line traceable to a tariff row
CONSTRAINT
A landed cost nobody trusts is a number nobody uses — it had to be auditable line by line.
DECISION
Three stages — CIF, customs, commercial — with AST-safe evaluation of the tariff formulas instead of eval.
OUTCOME
HS-code tariff tables; extraction survives a provider outage

EMG Gesture Classificationsignal processing under hard constraints

Four-gesture classification from a single forearm EMG channel with a small subject pool. Diagnose the data first, then clean it, then engineer features.

Bar chart: a classifier scores 45.0% on the real 20 Hz EMG recordings and 56.5% on synthetic Gaussian noise of the same shape; chance is 25%
real recordings scored below matched noise — the problem was the sampling rate
CONSTRAINT
One channel, small subject pool. No second sensor to fall back on.
DECISION
Test the data against matched noise before tuning models. That traced the failure to a 20 Hz sampling rate. After a firmware fix to 500 Hz: fifteen handcrafted features across five families.
OUTCOME
≈55–60% on unseen subjects (LOSO)chance is 25%
AUTOMATION & RPA2

Excel report consolidation bot

UiPath Studio · Orchestrator

A UiPath automation that merges several Excel reports into one, builds pivot tables and charts, and publishes to Orchestrator.

COMPLETE

TODO — RPA build #2

UiPath · Excel · Outlook

One sentence: what does it automate, and whose time did it save?

IN PROGRESS
DATA ANALYSIS & VISUALISATION2

Berka banking analytics

Power BI · DAX

SQL and Power BI on eight tables of Czech bank data, asking one question: what separates clients who default from clients who repay?

COMPLETE

TODO — analysis #2

pandas · Plotly

One sentence: what question does it answer, and for whom?

COMPLETE
HARDWARE & ROBOTICS4

Pickaxe

Arduino · C++ · custom hardware

A custom game controller built in the Beyond the Screen programme — circuit design, Arduino firmware, and physical input mapped to real-time commands. First place, Irbid governorate.

COMPLETE

Face-tracking robot

OpenCV · Arduino

A mobile robot doing real-time face tracking with computer vision. Shown at the college exhibition.

COMPLETE

NLP chatbot

NLP · scikit-learn

Query understanding with classical NLP and a trained intent classifier. Shown at the college exhibition.

COMPLETE

Service robot deployment

SLAM · LiDAR · marker positioning · Pudu

Site mapping and live operation of Pudu service robots at public venues — LiDAR mapping, marker positioning, and a pre-deployment survey for glass, lighting and crowd movement.

COMPLETE