S

Head of AI/ML · Dubai, UAE

Shehab Hassani

Two years of experience as an engineer, and a master's in Analytics & AI from Imperial College London, ranked second in the world. I like to build distributed, scalable systems. Most recently an AI Implementation Strategist at RBC, researching how agentic AI tooling integrates into global equities divisions.

01 — Education

Two degrees, both First Class.

Aug 2025 — Aug 2026London, UK

Imperial College London

MSc Business Analytics & AI · First Class Honours

AI / Machine Learning

  • Machine Learning
  • Advanced Machine Learning
  • Deep Learning
  • GenAI & LLMs

Mathematics

  • Maths & Stats
  • Stats & Econometrics
  • Financial Maths
  • Graph Theory
  • Optimisation

Data & Systems

  • Databases
  • Data Structures & Algorithms
  • Data Wrangling
  • Retail Analytics
  • Logistics Analytics

Dissertation on a contextual multi-armed bandit for promotional offers, below.

Sept 2022 — June 2025London, UK

University College London

BSc Information Management · First Class Honours

Analytics

  • Predictive Analytics
  • Business Analytics
  • Business Intelligence

Data & Systems

  • Database Systems
  • Information Systems

Programming

  • Programming for Business Analytics
  • Programming I & II
  • Software Engineering
  • Web Development

Fig. IThe dissertation's method: Thompson sampling on three offers over 240 pulls. The readout is measured off the history.

02 — Work

Roles, newest first.

Jun 2026 — presentLondon, UK

Royal Bank of Canada

AI Implementation Strategist

Researching how AI and LLM tooling integrates into investment research for the global equities team: which steps of the process they can take, and how to check the result.

Jun 2025 — presentDubai, UAE

Areednow

Founding Engineer

An online grocery retail delivery platform, areednow.com, delivering FMCG at scale.

  • Six front ends from one monorepo on Amplify: customer, driver, warehouse, admin, support and analytics.
  • A Postgres-first backend: about 230 RPCs under row-level security, 31 edge functions, PostGIS geofencing and pgvector search.
  • An analytics plane that never touches the live database: change capture into an S3 lakehouse, Athena over Iceberg, hourly marts.
  • Building a contextual multi-armed bandit that chooses which promotion to offer, at what discount, for how long.
  • Fleet tooling: order allocation across the fleet, and TSP-based route optimisation for each vehicle.
Apr 2025 — Jun 2025Dubai, UAE

Hassani Group of Companies

Machine Learning Engineer

  • Built an AI-native HR analytics platform for process analysis and optimisation.
  • Architected and deployed an end-to-end fleet management system.
  • Implemented a capacitated vehicle routing (CVRP) solver to plan logistics across the distribution network.
May 2024 — Aug 2024Dubai, UAE

Hassani Group of Companies

Data Engineer

An automated sales-data pipeline from harvesting through cleaning, aggregation, streaming and storage; then customer analysis and clustering on top of it to find market cohorts the business was not yet selling to.

Dec 2020 — Jun 2022United Arab Emirates

National Service

Recruit · United Arab Emirates

Ranked first of a national service cohort of more than 1,000 soldiers.

Fig. II aOrder allocation across the fleet: 48 orders, 4 vans of 13, assigned by regret and re-centred until the drive stops falling.

01 Clients · Amplify 02 Postgres, the application 03 Around it 04 Models 05 Analytics plane ORDERS POSITION LIVE TRACK WHATSAPP JWT RPC CALLS WEBHOOKS CACHED READS EVENTS IMAGES VECTORS REPLENISH ORDERS CHANGES HOURLY MARTS CUSTOMER PWA DRIVER WAREHOUSE ADMIN SUPPORT ANALYTICS 230 RPCS · RLS REALTIME POSTGIS GEOFENCE PGVECTOR SEARCH SUPABASE AUTH WEBHOOKS EDGE FUNCTIONS REDIS · QSTASH OUTBOX · PGMQ IMAGE CDN BEDROCK EMBEDDINGS DEMAND FORECAST DISPATCHER DMS CDC · FIREHOSE S3 LAKE · ICEBERG GLUE · ATHENA LAMBDA → MARTS 01 Clients · Amplify 02 Postgres, the application 03 Around it 04 Models 05 Analytics plane CUSTOMER PWA DRIVER WAREHOUSE ADMIN SUPPORT ANALYTICS 230 RPCS · RLS REALTIME POSTGIS GEOFENCE PGVECTOR SEARCH SUPABASE AUTH WEBHOOKS EDGE FUNCTIONS REDIS · QSTASH OUTBOX · PGMQ IMAGE CDN BEDROCK EMBEDDINGS DEMAND FORECAST DISPATCHER DMS CDC · FIREHOSE S3 LAKE · ICEBERG GLUE · ATHENA LAMBDA → MARTS

Fig. II bThe Areednow platform as built: six clients on one Postgres, the edge functions and outbox around it, the models it calls, and the analytics plane fed by change capture. Hover a layer.

Areednow v2 — one monorepo, six front ends, one Postgres

Customer

shoppers · PWA · iOS WebView

Browse, cart, Stripe checkout, live order tracking over Realtime.

Driver

drivers · PWA

Route stops, a location ping every few seconds, messages with the customer.

Warehouse

pickers · handheld PWA

A live picking queue, packing, dispatch; the floor's only screen.

Admin

operations · web

Catalogue, inventory, purchase orders, returns and rebates, dispatch.

Support

agents · web

Order messages and WhatsApp through Twilio, in one queue.

Analytics

analysts · web

Marts from the lakehouse, so analysis never touches the live database.

Before it, and beside it

Areednow Delivers

customers · Capacitor iOS · Android

The first customer app: push through FCM, KNN semantic ordering of the catalogue.

Core ERP

admin · warehouse · Capacitor · ML-Kit

The first back office: inbounds, purchase orders, rebates, barcode scanning on the floor.

Price monitor

pricing · FastAPI · Playwright · Next.js

Competitor prices scraped on a schedule, signals to Slack, a dashboard over its own Postgres.

Fig. II cThe applications, each with who uses it and what it runs on. Six ship from one monorepo; the two v1 apps and the price monitor stand apart.

03 — Projects

Built, and measured.

Four projects, numbered newest first and each built by me alone, end to end. Each says what it was and what problem it solved, and carries a figure that computes the method it used.

01/ 04

JJRAG

A rules chatbot for Jiu Jitsu competitors, coaches and referees.

I built a retrieval-augmented chatbot over the IBJJF, ADCC and AJP rulebooks, with a fine-tuned retriever, a semantic cache and an LLM judge validated against human labels. It solves the problem of three rulebooks that disagree and change every season, and of chatbots that answer without a source: every answer cites the section it came from and the hallucination rate is measured.

0.92

III aTop-k retrieval by cosine on a ring of chunk embeddings. The arcs are the semantic cache at the τ set below.

02/ 04

GIX

A spot market for GPU compute and inference capacity.

I built a decentralised exchange where owners of idle GPUs post asks, workloads post bids, and the market clears at the crossing. It solves the mismatch of GPUs sitting idle on long contracts while small inference jobs queue or overpay for on-demand instances.

III bEight jobs to six GPUs: a greedy first-fit pass, then the optimal assignment by the Hungarian method. Both costs measured.

03/ 04

Agro

A crop disease prevention and detection system for farmers.

I used ML, forecasting models, optimisation and network diffusion models to detect crop diseases from images, estimate their spread to other farmers, and forecast medicine requirements and the shortest delivery times. It solves the three problems a farmer has at once: what the disease is, whether the treatment is in stock, and whether the neighbouring farms are next.

III cAn SIR epidemic over 50 farms and their 4 nearest neighbours. Infected in the accent, recovered filled.

04/ 04

LSTM reviews

A review generator, and a detector that catches it.

I built a from-scratch BPE tokeniser, an LSTM language model that writes Amazon-style reviews, and a 1D-CNN discriminator that detects them at 91% accuracy. It answers the two questions a review platform cares about: how convincing a small model's fakes can get, and whether they can still be caught.

III dByte-pair encoding on a review corpus. The most frequent pair merges each step; a sentence retokenises.

04 — Research

Which offer, at what discount, for how long.

MSc dissertation at Imperial: a contextual multi-armed bandit for promotional offerings that chooses the product, the discount and the duration together, built on Jain et al. (2023) and Ban and Keskin (2020). The same system is going into production at Areednow, where the context is a live grocery basket and the reward is margin, not a simulated click.

Fig. IVA contextual bandit: the best offer flips with basket size, and one posterior per offer and context learns it. Regret against a context-blind bandit on the same arrivals.

05 — Skills

Where each tool sits.

This is the tech stack I use regularly, sorted by engineering role and by the layer of the system where each tool runs. The columns are the three roles: software, AI/ML and data engineering. The rows are the layers of a production system, from the client down to the infrastructure. Read down a column for the reach of a role, and across a row for what runs at a layer.

Software engineering
AI / ML engineering
Data engineering
01Client
02Edge & API
  • AWS Load Balancer
03Streaming & Cache
04Services
05ML & Optimisation
  • OR-Tools
  • NetworkX
  • Bandits
06Analysis
  • statsmodels
  • AWS Athena
07Data
  • PostGIS
  • AWS Glue
08Infrastructure

Fig. V32 tools across three disciplines and eight layers. Each is placed once, where it was used most. Hover a cell to read its lane and band.

06 — Languages

Spoken, and written for machines.

Spoken

  • Englishnative
  • Arabicnative

Programming

  • SQL

07 — Hobbies

Off the desk.

Three of them, and each one is a search problem: a position, a set of legal moves, and a cost of getting it wrong. Each gets the figure it earned.

01 — Jiu Jitsu

African, Asian and World champion, 2023.

Blue belt, competing at −70 kg since 2021. The rulebooks I trained a chatbot on are the ones I compete under.

02 — Chess

Slow games, and the endgame studied first.

Peak 1314 on chess.com. Ruy Lopez as White, Caro-Kann as Black. The board beside plays both from the move list, and turns round for the second.

03 — Rubik's cube

40.00 seconds on a 3×3.

A personal best to the hundredth. Forty-three quintillion positions, and every one of them is at most twenty moves from solved.